/* Power Hour booking page - date/time picker and step layout.
   Builds on apply.css (form shell, success panel, honeypot) and the
   shared :root tokens in landing.css. */

.rc-power-hour-page .rc-apply-wrap{max-width:620px}

.rc-ph-price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}
.rc-ph-price{font-family:var(--font-heading);font-size:2rem;color:var(--ink)}
.rc-ph-price-sub{color:var(--muted);font-size:.9rem}

.rc-ph-step h2{font-size:1.1rem;margin-bottom:2px}

.rc-ph-times{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border);
}

.rc-ph-calendar{margin-top:var(--space-sm)}

.rc-ph-calendar__head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm);
}
.rc-ph-calendar__month{font-weight:600;color:var(--ink);text-transform:capitalize}
.rc-ph-calendar__nav{
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  background:var(--bg);border:1px solid var(--border);border-radius:50%;color:var(--ink);
  cursor:pointer;font-size:1rem;line-height:1;transition:border-color .15s ease,opacity .15s ease;
}
.rc-ph-calendar__nav:hover:not(:disabled){border-color:var(--accent)}
.rc-ph-calendar__nav:disabled{opacity:.3;cursor:default}

.rc-ph-calendar__weekdays,.rc-ph-calendar__grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:4px;
}
.rc-ph-calendar__weekdays{margin-bottom:4px}
.rc-ph-calendar__weekdays span{
  text-align:center;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;
}

.rc-ph-cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:.85rem;font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);
  border:1px solid transparent;background:none;color:var(--ink);font-family:var(--font-body);
  transition:border-color .15s ease,background-color .15s ease,color .15s ease,opacity .15s ease;
}
.rc-ph-cal-day.is-empty{visibility:hidden}
.rc-ph-cal-day.is-disabled{color:var(--muted);opacity:.35}
.rc-ph-cal-day.is-available{cursor:pointer;background:rgba(122,100,225,.1)}
.rc-ph-cal-day.is-available:hover{border-color:var(--accent)}
.rc-ph-cal-day.is-today{border-color:rgba(122,100,225,.45)}
.rc-ph-cal-day.is-active{background:var(--accent);border-color:var(--accent);color:#0D0B14;font-weight:600}

.rc-ph-calendar__grid{min-height:230px}

.rc-ph-calendar__state{
  grid-column:1 / -1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:var(--space-sm);min-height:230px;text-align:center;padding:var(--space-md) 0;
}
.rc-ph-calendar__state p{max-width:320px}

.rc-ph-loader{
  width:120px;height:20px;border-radius:4px;
  background:
    linear-gradient(var(--accent) 50%,#0000 0),
    linear-gradient(#0000 50%,var(--accent) 0),
    linear-gradient(var(--accent) 50%,#0000 0),
    linear-gradient(#0000 50%,var(--accent) 0),
    linear-gradient(var(--accent) 50%,#0000 0),
    linear-gradient(#0000 50%,var(--accent) 0)
    var(--border);
  background-size: calc(100%/6 + 1px) 200%;
  background-repeat: no-repeat;
  animation: rc-ph-loader-anim 2s infinite;
}
@keyframes rc-ph-loader-anim {
  0%     {background-position: calc(0*100%/5) 100%,calc(1*100%/5)   0%,calc(2*100%/5) 100%,calc(3*100%/5)   0%,calc(4*100%/5) 100%,calc(5*100%/5)   0%}
  16.67% {background-position: calc(0*100%/5)   0%,calc(1*100%/5)   0%,calc(2*100%/5) 100%,calc(3*100%/5)   0%,calc(4*100%/5) 100%,calc(5*100%/5)   0%}
  33.33% {background-position: calc(0*100%/5)   0%,calc(1*100%/5) 100%,calc(2*100%/5) 100%,calc(3*100%/5)   0%,calc(4*100%/5) 100%,calc(5*100%/5)   0%}
  50%    {background-position: calc(0*100%/5)   0%,calc(1*100%/5) 100%,calc(2*100%/5)   0%,calc(3*100%/5)   0%,calc(4*100%/5) 100%,calc(5*100%/5)   0%}
  66.67% {background-position: calc(0*100%/5)   0%,calc(1*100%/5) 100%,calc(2*100%/5)   0%,calc(3*100%/5) 100%,calc(4*100%/5) 100%,calc(5*100%/5)   0%}
  83.33% {background-position: calc(0*100%/5)   0%,calc(1*100%/5) 100%,calc(2*100%/5)   0%,calc(3*100%/5) 100%,calc(4*100%/5)   0%,calc(5*100%/5)   0%}
  100%   {background-position: calc(0*100%/5)   0%,calc(1*100%/5) 100%,calc(2*100%/5)   0%,calc(3*100%/5) 100%,calc(4*100%/5)   0%,calc(5*100%/5) 100%}
}

.rc-ph-pill{
  font-family:var(--font-body);font-size:.88rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);
  padding:.55em 1.1em;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease;
}
.rc-ph-pill:hover{border-color:var(--accent)}
.rc-ph-pill.is-active{background:var(--accent);border-color:var(--accent);color:#0D0B14;font-weight:600}
.rc-ph-pill--time{font-variant-numeric:tabular-nums}

.rc-ph-selected{
  background:rgba(122,100,225,.12);border:1px solid rgba(122,100,225,.35);
  border-radius:var(--radius-sm);padding:.7em 1em;font-weight:600;color:var(--ink);
  margin-bottom:var(--space-sm);
}

.rc-ph-step-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:4px}

#rc-ph-paypal-button{min-height:48px}

.rc-field-optional{color:var(--muted);font-weight:400;font-size:.85em}
