/* 532 v002: public clinician and clinic schedule pages (matches the 515 adjudicator pages) */
.c532-wall{--c532-fest:#1F3E7A;--c532-accent:#2E7D8C;--c532-ink:#1b1f24;--c532-muted:#3d4650;max-width:1080px;margin:0 auto;padding:8px 0 24px;color:var(--c532-ink)}
.c532-wall *{box-sizing:border-box}
.c532-wall{container-type:inline-size;container-name:c532wall}
.c532-wall-title{scroll-margin-top:90px;text-align:center;margin:0 0 18px}
.c532-wall-empty{text-align:center;font-size:1.15em;padding:28px;border:1px dashed var(--c532-fest);border-radius:14px;background:#fff}
.c532-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 28px}
.c532-jump a{display:inline-flex;flex-direction:column;align-items:center;padding:9px 18px;border-radius:16px;line-height:1.25;background:var(--c532-fest);color:#fff!important;text-decoration:none!important;font-weight:600;box-shadow:0 8px 18px -10px var(--c532-fest);transition:transform .2s ease,box-shadow .2s ease}
.c532-jump a span{font-size:.82em;font-weight:400;opacity:.92}
.c532-jump a:hover,.c532-jump a:focus-visible{transform:translateY(-2px);box-shadow:0 14px 24px -12px var(--c532-fest)}
.c532-jump a:focus-visible{outline:3px solid var(--c532-accent);outline-offset:3px}
.c532-wall-section{margin:0 0 48px;scroll-margin-top:90px}
.c532-wall-cat{display:flex;align-items:center;gap:18px;color:var(--c532-fest);margin:0 0 14px;text-transform:uppercase;letter-spacing:.06em}
.c532-wall-cat::before,.c532-wall-cat::after{content:"";flex:1;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--c532-fest))}
.c532-wall-cat::after{background:linear-gradient(90deg,var(--c532-fest),transparent)}
.c532-wall-avatars{display:flex;justify-content:center;margin:0 0 26px;padding-left:12px}
.c532-wall-avatars a{width:46px;height:46px;border-radius:50%;margin-left:-12px;border:3px solid #fff;overflow:hidden;background:var(--c532-fest);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;text-decoration:none!important;box-shadow:0 4px 10px -4px rgba(0,0,0,.45);transition:transform .2s ease}
.c532-wall-avatars a:hover{transform:translateY(-4px) scale(1.08);z-index:1}
.c532-wall-avatars img{width:100%;height:100%;object-fit:cover;display:block}
.c532-card{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:start;background:#fff;border-radius:22px;padding:32px;margin:0 0 30px;
  border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 24px -12px rgba(0,0,0,.18),0 32px 60px -30px rgba(0,0,0,.28);scroll-margin-top:90px}
.c532-card--flip{grid-template-columns:minmax(0,1fr) 280px}
.c532-card--flip .c532-card-photo{order:2}
.c532-card-photo{margin:0;perspective:900px}
.c532-tilt{position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}
.c532-plate{position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,var(--c532-fest),var(--c532-accent));transform:translate3d(16px,16px,-40px);opacity:.92}
.c532-card--flip .c532-plate{transform:translate3d(-16px,16px,-40px)}
.c532-card-img{position:relative;display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:20px;transform:translateZ(20px);
  box-shadow:0 2px 4px rgba(0,0,0,.12),0 18px 36px -14px rgba(0,0,0,.45)}
.c532-monogram{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#ffffff 0,#eef1f6 60%,#dde3ec 100%);color:var(--c532-fest);font-size:88px;font-weight:700;letter-spacing:.04em}
.c532-glare{position:absolute;inset:0;border-radius:20px;transform:translateZ(21px);pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.45),transparent 55%)}
.c532-card:hover .c532-glare{opacity:1}
.c532-card-name{color:var(--c532-fest);margin:4px 0 14px;font-size:1.65em;line-height:1.2;position:relative;padding-bottom:12px}
.c532-card-name::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--c532-fest),var(--c532-accent))}
.c532-card-bio{color:var(--c532-ink);line-height:1.7;font-size:1.02em}
.c532-card-bio p{margin:0 0 1em}
.c532-card-bio a{color:var(--c532-fest);text-decoration:underline}
.c532-card-bio.is-clamped{max-height:16.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.c532-bio-toggle{margin-top:10px;background:transparent;border:2px solid var(--c532-fest);color:var(--c532-fest);border-radius:999px;padding:7px 18px;font-weight:700;cursor:pointer;font:inherit;font-weight:700}
.c532-bio-toggle:hover{background:var(--c532-fest);color:#fff}
.c532-bio-toggle:focus-visible{outline:3px solid var(--c532-accent);outline-offset:3px}
.c532-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.c532-reveal.is-in{opacity:1;transform:none}
@media(max-width:760px){
  .c532-card,.c532-card--flip{grid-template-columns:1fr;gap:26px;padding:22px}
  .c532-card--flip .c532-card-photo{order:0}
  .c532-card-photo{max-width:260px;margin:0 auto;width:100%}
  .c532-card-name{text-align:center}.c532-card-name::after{left:50%;transform:translateX(-50%)}
}
/* v123: same single-column layout when the box itself is narrow (framed pages) */
@container c532wall (max-width:720px){
  .c532-card,.c532-card--flip{grid-template-columns:1fr;gap:26px;padding:22px}
  .c532-card--flip .c532-card-photo{order:0}
  .c532-card-photo{max-width:260px;margin:0 auto;width:100%}
  .c532-card-name{text-align:center}.c532-card-name::after{left:50%;transform:translateX(-50%)}
}
@container c532wall (min-width:721px) and (max-width:900px){
  .c532-card,.c532-card--flip{grid-template-columns:200px minmax(0,1fr);gap:28px;padding:24px}
  .c532-card--flip{grid-template-columns:minmax(0,1fr) 200px}
}
@media(prefers-reduced-motion:reduce){
  .c532-tilt,.c532-reveal,.c532-jump a,.c532-wall-avatars a{transition:none!important;transform:none!important}
  .c532-reveal{opacity:1}
}
/* v127: one font for every bio, even if pasted formatting slips through. */
.c532-card-bio *{font-family:inherit!important;font-size:inherit!important;color:inherit!important;line-height:inherit!important;background:transparent!important}
.c532-card-bio a{color:var(--c532-fest)!important}
.c532-card-bio p{margin:0 0 1em!important}
/* 532: shared bits */
.c532-empty{text-align:center;font-size:1.15em;padding:28px;border:1px dashed var(--c532-fest);border-radius:14px;background:#fff}
.c532-back{margin:0 0 18px;text-align:left}
.c532-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#fff;color:var(--c532-fest)!important;border:2px solid var(--c532-fest);font-weight:700;text-decoration:none!important;box-shadow:0 6px 14px -10px rgba(0,0,0,.5);transition:background .2s ease,color .2s ease}
.c532-back-btn:hover{background:var(--c532-fest);color:#fff!important}
.c532-back-btn:focus-visible{outline:3px solid var(--c532-accent);outline-offset:3px}
.c532-card-name{margin-bottom:10px}
.c532-card-line{margin:0 0 14px;font-weight:700;color:var(--c532-muted)}
.c532-when{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.c532-when li{display:flex;align-items:center;gap:12px;background:#f5f6f8;border-radius:12px;padding:8px 12px;line-height:1.35}
.c532-when small{color:var(--c532-muted)}
.c532-cal{flex:0 0 auto;width:44px;border-radius:8px;overflow:hidden;text-align:center;background:#fff;box-shadow:0 2px 6px -2px rgba(0,0,0,.3)}
.c532-cal b{display:block;background:var(--c532-fest);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 0}
.c532-cal i{display:block;font-style:normal;font-weight:700;font-size:18px;color:var(--c532-ink);padding:1px 0 2px}
.c532-admin-note{background:#fcf0f1;border-left:4px solid #b32d2e;padding:6px 10px}
/* Clinic schedule */
.c532-day{margin:0 0 34px;scroll-margin-top:90px}
.c532-day-title{display:flex;align-items:center;gap:18px;color:var(--c532-fest);margin:0 0 14px;font-size:1.45em;text-transform:uppercase;letter-spacing:.05em}
.c532-day-title::before,.c532-day-title::after{content:"";flex:1;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--c532-fest))}
.c532-day-title::after{background:linear-gradient(90deg,var(--c532-fest),transparent)}
.c532-block{background:#fff;border-radius:18px;padding:18px 22px 10px;margin:0 0 18px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 24px -12px rgba(0,0,0,.18)}
.c532-block-title{margin:0 0 8px;font-size:1.1em;color:var(--c532-fest)}
.c532-table{width:100%;border-collapse:collapse;margin:0 0 8px;font-size:1em}
.c532-table th{text-align:left;font-size:.8em;text-transform:uppercase;letter-spacing:.06em;color:var(--c532-muted);border-bottom:2px solid var(--c532-fest);padding:6px 10px}
.c532-table td{padding:9px 10px;border-bottom:1px solid #e4e7eb;color:var(--c532-ink);vertical-align:top}
.c532-table tr:last-child td{border-bottom:0}
.c532-table .c532-t{white-space:nowrap;font-weight:700;width:9.5em}
.c532-table .c532-i{font-weight:600}
@container c532wall (max-width:520px){.c532-block{padding:14px 12px 6px}.c532-table th,.c532-table td{padding:7px 6px}.c532-table .c532-t{width:auto;white-space:normal}}
.c532-back-btn{max-width:100%;text-align:left;line-height:1.3}
.c532-table{table-layout:auto;word-break:normal;overflow-wrap:anywhere}
.c532-table th{overflow-wrap:normal;word-break:keep-all}
@container c532wall (max-width:520px){.c532-table th{letter-spacing:.02em;font-size:.72em}.c532-table{font-size:.95em}}
/* v004: clinician dashboard */
.c532-dash{max-width:860px;margin:0 auto;color:#1d1d1f;font-size:17px;line-height:1.55}
.c532-dash-title{font-size:30px;margin:0 0 4px;color:#1d1d1f}
.c532-dash-lead{margin:0 0 18px;color:#333}
.c532-dash-card{background:#fff;border:1px solid #c9ccd1;border-radius:12px;padding:20px 24px;margin:0 0 20px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.c532-dash-card h3{margin:0 0 10px;font-size:22px;color:#1d1d1f}
.c532-dash-fest{margin:16px 0 8px;font-size:18px;color:#fff;background:var(--c532-fest,#1F3E7A);padding:8px 12px;border-radius:8px}
.c532-dash-fest span{font-weight:400;opacity:.95;margin-left:6px}
.c532-dash-table{width:100%;border-collapse:collapse}
.c532-dash-table th,.c532-dash-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #dcdfe3;color:#1d1d1f;background:#fff}
.c532-dash-table th{background:#f1f2f4;font-weight:700}
.c532-dash-l{display:block;font-weight:700;margin:14px 0 4px;color:#1d1d1f}
.c532-dash-l input[type=text],.c532-dash-l input[type=email],.c532-dash-l input[type=tel],.c532-dash-l textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px 12px;font:inherit;font-weight:400;color:#1d1d1f;background:#fff;border:1px solid #8c8f94;border-radius:8px}
.c532-dash-l input[type=file]{display:block;margin-top:6px;font-weight:400}
.c532-dash-small{font-size:15px;color:#3a3a3c;margin:4px 0 0}
.c532-dash-btn{background:#1F3E7A;color:#fff;border:0;border-radius:8px;padding:12px 22px;font:inherit;font-weight:700;cursor:pointer}
.c532-dash-btn:hover,.c532-dash-btn:focus-visible{background:#152c58;outline:3px solid #9ab3e0;outline-offset:2px}
.c532-dash-msg{background:#eaf4ea;border-left:5px solid #1e7b34;padding:10px 14px;margin:0 0 16px;color:#1d1d1f}
.c532-dash-msg.is-error{background:#fbeaea;border-left-color:#b32d2e}
.c532-dash-now{display:flex;gap:16px;align-items:center;margin:0 0 12px;padding:12px;background:#f6f7f8;border-radius:10px}
.c532-dash-now p{margin:0}
.c532-dash-photo{width:110px;height:110px;border-radius:10px;object-fit:cover;flex:none;display:flex;align-items:center;justify-content:center;background:#dcdfe3;color:#1d1d1f;font-weight:700;font-size:28px}
.c532-dash-name{font-weight:700;font-size:19px}
@media(max-width:600px){.c532-dash-card{padding:16px}.c532-dash-table thead{display:none}.c532-dash-table tr{display:block;border-bottom:1px solid #dcdfe3;padding:6px 0}.c532-dash-table td{display:block;border:0;padding:2px 4px}}

/* v005 login gate */
.c532-dash-btns{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.c532-dash-link{color:#1d3557;text-decoration:underline;font-weight:600}
.c532-dash-btn[disabled]{opacity:.7;cursor:not-allowed}
a.c532-dash-btn{display:inline-block;text-decoration:none}

/* v006: dashboard header, full schedule view, bio page link */
.c532-dash--all{max-width:none}
.c532-dash-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;margin:0 0 16px}
.c532-dash-head .c532-dash-lead{margin:0}
.c532-dash-open{color:#9b1c1c;font-weight:700}
.c532-dash-back{margin:0 0 12px}
.c532-dash-back a{color:#1d3557;font-weight:700;text-decoration:underline}
.c532-dash-table a{color:#1d3557;font-weight:600;text-decoration:underline}
.c532-dash-card h3.c532-dash-fest{color:#fff;margin-top:0}

/* v007: the theme's heading colour was overriding the banner text; keep it white */
.c532-dash .c532-dash-fest,.c532-dash .c532-dash-fest span,.c532-dash h3.c532-dash-fest,.c532-dash h4.c532-dash-fest{color:#fff !important}
.c532-dash-head .c532-dash-btns{margin:0}

/* v008: banner text white even when the theme forces heading colours; grey buttons matching the table header bar */
.c532-dash .c532-dash-fest,.c532-dash .c532-dash-fest *{color:#fff !important;-webkit-text-fill-color:#fff !important;text-shadow:none !important;-webkit-text-stroke:0 !important}
.c532-dash .c532-dash-fest span{margin-left:0}
.c532-dash .c532-dash-fest span + span{margin-left:8px}
.c532-dash .c532-dash-btn,.c532-dash a.c532-dash-btn{background:#f1f2f4 !important;color:#1d1d1f !important;-webkit-text-fill-color:#1d1d1f !important;border:1px solid #c9ccd1 !important;font-weight:700}
.c532-dash .c532-dash-btn:hover,.c532-dash .c532-dash-btn:focus-visible{background:#e2e4e8 !important;outline:3px solid #8a9099;outline-offset:2px}

/* v010: clinic invitation on the Clinician Dashboard */
.c532-dash-avail .c532-inv-radios{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0}
.c532-dash-avail .c532-inv-radios label{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.c532-dash-avail .c532-inv-slots{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 10px}
.c532-dash-avail .c532-inv-slots fieldset{border:1px solid #c9ccd1;border-radius:6px;padding:8px 12px;min-width:240px}
.c532-dash-avail .c532-inv-slots legend{font-weight:700;padding:0 4px}
.c532-dash-avail .c532-inv-slots label{display:flex;align-items:center;gap:8px;margin:6px 0}
.c532-dash-avail .c532-inv-slots input[type=checkbox]{width:20px;height:20px}
