/* Workshop registration CTA + animated modal */
.nav-workshop-register{
  border:0;
  cursor:pointer;
  font:inherit;
  font-weight:900;
  text-decoration:none;
  color:#080808;
  background:linear-gradient(135deg,#ffd21f,#f4b400);
  padding:10px 16px;
  border-radius:999px;
  box-shadow:0 0 0 0 #ffd21f66;
  animation:wsNavPulse 2.4s ease-in-out infinite;
  white-space:nowrap;
}
.nav-workshop-register:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}
@keyframes wsNavPulse{
  0%,100%{box-shadow:0 0 0 0 #ffd21f55}
  50%{box-shadow:0 0 0 10px #ffd21f00}
}

.workshop-partner-band{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px clamp(18px,5vw,64px);
  background:linear-gradient(120deg,#111 0%,#1a1608 45%,#111 100%);
  color:#fff;
  border-top:1px solid #2c2c2c;
  border-bottom:1px solid #2c2c2c;
}
.workshop-partner-band h2{
  margin:0 0 8px;
  font-size:clamp(24px,3.5vw,34px);
  line-height:1.1;
}
.workshop-partner-band p{margin:0;color:#d5d5d5;max-width:640px;line-height:1.5}
.workshop-partner-cta{
  position:relative;
  overflow:hidden;
  min-width:min(100%,260px);
  font-size:16px;
  padding:14px 22px;
}
.ws-cta-shine{
  position:absolute;
  inset:-40% auto -40% -30%;
  width:40%;
  background:linear-gradient(90deg,transparent,#ffffff55,transparent);
  transform:skewX(-18deg);
  animation:wsCtaShine 3.2s ease-in-out infinite;
}
@keyframes wsCtaShine{
  0%{left:-40%}
  55%,100%{left:120%}
}

.ws-reg-overlay{
  z-index:2100;
  backdrop-filter:blur(6px);
  opacity:0;
  transition:opacity .28s ease;
}
.ws-reg-overlay.ws-reg-open{opacity:1}
.ws-reg-overlay.ws-reg-closing{opacity:0}

.ws-reg-modal{
  position:relative;
  width:min(560px,100%);
  max-height:min(92vh,820px);
  overflow:auto;
  background:#fff;
  border-radius:18px;
  border:1px solid #e8e3d2;
  box-shadow:0 28px 80px #00000055;
  transform:translateY(24px) scale(.96);
  opacity:0;
  animation:wsModalIn .42s cubic-bezier(.2,.9,.2,1) forwards;
}
@keyframes wsModalIn{
  to{transform:translateY(0) scale(1);opacity:1}
}
.ws-reg-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.ws-reg-hero{
  position:relative;
  display:grid;
  place-items:center;
  min-height:120px;
  background:linear-gradient(160deg,#080808,#1d1a10);
  overflow:hidden;
}
.ws-reg-logo{width:56px;height:56px;z-index:1;animation:wsLogoFloat 3s ease-in-out infinite}
@keyframes wsLogoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
.ws-reg-orbit{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.ws-reg-orbit span{
  position:absolute;
  border:1px solid #ffd21f44;
  border-radius:50%;
  animation:wsOrbitSpin 8s linear infinite;
}
.ws-reg-orbit span:nth-child(1){width:90px;height:90px}
.ws-reg-orbit span:nth-child(2){width:140px;height:140px;animation-duration:12s;animation-direction:reverse}
.ws-reg-orbit span:nth-child(3){width:190px;height:190px;animation-duration:16s}
@keyframes wsOrbitSpin{to{transform:rotate(360deg)}}

.ws-reg-progress{
  display:flex;
  gap:8px;
  justify-content:center;
  padding:12px 16px 0;
}
.ws-reg-progress span{
  width:28px;
  height:4px;
  border-radius:999px;
  background:#e8e3d2;
  transition:background .25s ease, transform .25s ease;
}
.ws-reg-progress span.is-done,
.ws-reg-progress span.is-current{background:linear-gradient(90deg,#ffd21f,#f4b400)}
.ws-reg-progress span.is-current{transform:scaleX(1.15)}

.ws-reg-body{padding:18px 20px 22px}
.ws-reg-step[hidden]{display:none!important}
.ws-reg-step.ws-reg-step-active{animation:wsStepIn .35s ease}
@keyframes wsStepIn{
  from{opacity:0;transform:translateX(12px)}
  to{opacity:1;transform:translateX(0)}
}
.ws-reg-lead{color:#5a5546;line-height:1.55;margin:0 0 14px}
.ws-reg-benefits{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:10px;
}
.ws-reg-benefits li{
  background:#fffaf0;
  border:1px solid #ede4c9;
  border-radius:10px;
  padding:12px 14px;
}
.ws-reg-benefits strong{display:block;color:#111;margin-bottom:4px}
.ws-reg-benefits span{color:#6e6a5e;font-size:13px;line-height:1.45}
.ws-reg-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.ws-reg-grid label{display:block;font-weight:800;font-size:13px}
.ws-reg-grid input{
  display:block;
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid #ddd4bc;
  border-radius:8px;
}
.ws-reg-grid .span-2{grid-column:1/-1}
.ws-reg-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.ws-reg-actions .btn{flex:1 1 auto;min-width:120px}
.ws-reg-msg{margin-top:8px}

.ws-reg-list{
  list-style:none;
  margin:0 0 14px;
  padding:0;
  display:grid;
  gap:10px;
}
.ws-reg-card{
  border:1px solid #e8e3d2;
  border-radius:12px;
  padding:14px;
  background:#fffdf6;
}
.ws-reg-card--pending{border-left:4px solid #f4b400}
.ws-reg-card--approved{border-left:4px solid #1f8a5b}
.ws-reg-card--rejected{border-left:4px solid #d83b32}
.ws-reg-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.ws-reg-status{
  font-size:12px;
  font-weight:800;
  color:#6e6a5e;
  text-align:right;
}
.ws-reg-empty{
  margin:0 0 14px;
  padding:14px;
  border-radius:10px;
  background:#f6f3ea;
  color:#5a5546;
}

.drawer-register-btn{
  display:block;
  width:100%;
  text-align:left;
  border:1px solid #ffd21f55;
  background:linear-gradient(135deg,#ffd21f22,#f4b40011);
  color:#fff;
  font:inherit;
  font-weight:800;
  padding:12px 14px;
  border-radius:10px;
  cursor:pointer;
}

@media (max-width:900px){
  .nav-workshop-register{
    display:none;
  }
}
@media (max-width:640px){
  .ws-reg-grid{grid-template-columns:1fr}
  .workshop-partner-band{align-items:flex-start}
  .workshop-partner-cta{width:100%}
  .ws-reg-modal{border-radius:14px}
  .ws-reg-body{padding:16px}
}
