
.reg-page{background:linear-gradient(180deg,#fffef7,#fff)}.reg-hero{padding:72px 0 38px;background:radial-gradient(circle at 85% 10%,rgba(242,207,0,.28),transparent 25%),linear-gradient(135deg,#fffdf3,#fff7bd)}.reg-hero h1{font:700 clamp(38px,6vw,68px)/1.03 Georgia,serif;max-width:850px;margin:10px 0}.reg-hero h1 span{color:#8d7900}.reg-hero p{max-width:760px;color:#555}.reg-steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.reg-steps span{background:#fff;border:1px solid #e3d478;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800}.reg-steps b{display:inline-grid;place-items:center;width:22px;height:22px;background:var(--gold);border-radius:50%;margin-right:5px}.reg-layout{display:grid;grid-template-columns:320px 1fr;gap:34px;align-items:start}.reg-aside{position:sticky;top:100px;background:#111;color:#fff;border-radius:26px;padding:28px}.reg-aside>img{width:115px;background:#fff;border-radius:50%}.reg-aside h2{font:700 25px Georgia,serif;color:var(--gold)}.reg-aside p{font-size:12px;color:#ccc}.reg-help{display:grid;gap:7px;margin:22px 0}.reg-help b{color:var(--gold)}.reg-help a{font-size:13px;font-weight:800}.privacy-card{border-top:1px solid #333;padding-top:18px}.registration-form{display:grid;gap:18px}.registration-form fieldset{margin:0;border:1px solid var(--line);border-radius:22px;padding:24px;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.035)}.registration-form legend{padding:0 10px;font:700 21px Georgia,serif}.registration-form label{display:block;font-size:11px;font-weight:900;margin-bottom:13px}.registration-form input,.registration-form select,.registration-form textarea{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d9d2b5;border-radius:11px;background:#fff}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-help{font-size:10px;color:#777;margin-top:-5px}.consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:600!important}.consent input{width:auto!important;margin-top:3px!important}.submit-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;border-radius:20px;background:#111;color:#fff}.submit-panel b,.submit-panel span{display:block}.submit-panel span{font-size:10px;color:#aaa}.form-status{font-size:11px;color:#7b6900;font-weight:800}.registration-form input:focus,.registration-form select:focus,.registration-form textarea:focus{outline:3px solid rgba(242,207,0,.28);border-color:#bda600}@media(max-width:850px){.reg-layout{grid-template-columns:1fr}.reg-aside{position:static}.form-grid.two{grid-template-columns:1fr}.submit-panel{align-items:stretch;flex-direction:column}.submit-panel .btn{width:100%}}


.payment-fieldset{position:relative;overflow:hidden}
.payment-fieldset:after{content:"$";position:absolute;right:-10px;top:-45px;font:900 190px Georgia,serif;color:rgba(242,207,0,.06);pointer-events:none}
.payment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0 20px}
.payment-option{appearance:none;text-align:left;border:1px solid #d9d2b5;background:#fff;border-radius:15px;padding:14px;cursor:pointer;transition:.2s}
.payment-option span,.payment-option strong{display:block}
.payment-option span{font-size:10px;color:#666;font-weight:800}
.payment-option strong{margin-top:4px;font-size:14px}
.payment-option:hover,.payment-option.active{border-color:#12a84f;box-shadow:0 0 0 3px rgba(18,168,79,.12);transform:translateY(-1px)}
.payment-details{margin-bottom:17px}
.ecocash-card{border:1px solid #b9dfc7;background:linear-gradient(135deg,#f7fff9,#eafff1);border-radius:20px;padding:20px}
.ecocash-brand{display:flex;align-items:center;gap:12px}
.ecocash-mark{display:grid;place-items:center;min-width:94px;height:42px;padding:0 12px;border-radius:12px;background:#10a64b;color:#fff;font-size:18px;font-weight:950;font-style:italic;box-shadow:0 7px 18px rgba(16,166,75,.18)}
.ecocash-brand b,.ecocash-brand span{display:block}.ecocash-brand span{font-size:9px;color:#4f6c59}
.ecocash-card>p{font-size:13px;font-weight:900;margin:16px 0 12px}
.ecocash-actions{display:flex;gap:9px;flex-wrap:wrap}
.ecocash-btn{background:#10a64b!important;color:#fff!important;border-color:#10a64b!important}
.ussd-btn{border-color:#9bc9aa!important}
.ecocash-card small{display:block;margin-top:13px;color:#53705e;line-height:1.5}
.payment-proof{margin-top:14px;padding:15px;border:1px dashed #c9bb72;border-radius:15px;background:#fffdf1}
.payment-proof h3{font:700 17px Georgia,serif;margin:0 0 5px}.payment-proof p{font-size:10px;color:#666;margin:0 0 10px}
@media(max-width:650px){.payment-grid{grid-template-columns:1fr}.ecocash-actions .btn{width:100%;text-align:center}}


.recipient-box{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;margin:14px 0;padding:13px 15px;background:#fff;border:1px solid #cbe6d3;border-radius:14px}
.recipient-box span{font-size:9px;color:#6b7f70;text-transform:uppercase;letter-spacing:.08em}.recipient-box strong{font-size:13px}.recipient-box b{grid-column:2;font-size:18px;color:#087c38}
.currency-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.currency-btn{border:1px solid #b9dfc7;background:#fff;color:#154924;padding:11px 13px;border-radius:12px;font-weight:900;cursor:pointer}
.currency-btn.active{background:#10a64b;color:#fff;border-color:#10a64b;box-shadow:0 0 0 3px rgba(16,166,75,.12)}
.rate-note{background:#fff9da;border:1px solid #eadb91;border-radius:12px;padding:11px 13px;font-size:11px;color:#554d24}
.rate-note small{display:block;margin-top:4px;color:#756d3a;line-height:1.45}
.amount-panel{margin:14px 0;padding:16px;border-radius:14px;background:#111;color:#fff}
.amount-panel span,.amount-panel small{display:block}.amount-panel span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#bbb}
.amount-panel strong{display:block;font:800 32px Georgia,serif;color:#f2cf00;margin:3px 0}.amount-panel small{color:#bbb}
.security-note{display:flex;gap:10px;margin-top:14px;padding:12px;border-radius:12px;background:#f7f7f7;border:1px solid #e4e4e4}
.security-note b{font-size:10px;white-space:nowrap}.security-note span{font-size:9px;color:#666;line-height:1.5}
.proof-actions{display:flex;gap:8px;flex-wrap:wrap}.proof-btn{background:#111!important;color:#fff!important}
.proof-status{font-size:9px;color:#3d684a;margin-top:8px}
@media(max-width:650px){.currency-toggle{grid-template-columns:1fr}.proof-actions .btn{width:100%;text-align:center}.security-note{flex-direction:column}}

.payment-centre-link{max-width:1100px;margin:15px auto 0;padding:0 16px}.payment-centre-link .btn{display:inline-flex}


.glitter-burst{position:fixed;pointer-events:none;z-index:99999;width:8px;height:8px;border-radius:50%;background:#f2cf00;box-shadow:0 0 10px rgba(242,207,0,.75);animation:glitterPop .72s ease-out forwards}
.glitter-burst:before,.glitter-burst:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:16px -10px 0 #f2cf00,-14px -14px 0 #fff,18px 11px 0 #fff,-17px 10px 0 #f2cf00,2px -21px 0 #f2cf00,-2px 21px 0 #fff,24px 0 0 #f2cf00,-24px 1px 0 #fff}
.glitter-burst:before{transform:translate(-50%,-50%) scale(.65) rotate(15deg)}.glitter-burst:after{transform:translate(-50%,-50%) scale(.95) rotate(45deg);opacity:.75}
@keyframes glitterPop{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.45) rotate(155deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(2) rotate(240deg)}}
@media(prefers-reduced-motion:reduce){.glitter-burst{display:none}}


/* Rufasch Advanced Ambient Theme
   90-second cycle: Gold -> Turquoise -> Lime Green -> Gold.
   Each phase changes gradually over a 30-second interval. */
:root{
  --ambient-gold: rgba(242,207,0,.105);
  --ambient-turquoise: rgba(35,205,190,.095);
  --ambient-lime: rgba(145,220,45,.09);
}
body{position:relative;isolation:isolate}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 10%,var(--ambient-gold),transparent 38%),
    radial-gradient(circle at 88% 34%,rgba(242,207,0,.055),transparent 42%),
    linear-gradient(135deg,rgba(255,251,225,.55),rgba(255,255,255,.2));
  animation:rufaschAmbientGold 90s ease-in-out infinite;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.55;
  background:linear-gradient(115deg,transparent 0 25%,rgba(255,255,255,.28) 43%,transparent 62% 100%);
  background-size:220% 220%;
  animation:rufaschAmbientShimmer 18s ease-in-out infinite;
}
@keyframes rufaschAmbientGold{
  0%,100%{
    background:
      radial-gradient(circle at 12% 10%,rgba(242,207,0,.105),transparent 38%),
      radial-gradient(circle at 88% 34%,rgba(242,207,0,.055),transparent 42%),
      linear-gradient(135deg,rgba(255,251,225,.55),rgba(255,255,255,.2));
  }
  33.333%{
    background:
      radial-gradient(circle at 12% 10%,rgba(35,205,190,.095),transparent 38%),
      radial-gradient(circle at 88% 34%,rgba(35,205,190,.05),transparent 42%),
      linear-gradient(135deg,rgba(230,255,252,.5),rgba(255,255,255,.2));
  }
  66.666%{
    background:
      radial-gradient(circle at 12% 10%,rgba(145,220,45,.09),transparent 38%),
      radial-gradient(circle at 88% 34%,rgba(145,220,45,.05),transparent 42%),
      linear-gradient(135deg,rgba(244,255,225,.52),rgba(255,255,255,.2));
  }
}
@keyframes rufaschAmbientShimmer{
  0%,100%{background-position:0% 50%;opacity:.32}
  50%{background-position:100% 50%;opacity:.58}
}

/* Let the ambient colour subtly breathe through light sections/cards
   while preserving text contrast and the premium gold identity. */
main>section:not(.hero):not(.accommodation-section):not(.proof-section),
.section:not(.accommodation-section):not(.proof-section){
  background-color:rgba(255,255,255,.88);
  backdrop-filter:saturate(108%);
}
.product-card,.course-card,.address-card,.checkout-card,.product-group,
.hero-card,.proof-card,fieldset{
  transition:box-shadow 1.2s ease,background-color 1.2s ease,border-color 1.2s ease;
}

/* Very faint ambient edge glow for interactive premium feel */
@keyframes rufaschAmbientEdge{
  0%,100%{box-shadow:0 0 0 1px rgba(242,207,0,.06),0 10px 35px rgba(0,0,0,.035)}
  33.333%{box-shadow:0 0 0 1px rgba(35,205,190,.055),0 10px 35px rgba(0,0,0,.035)}
  66.666%{box-shadow:0 0 0 1px rgba(145,220,45,.055),0 10px 35px rgba(0,0,0,.035)}
}
.product-card,.course-card,.address-card,.hero-card{
  animation:rufaschAmbientEdge 90s ease-in-out infinite;
}

@media(prefers-reduced-motion:reduce){
  body::before,body::after,.product-card,.course-card,.address-card,.hero-card{animation:none}
  body::before{
    background:
      radial-gradient(circle at 12% 10%,rgba(242,207,0,.085),transparent 38%),
      linear-gradient(135deg,rgba(255,251,225,.45),rgba(255,255,255,.15));
  }
}
