/* Availability experience inside the inquiry form card (prototype). Uses the form's own tokens. */
.pvf-done.pv-avail { text-align: left; padding: 0; }
/* The original panel centers its paragraphs at 30rem; this stage is left-aligned. */
.pvf-done.pv-avail p { margin-left: 0; margin-right: 0; max-width: none; }
.pv-avail-h { font-family: var(--font-heading); font-weight: 700; font-size: 1.75rem; line-height: 1.2; color: var(--ink); margin: 0 0 .35rem; }
.pv-avail-sub { margin: 0 0 1rem; color: var(--text); }
.pv-brand { margin: 0 0 1rem; font-family: var(--font-heading); font-weight: 700; font-size: 1.05rem; color: var(--sage-deep); letter-spacing: .01em; }
.pv-status { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; padding: .2rem .65rem; border-radius: 999px; background: var(--ok-bg); color: var(--ok); font-size: .85rem; font-weight: 600; }
.pv-skip-done p { margin: .25rem 0 1rem; }
.pv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* After durable acceptance: one task on screen. */
body.pv-stage-avail .gs_h1, body.pv-stage-avail .gs_sub, body.pv-stage-avail .gs_groups, body.pv-stage-avail .gs_banner { display: none !important; }
/* Submit feedback. */
.pv-spin { width: 1em; height: 1em; margin-right: .5rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; display: inline-block; vertical-align: -0.15em; animation: pv-spin .8s linear infinite; }
@keyframes pv-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pv-spin { animation: none; border-right-color: currentColor; opacity: .7; } }
.pv-avail-frame { margin: 0 0 1rem; }
.pv-avail-iframe { width: 100%; border: 0; display: block; min-height: 120px; }
.pv-avail-another { margin: 0 0 1rem; }
/* While asking the server about an inquiry from before a reload. */
.pvf.pv-restoring .pvf-step, .pvf.pv-restoring .pvf-progress { display: none !important; }
.pvf.pv-restoring::before { content: "One moment."; display: block; color: var(--edward-darker); padding: .5rem 0; }
@media (max-width: 560px) {
  .pv-avail-h { font-size: 1.5rem; }
}

/* Privacy line at the bottom of the form card, every step. */
.pv-privacy { margin: 20px 0 0; text-align: center; font-size: .875rem; color: #404845; }

/* Availability stage, approved October 24: it reads as page 2 of the same form card.
   Rules from the approved preview outer-stage.css, without its preview label. */
/* Same grey section, 42rem container and white card as the first page. The first page's card
   sits under the banner (border-top: 0); with the banner hidden for the one-task stage, a slim
   deep-blue band takes its place, the banner's own dark color. */
body.pv-stage-avail .gs_section { padding-top: 2.5rem; }
body.pv-stage-avail .pvf {
  border-top: 6px solid var(--sage-deep);
  border-radius: var(--radius);
  padding: 1.75rem 2rem 1.5rem;
}

/* Quiet continuity: the same progress row as page 1, now at its last step. */
.pv-step-row { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.25rem; }
.pv-step-row .pvf-progress-label { font-size: .85rem; font-weight: 600; color: var(--sage-deep); white-space: nowrap; }
.pv-step-row .pvf-progress-fill { width: 100%; }

/* Brand line and status sit on one quiet row above the heading. */
.pvf-done.pv-avail .pv-brand { display: none; }
.pvf-done.pv-avail .pv-status { margin: 0 0 .75rem; }

/* Heading and sub follow the first page's step heading (h2 1.75rem Baloo, muted intro). */
.pvf-done.pv-avail .pv-avail-h { font-size: 1.75rem; margin: 0 0 .25rem; }
.pvf-done.pv-avail .pv-avail-sub { margin: 0 0 1.25rem; color: var(--edward-darker); font-size: .95rem; }

/* The frame sits flush in the card: no second border, no second card. */
.pv-avail-frame { margin: 0 0 .5rem; }

/* Footer lines match page 1. */
.pv-privacy { margin: 1.25rem 0 0; }

@media (max-width: 560px) {
  body.pv-stage-avail .gs_section { padding: 1.25rem 4% 2rem; }
  body.pv-stage-avail .pvf { padding: 1.25rem 1.1rem 1.25rem; }
  .pvf-done.pv-avail .pv-avail-h { font-size: 1.5rem; }
}

/* Emailed return page: the same card band, heading and sub-line. */
.rt-section .rt-card { border-top: 6px solid var(--sage-deep); }
.rt-card .pv-avail-h { margin: 0 0 .25rem; }
.rt-card .pv-avail-sub { margin: 0 0 1.25rem; color: var(--edward-darker); font-size: .95rem; }
