:root{font-family:Inter,system-ui,Arial,sans-serif;color:#1d2340;background:#f6f7fb}*{box-sizing:border-box}body{margin:0}a{color:#7d227d}header{background:#20254b;color:#fff;padding:17px 6%;display:flex;justify-content:space-between;align-items:center}header a{color:#fff;text-decoration:none;font-weight:700}.brand{font-size:1.1rem;letter-spacing:.02em}.brand small{display:block;font-size:.63rem;font-weight:500;opacity:.8}main{width:min(100% - 34px,980px);margin:36px auto 70px}.hero{background:linear-gradient(120deg,#232452,#7c1c79);color:white;padding:38px;border-radius:22px;box-shadow:0 15px 40px #0c154321}.hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:12px 0}.hero p{opacity:.92}.label{color:#e9c965;letter-spacing:.13em;font-weight:700;font-size:.74rem}.card{background:#fff;border:1px solid #e2e4ed;padding:27px;border-radius:18px;box-shadow:0 7px 25px #171f4810;margin:22px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:17px}label{font-size:.87rem;font-weight:650;display:block;margin-bottom:7px}input{width:100%;border:1px solid #cfd3e1;background:#fff;border-radius:9px;padding:13px;font-size:1rem}input[type=checkbox]{width:auto}button,.button{display:inline-block;border:0;border-radius:11px;padding:14px 22px;background:#852283;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;text-align:center;text-decoration:none}.button.alt,button.alt{background:#242952}.button:disabled,button:disabled{opacity:.5;cursor:not-allowed}.notice{padding:15px;background:#f4eaf4;border-radius:10px;margin-top:16px}.error{color:#ad253a}.good{color:#147646}.muted{color:#68708a;font-size:.89rem}h2{margin-top:0}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{background:#f4f5f9;padding:18px;border-radius:12px}.metric strong{display:block;font-size:1.65rem}table{border-collapse:collapse;width:100%;min-width:700px}th,td{padding:11px 9px;border-bottom:1px solid #ecedf1;text-align:left;font-size:.85rem}.tablewrap{overflow:auto}.qr svg{width:min(280px,100%);height:auto}.footer{text-align:center;color:#7d8090;font-size:.8rem;padding:20px}@media(max-width:620px){.two{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}main{margin-top:20px}.card{padding:20px}.hero{padding:26px}header{padding:15px}}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:47px;height:47px;object-fit:contain;border-radius:8px;background:#13152b}.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,0.95fr);gap:26px;align-items:center}.hero-visual img{display:block;width:100%;border-radius:14px;box-shadow:0 20px 44px #130d2e66}.leaders{display:flex;gap:36px;flex-wrap:wrap;color:#20264b}.leaders p{margin:6px 0;line-height:1.5}.leaders b{color:#75227c}select{width:100%;border:1px solid #cfd3e1;background:#fff;border-radius:9px;padding:13px;font-size:1rem}.field select:focus,.field input:focus{outline:2px solid #8a2c87;outline-offset:1px}@media(max-width:760px){.hero-split{grid-template-columns:1fr}.hero-visual{max-width:520px}.leaders{gap:14px}}


/* PMCC homepage visual refinement */
.hero .hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 54px;
  margin-top: 7px;
  padding: 15px 24px;
  border: 1px solid #fbe8a7;
  background: #ffdc78;
  color: #201d43;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(12, 9, 38, .25);
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.hero .hero-cta:hover {
  background: #fff0ae;
  box-shadow: 0 12px 26px rgba(12, 9, 38, .30);
  transform: translateY(-2px);
}
.hero .hero-cta:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 4px;
}
.hero-cta-arrow { font-size: 1.3em; line-height: 1; }

.workshop-details {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
  gap: 30px;
  align-items: stretch;
  padding: 30px;
}
.workshop-details-intro { padding: 5px 0; }
.section-kicker {
  display: block;
  margin-bottom: 12px;
  color: #83267a;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
}
.workshop-details h2 {
  margin: 0 0 13px;
  color: #192143;
  font-size: clamp(1.35rem, 2.3vw, 1.75rem);
  line-height: 1.22;
}
.workshop-details-intro > p {
  max-width: 48ch;
  margin: 0 0 22px;
  color: #4c5572;
  font-size: .95rem;
  line-height: 1.68;
}
.registration-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.registration-steps span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  color: #3b4262;
  font-size: .81rem;
  font-weight: 600;
}
.registration-steps strong {
  color: #892781;
  font-weight: 800;
}
.workshop-leadership {
  align-self: stretch;
  background: #f8f5fa;
  border: 1px solid #ebe4ee;
  border-radius: 14px;
  padding: 21px 24px;
}
.workshop-leadership .section-kicker {
  margin-bottom: 5px;
}
.leader-item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 14px 0;
}
.leader-item + .leader-item {
  border-top: 1px solid #e6dce9;
}
.leader-accent {
  display: block;
  flex: 0 0 5px;
  width: 5px;
  height: 39px;
  border-radius: 4px;
  background: #d4a94e;
  margin-top: 3px;
}
.leader-role {
  display: block;
  margin-bottom: 5px;
  color: #7c367d;
  font-size: .70rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.leader-item h3 {
  margin: 0;
  color: #202747;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.42;
}
@media (max-width: 760px) {
  .workshop-details { grid-template-columns: 1fr; gap: 20px; padding: 22px; }
  .workshop-leadership { padding: 17px 20px; }
  .desktop-only { display: none; }
  .hero .hero-cta { width: 100%; max-width: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero-cta { transition: none; }
  .hero .hero-cta:hover { transform: none; }
}


/* PMCC animated register & pay call-to-action — homepage only */
.hero .hero-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #fff1ba;
  border-radius: 13px;
  background: linear-gradient(112deg, #ffce48 0%, #fff19e 48%, #ffcf4c 100%);
  background-size: 200% 100%;
  color: #201940;
  font-weight: 850;
  letter-spacing: .01em;
  box-shadow:
    0 0 0 0 rgba(255, 222, 104, .45),
    0 0 22px rgba(255, 215, 91, .56),
    0 10px 26px rgba(21, 9, 43, .27);
  animation: pmcc-cta-glow 2.6s ease-in-out infinite;
  will-change: transform, box-shadow;
}
.hero .hero-cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -55%;
  bottom: -55%;
  left: -75%;
  width: 45%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
  transform: skewX(-22deg) translateX(-35%);
  animation: pmcc-cta-shine 3.3s ease-in-out infinite;
  pointer-events: none;
}
.hero .hero-cta .hero-cta-arrow {
  display: inline-block;
  font-size: 1.4em;
  animation: pmcc-cta-arrow 1.25s ease-in-out infinite;
}
.hero .hero-cta:hover {
  background: linear-gradient(110deg, #ffe47c, #fff9c6, #ffe27e);
  color: #181337;
  box-shadow: 0 0 34px rgba(255,234,129,.88), 0 12px 30px rgba(21,9,43,.31);
  transform: translateY(-2px) scale(1.06);
  animation-play-state: paused;
}
.hero .hero-cta:hover::before,
.hero .hero-cta:hover .hero-cta-arrow {
  animation-play-state: paused;
}
.hero .hero-cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@keyframes pmcc-cta-glow {
  0%, 100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 0 0 0 rgba(255,224,100,.38),
      0 0 14px rgba(255,215,91,.45), 0 8px 24px rgba(21,9,43,.25);
  }
  50% {
    transform: translateY(-2px) scale(1.045);
    box-shadow: 0 0 0 9px rgba(255,224,100,.08),
      0 0 33px rgba(255,230,120,.9), 0 14px 28px rgba(21,9,43,.28);
  }
}
@keyframes pmcc-cta-shine {
  0%, 12% { left: -75%; opacity: 0; }
  22% { opacity: 1; }
  52%, 100% { left: 140%; opacity: 0; }
}
@keyframes pmcc-cta-arrow {
  0%, 100% { transform: translateX(0); }
  55% { transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero-cta,
  .hero .hero-cta::before,
  .hero .hero-cta .hero-cta-arrow { animation: none !important; will-change: auto; }
  .hero .hero-cta:hover { transform: none; }
}


/* PMCC registration form — structured, mobile-first visual refinement */
.registration-page .back-home {
  font-weight: 650;
  font-size: .86rem;
  opacity: .90;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.registration-page .back-home:hover { opacity: 1; color: #ffe39b; }
.registration-page .registration-main { max-width: 1000px; margin-top: 34px; }
.registration-heading {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 23px;
}
.registration-heading > div:first-child { align-self: center; }
.registration-eyebrow {
  margin: 0 0 11px;
  font-size: .76rem;
  color: #84277c;
  font-weight: 800;
  letter-spacing: .12em;
}
.registration-heading h1 {
  margin: 0 0 10px;
  color: #1c2447;
  font-size: clamp(2rem, 3.3vw, 2.65rem);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.registration-description {
  margin: 0;
  color: #515a74;
  font-size: .99rem;
  line-height: 1.6;
  max-width: 490px;
}
.registration-event-card {
  flex: 0 0 284px;
  padding: 20px 22px;
  color: #fff;
  border-radius: 16px;
  background: linear-gradient(120deg,#252851,#6c2177);
  box-shadow: 0 8px 24px rgba(19,17,55,.14);
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.registration-event-card .summary-label {
  color: #ffe29a;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .13em;
  margin-bottom: 5px;
}
.registration-event-card > strong { font-size: .94rem; }
.registration-event-card > span:not(.summary-label) { color: #e6ddec; font-size: .86rem; }
.registration-price {
  display: flex;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.20);
  justify-content: space-between;
  align-items: baseline;
  gap: 15px;
}
.registration-price span { font-size: .82rem; color:#e9deec; }
.registration-price strong { font-size: 1.25rem; color: #ffdd7d; white-space: nowrap; }
.registration-page .registration-form {
  padding: 0;
  margin-top: 0;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 13px 40px rgba(26,28,65,.07);
}
.registration-form .form-section { padding: 30px 34px 28px; }
.registration-form .form-section + .form-section { border-top: 1px solid #e9e9f0; }
.form-section-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 24px;
}
.step-number {
  background: #f7eaf6;
  border: 1px solid #efd9ed;
  border-radius: 11px;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #852781;
  font-size: .95rem;
  font-weight: 800;
}
.form-section-header h2 {
  font-size: 1.27rem;
  font-weight: 750;
  margin: 0 0 4px;
  color: #1a254a;
  line-height: 1.25;
}
.form-section-header p { margin: 0; color: #68718b; font-size: .89rem; line-height: 1.55; }
.registration-page .two { gap: 8px 22px; }
.registration-form .field { margin-bottom: 15px; min-width: 0; }
.registration-form label {
  color: #293453;
  font-size: .85rem;
  font-weight: 700;
  margin-bottom: 8px;
}
.registration-form .required-mark { color: #9c2c82; font-weight: 900; }
.registration-form input:not([type=checkbox]), .registration-form select {
  width: 100%;
  min-height: 47px;
  border: 1px solid #ccd3e2;
  background: #fff;
  border-radius: 11px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: .95rem;
  color: #1f294b;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.registration-form input::placeholder { color: #8992a5; }
.registration-form input:not([type=checkbox]):hover, .registration-form select:hover { border-color: #a5abc3; }
.registration-form input:focus-visible, .registration-form select:focus-visible {
  outline: none;
  border-color: #8a2d82;
  box-shadow: 0 0 0 3px rgba(138,45,130,.12);
}
.registration-form .field[hidden] { display: none !important; }
.registration-form .meal-note {
  padding: 12px 15px;
  border-radius: 10px;
  background: #f6f7fb;
  color: #626d84;
  font-size: .85rem;
  line-height: 1.55;
  margin: 0;
}
.registration-checkout {
  padding: 26px 34px 28px;
  border-top: 1px solid #eee6ed;
  background: linear-gradient(180deg,#f9f7fb,#f4f1f7);
}
.registration-checkout .updates-choice {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-weight: 600;
  font-size: .88rem;
  line-height: 1.5;
  cursor: pointer;
}
.registration-checkout .updates-choice input {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: #84277c;
}
.registration-checkout .optional { font-weight: 450; color: #697187; }
.registration-checkout .privacy-note {
  color: #65718a;
  font-size: .81rem;
  line-height: 1.52;
  margin: 5px 0 23px 28px;
}
.checkout-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 21px 0 15px;
  border-top: 1px solid #e4dce7;
}
.checkout-amount { display: flex; flex-direction: column; gap: 3px; }
.checkout-amount > span { color:#59627b; font-size: .83rem; font-weight: 650; }
.checkout-amount > strong { color: #222444; font-size: 1.55rem; letter-spacing: -.02em; }
.checkout-amount > small { font-size: .76rem; color:#737b91; line-height:1.4; }
.registration-checkout #submit {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 15px 24px;
  border-radius: 12px;
  border: 1px solid #ffe8a9;
  background: #ffda76;
  color: #1f2149;
  font-weight: 800;
  box-shadow: 0 5px 16px rgba(84,44,77,.14);
}
.registration-checkout #submit:not(:disabled):hover { background: #ffe799; transform: translateY(-1px); }
.registration-checkout #submit:focus-visible { outline: 3px solid #7a267a; outline-offset: 3px; }
.registration-checkout #submit:disabled {
  opacity: 1;
  background: #e2dbea;
  border-color: #d4c8da;
  box-shadow: none;
  color: #6e637b;
  cursor: not-allowed;
}
.registration-checkout .payment-trust { color: #657087; font-size: .8rem; margin: 9px 0 0; }
.registration-status {
  margin: 13px 0 0;
  padding: 12px 14px;
  font-size: .85rem;
  color: #6d4679;
  background: #efe5f0;
  border-radius: 9px;
  line-height: 1.5;
}
.registration-status:empty { display: none; }
@media(max-width:780px) {
  .registration-heading { flex-direction: column; gap: 19px; }
  .registration-event-card { flex: none; }
}
@media(max-width:620px) {
  .registration-page .registration-main { margin-top: 22px; }
  .registration-heading h1 { font-size: 2rem; }
  .registration-form .form-section { padding: 23px 20px 14px; }
  .registration-form .form-section + .form-section { padding-top: 24px; }
  .form-section-header { gap: 12px; margin-bottom: 22px; }
  .step-number { flex-basis: 38px; width:38px; height:38px; }
  .registration-page .two { grid-template-columns: 1fr; gap: 0; }
  .registration-checkout { padding: 24px 20px; }
  .registration-checkout .privacy-note { margin-left: 28px; }
  .checkout-row { flex-direction: column; align-items: stretch; gap: 19px; }
  .registration-checkout #submit { width: 100%; }
  .registration-event-card { padding: 18px 20px; }
}

/* Preferred title and name field pairing; original registration styles retained. */
.registration-form .name-title-grid { display:grid;grid-template-columns:minmax(180px,.43fr) minmax(0,1fr);gap:20px; }
.registration-form .title-other[hidden], .registration-form #ministry_role_other_wrap[hidden] { display:none !important; }
.registration-form .certificate-preview { margin:-3px 0 19px;color:#5a6079;font-size:.84rem;line-height:1.5; }
.registration-form .certificate-preview strong { color:#81267a;font-weight:750; }
.registration-form #ministry_role_other_wrap { margin-top:4px; }
@media(max-width:620px) { .registration-form .name-title-grid { grid-template-columns:1fr;gap:0; } }

/* Keep the normal lunch selection on a clean full-width row; show two columns only for special requests. */
.registration-form .meal-grid:not(.special-selected) > .field:first-child { grid-column: 1 / -1; }
.registration-form .meal-grid > [hidden] {display:none !important;}
.registration-form #special_meal_note[hidden] {display:none !important;}

/* Workshop GH₵150 + online payment charge GH₵3 (total GH₵153) */
.registration-event-card .event-fee-note {display:block; color:#ffe5a3; font-weight:650;font-size:.78rem; margin-top:5px;}
.checkout-amount {min-width:250px; flex:1; max-width:410px;}
.checkout-price-line {display:flex;justify-content:space-between; gap:18px; font-size:.87rem; color:#4a526b; padding:3px 0;}
.checkout-price-line b {color:#222444; white-space:nowrap;}
.checkout-price-total {display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-top:10px; padding-top:11px; border-top:1px solid #d9d2df; font-size:.88rem; font-weight:700;}
.checkout-price-total strong {font-size:1.50rem;color:#20264b;white-space:nowrap;}
.checkout-amount small {display:block; margin-top:7px;}
.hero-fee-note {font-size:.83rem!important;color:#ffe6b1!important;margin:-4px 0 14px!important;}
@media(max-width:620px){.checkout-amount {max-width:none;}}
