/* Transcending Personal Training
   Pricing page only. */


/* ==========================================================================
   Site styles
   ========================================================================== */

.rc-tax {
  font-size: 0.75em;
  color: #666;
  text-align: right;
  margin-top: 2px;
  font-weight: 400;
}

/* ==========================================================================
   Pricing calculator
   ========================================================================== */

.page-pricing .plans {
  padding:96px 5vw;
  background:var(--bg);
}

.page-pricing .plans-inner {
  max-width:1180px;
  margin:0 auto;
}

.page-pricing .plans-head {
  text-align:center;
  max-width:640px;
  margin:0 auto 44px;
}

.page-pricing .plans-head h2 {
  font-size:clamp(2.4rem,4.6vw,4rem);
  margin-bottom:14px;
}

.page-pricing .plans-note {
  text-align:center;
  color:var(--light);
  font-size:.84rem;
  max-width:620px;
  margin:30px auto 0;
  line-height:1.65;
}

.page-pricing .plans-note a {
  color:var(--red-dark);
  font-weight:700;
  text-decoration:none;
}

.page-pricing .plans-note a:hover {
  text-decoration:underline;
}

.page-pricing .pc-grid {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:36px;
  align-items:start;
  max-width:1180px;
  margin:0 auto;
}

.page-pricing .pc-step {
  margin-bottom:32px;
}

.page-pricing .pc-steptitle {
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:14px;
}

.page-pricing .pc-stepnum {
  width:33px;
  height:33px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-family:'Bebas Neue','Bebas Fallback',sans-serif;
  font-size:1.1rem;
  display:grid;
  place-items:center;
  flex-shrink:0;
  padding-top:2px;
}

.page-pricing .pc-steptitle h3 {
  font-family:'Bebas Neue','Bebas Fallback',sans-serif;
  font-size:1.5rem;
  letter-spacing:.04em;
  line-height:1;
  color:var(--ink);
}

.page-pricing .pc-opts {
  display:grid;
  gap:11px;
}

.page-pricing .pc-opts.cols3 {
  grid-template-columns:repeat(3,1fr);
}

.page-pricing .pc-opt {
  text-align:left;
  background:#fff;
  border:1.5px solid var(--border);
  border-radius:13px;
  padding:16px 17px;
  cursor:pointer;
  color:inherit;
  font-family:'Bricolage Grotesque','Bricolage Fallback',sans-serif;
  transition:border-color .2s,box-shadow .2s;
}

.page-pricing .pc-opt:hover {
  border-color:var(--ink);
}

.page-pricing .pc-opt:focus-visible {
  outline:2px solid var(--red);
  outline-offset:2px;
}

.page-pricing .pc-opt[aria-pressed="true"] {
  border-color:var(--ink);
  box-shadow:4px 4px 0 var(--red);
}

.page-pricing .pc-opt .t {
  font-weight:800;
  font-size:.93rem;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.page-pricing .pc-opt .t .tick {
  width:19px;
  height:19px;
  border-radius:50%;
  border:1.5px solid var(--border);
  display:grid;
  place-items:center;
  color:transparent;
  flex-shrink:0;
  transition:all .2s;
}

.page-pricing .pc-opt[aria-pressed="true"] .t .tick {
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.page-pricing .pc-opt .d {
  font-size:.76rem;
  color:var(--light);
  margin-top:5px;
  line-height:1.5;
}

.page-pricing .pc-opt .badge {
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--red-dark);
  white-space:nowrap;
}

.page-pricing .pc-receipt {
  position:sticky;
  top:96px;
  background:#fdfcf9;
  border:1px solid #d9d4c7;
  border-radius:3px;
  padding:26px 28px 22px;
  font-family:'Courier New',Courier,monospace;
  box-shadow:0 18px 44px rgba(23,23,26,.14);
  transform:rotate(.4deg);
}

.page-pricing .pc-receipt .rch {
  text-align:center;
  font-weight:700;
  font-size:.84rem;
  letter-spacing:.06em;
  border-bottom:2px dashed #cfc9ba;
  padding-bottom:12px;
  margin-bottom:14px;
  line-height:1.5;
  color:#2c2a24;
}

.page-pricing .pc-receipt .rch span {
  font-weight:400;
  font-size:.6rem;
  letter-spacing:.18em;
  color:#6f6a5e;
  display:block;
  margin-top:2px;
}

.page-pricing .rc-item {
  display:flex;
  align-items:baseline;
  gap:8px;
  font-size:.78rem;
  letter-spacing:.03em;
  padding:4px 0;
  color:#3d3a30;
}

.page-pricing .rc-item i {
  flex:1;
  border-bottom:2px dotted #cfc9ba;
  transform:translateY(-3px);
}

.page-pricing .rc-sum {
  border-top:2px dashed #cfc9ba;
  margin-top:12px;
  padding-top:12px;
}

.page-pricing .rc-tot {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-weight:700;
  font-size:1rem;
  color:#2c2a24;
}

.page-pricing .rc-tot .val {
  font-size:1.7rem;
  letter-spacing:.02em;
}

.page-pricing .pc-book {
  display:block;
  text-align:center;
  background:var(--red-dark);
  color:#fff;
  padding:15px;
  border-radius:8px;
  font-weight:800;
  font-size:.93rem;
  text-decoration:none;
  transition:all .2s;
  margin-top:18px;
  font-family:'Bricolage Grotesque','Bricolage Fallback',sans-serif;
}

.page-pricing .pc-book:hover {
  background:var(--red-d);
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(237,28,36,.35);
}

.page-pricing .rc-fine {
  text-align:center;
  font-size:.64rem;
  letter-spacing:.12em;
  color:#6f6a5e;
  margin-top:12px;
  text-transform:uppercase;
}

.page-pricing .rc-stamp2 {
  position:absolute;
  right:16px;
  top:14px;
  transform:rotate(9deg);
  border:3px solid rgba(237,28,36,.7);
  color:rgba(196,20,27,.9);
  font-family:'Bebas Neue','Bebas Fallback',sans-serif;
  font-size:1.1rem;
  letter-spacing:.12em;
  padding:3px 10px;
  border-radius:6px;
  pointer-events:none;
}

.page-pricing .pc-pop {
  animation:pcpop .35s cubic-bezier(.2,.9,.3,1.3);
}

.page-pricing .pc-receipt {
  min-height: 420px;
}

.page-pricing .pc-opts {
  min-height: 168px;
}

@keyframes pcpop { 0%{transform:scale(.94);opacity:.4} 100%{transform:scale(1);opacity:1} }

@media (prefers-reduced-motion:reduce) {
  .page-pricing .pc-pop {
    animation:none;
  }
}

@media (max-width:920px) {
  .page-pricing .pc-grid {
    grid-template-columns:1fr;
  }

  .page-pricing .pc-receipt {
    position:relative;
    top:auto;
    transform:none;
  }

  .page-pricing .pc-opts.cols3 {
    grid-template-columns:1fr;
  }
}
