/* Medicine ceremony registration pages (/register/...) and the
   upcoming-ceremonies list on /medicine. Uses the site's theme tokens. */

.reg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:start}
.reg__glance{position:sticky;top:96px;margin:0}
.reg__glance dd{overflow-wrap:anywhere}
.reg__bednote{color:var(--h-muted,#55645A)}

.reg__card{background:var(--white);border:1px solid var(--h-sand,#D9C9A8);border-radius:var(--radius);
  padding:clamp(24px,4vw,40px);box-shadow:var(--shadow);max-width:none}
.reg__card h2{font-size:clamp(1.8rem,1.5rem + 1vw,2.2rem);margin-bottom:var(--s3)}
.reg__card:focus{outline:none}

.reg__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}

.reg__beds{border:0;margin:var(--s1) 0 0;padding:0}
.reg__beds legend{font-size:var(--fs-small);font-weight:600;color:var(--h-forest,#283C32);margin-bottom:var(--s1);padding:0}
.reg__choice{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--h-sand,#D9C9A8);
  border-radius:2px;margin-bottom:var(--s1);cursor:pointer;font-size:var(--fs-small);line-height:1.5}
.reg__choice input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--h-forest,#283C32)}
.reg__choice:has(input:checked){border-color:var(--h-forest,#283C32);background:var(--h-ivory,#F4F0E7)}
.reg__choice:has(input:disabled){opacity:.55;cursor:not-allowed}
.reg__bedmsg{margin:0}
.reg__agree .reg__choice{font-weight:400;color:var(--ink)}
.field--error .reg__choice{border-color:#b3261e}

.reg__sum{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--h-sand,#D9C9A8);
  border:1px solid var(--h-sand,#D9C9A8);border-radius:2px;margin:var(--s1) 0}
.reg__sum > div{background:var(--h-ivory,#F4F0E7);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.reg__sum span{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--h-terracotta-ink,#93553C)}
.reg__sum strong{font:500 1.9rem/1.1 var(--font-head);color:var(--h-forest,#283C32)}

.reg__form .btn{width:100%}

.reg__ref{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);background:var(--h-ivory,#F4F0E7);
  border:1px dashed var(--h-terracotta,#B76F50);border-radius:2px;padding:var(--s2) var(--s3);margin:var(--s3) 0}
.reg__ref span{flex-basis:100%;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--h-terracotta-ink,#93553C)}
.reg__ref strong,.reg__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}
.reg__ref strong{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);color:var(--h-forest,#283C32);margin-right:auto}

.reg__steps{padding-left:1.3em;margin:0 0 var(--s3)}
.reg__steps li{margin-bottom:var(--s2)}
.reg__wise{margin-top:var(--s1)}
.reg__cash{background:var(--h-forest,#283C32);color:var(--h-ivory,#F4F0E7);padding:var(--s2) var(--s3);border-radius:2px;margin-bottom:var(--s3)}
.reg__cash strong{color:var(--white)}
.reg__facts{display:grid;grid-template-columns:auto 1fr;gap:6px var(--s3);margin:0 0 var(--s3);font-size:var(--fs-small)}
.reg__facts dt{font-weight:600;color:var(--h-muted,#55645A)}
.reg__facts dd{margin:0}

.reg-how{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);counter-reset:how;list-style:none;padding:0;margin:var(--s4) 0 0}
.reg-how li{counter-increment:how;background:var(--white);border:1px solid var(--h-sand,#D9C9A8);border-radius:var(--radius);padding:var(--s4) var(--s3) var(--s3)}
.reg-how li::before{content:counter(how);display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;
  background:var(--h-forest,#283C32);color:var(--h-ivory,#F4F0E7);font-weight:700;margin-bottom:var(--s2)}
body .reg-how h3{font:700 1.05rem/1.4 var(--font-body);color:var(--h-forest,#283C32);margin-bottom:var(--s1)}
.reg-how p{margin:0;font-size:var(--fs-small)}

/* Upcoming ceremonies list on /medicine */
.reg-list{max-width:760px;margin:0 auto;width:100%}
.reg-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--h-sand,#D9C9A8)}
.reg-item:first-child{border-top:0}
.reg-item h3{margin:0;font-family:var(--font-head);font-weight:500;font-size:1.6rem}
.reg-item__meta{margin:2px 0 0;color:var(--h-forest,#283C32)}
.reg-item__status{margin:2px 0 0;color:var(--h-terracotta-ink,#93553C);font-weight:600;min-height:1.2em}
.reg-item .btn{flex:none}

@media (max-width:900px){
  .reg{grid-template-columns:1fr}
  .reg__glance{position:static;max-width:none}
  .reg-how{grid-template-columns:1fr}
}
@media (max-width:600px){
  .reg__row{grid-template-columns:1fr}
  .reg__sum{grid-template-columns:1fr}
  .reg__sum > div{flex-direction:row;justify-content:space-between;align-items:baseline}
  .reg__sum strong{font-size:1.5rem}
  .reg-item{flex-direction:column;align-items:flex-start;gap:var(--s2)}
}

/* "Plant Medicine Ceremonies" section on content pages (e.g. /ayahuasca):
   intro + photo on the left, full date list on the right */
.cer{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,104px);align-items:start}
.cer__intro{position:sticky;top:112px}
.cer__intro h2{margin-bottom:var(--s2)}
.cer__img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-top:var(--s4);border-radius:var(--radius)}
.cer .reg-list{max-width:none;margin:0}
@media (max-width:900px){
  .cer{grid-template-columns:1fr}
  .cer__intro{position:static}
  .cer__img{display:none}
}

/* Ceremony dates with photos on /calendar (same look as the retreat list) */
.reg-row h3{font-family:var(--font-head);font-weight:500;font-size:1.6rem;margin:0}
.reg-row__action{margin-top:var(--s2)}
.reg-row + .reg-row{border-top:1px solid var(--h-sand,#D9C9A8)}
.cal-head{margin-bottom:var(--s3)}
.cal-sub{color:var(--h-muted,#55645A);margin:-8px 0 var(--s3)}
