/*
   Secondary public pages — final brand and conversion polish.
   Applies only to Webinar, Webinar Registration, Location, FAQ,
   Terms, Refund Policy, and 404. Existing document structure is preserved.
*/

body.page-webinar,
body.page-webinar-registration,
body.page-location,
body.page-faq,
body.page-terms,
body.page-refund-policy,
body.page-404{
  --secondary-indigo:#2B2E83;
  --secondary-navy:#11133E;
  --secondary-gold:#D8A63D;
  --secondary-green:#0EA672;
  overflow-x:hidden;
}

/* Unified keyboard focus treatment. */
.page-webinar :is(a,button,summary):focus-visible,
.page-webinar-registration :is(a,button,summary):focus-visible,
.page-location :is(a,button,summary):focus-visible,
.page-faq :is(a,button,summary):focus-visible,
.page-terms :is(a,button,summary):focus-visible,
.page-refund-policy :is(a,button,summary):focus-visible,
.page-404 :is(a,button,summary):focus-visible{
  outline:3px solid rgba(246,197,18,.72);
  outline-offset:4px;
}

/* Webinar pages: a restrained editorial hero instead of an empty placeholder. */
.page-webinar .comingsoon-page,
.page-webinar-registration .comingsoon-page{
  display:grid;
  align-items:center;
  padding-top:clamp(74px,9vw,118px);
  padding-bottom:clamp(74px,9vw,118px);
}

.page-webinar .comingsoon-page::before,
.page-webinar-registration .comingsoon-page::before,
.page-404 .err-page::before{
  content:'';
  position:absolute;
  inset:-18%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 24% 32%,rgba(216,166,61,.14),transparent 28%),
    radial-gradient(ellipse at 77% 68%,rgba(14,166,114,.12),transparent 31%);
  filter:blur(8px);
}

.comingsoon-wrap{
  width:min(820px,calc(100% - 40px));
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.comingsoon-wrap::before{
  content:'reytaxconsulting \00D7 P3Nusahati';
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-bottom:24px;
  padding:6px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#C9D1E4;
  background:rgba(255,255,255,.055);
  font-family:'Outfit',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
}

.comingsoon-wrap::after{
  content:'';
  position:absolute;
  top:0;
  left:12%;
  right:12%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(246,197,18,.68),rgba(14,166,114,.48),transparent);
}

.page-webinar .comingsoon-badge,
.page-webinar-registration .comingsoon-badge{
  color:transparent;
  font-size:0;
  transform:rotate(-2deg);
}

.page-webinar .comingsoon-badge::before,
.page-webinar-registration .comingsoon-badge::before{
  display:block;
  color:#F2C85B;
  font-family:'Outfit',sans-serif;
  font-size:27px;
  line-height:1;
}

.page-webinar .comingsoon-badge::before{content:'W';}
.page-webinar-registration .comingsoon-badge::before{content:'R';color:#8CE0C0;}

.comingsoon-title{max-width:650px;}
.comingsoon-sub{max-width:620px;}
.comingsoon-actions .btn{
  min-height:50px;
  box-shadow:0 14px 30px rgba(4,7,39,.18);
}

.comingsoon-actions .btn:hover{transform:translateY(-2px);}

/* Shared title area: more depth around the content, still calm and readable. */
.lokasi-top,
.faq-top,
.policy-top{
  position:relative;
  isolation:isolate;
}

.lokasi-top::before,
.faq-top::before,
.policy-top::before{
  content:'';
  position:absolute;
  z-index:-1;
  width:clamp(220px,32vw,430px);
  height:clamp(220px,32vw,430px);
  left:50%;
  top:50%;
  transform:translate(-50%,-52%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.76),rgba(255,255,255,0) 70%);
  pointer-events:none;
}

.lokasi-page-title,
.faq-page-title,
.policy-page-title{max-width:820px;margin-left:auto;margin-right:auto;}

.lokasi-page-sub,
.faq-page-sub,
.policy-page-sub{max-width:700px;}

/* Location: give both information and map equal visual authority. */
.lokasi-card,
.lokasi-map-wrap{
  position:relative;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.lokasi-card::before,
.lokasi-map-wrap::before{
  content:'';
  position:absolute;
  z-index:2;
  top:-1px;
  left:24px;
  right:24px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(43,46,131,.86),rgba(216,166,61,.78),rgba(14,166,114,.76));
}

.lokasi-map-wrap::after{
  content:'Karawang \00B7 Jawa Barat';
  position:absolute;
  z-index:3;
  left:20px;
  bottom:20px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  color:#fff;
  background:rgba(17,19,62,.78);
  box-shadow:0 10px 24px rgba(7,9,42,.18);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font-family:'Outfit',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
}

.lokasi-card:hover,
.lokasi-map-wrap:hover{
  transform:translateY(-3px);
  border-color:rgba(43,46,131,.18);
  box-shadow:0 30px 70px rgba(27,34,96,.13),inset 0 1px 0 rgba(255,255,255,.94);
}

/* FAQ numbering strengthens scanning and hierarchy. */
.faq-list{counter-reset:faq-item;}
.faq-page details{counter-increment:faq-item;}
.faq-page summary::before{
  content:counter(faq-item,decimal-leading-zero);
  flex:0 0 34px;
  color:#A47817;
  font-family:'Outfit',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
}

.faq-page details[open] summary::before{color:#0B8C61;}
.faq-page details[open]{box-shadow:0 20px 48px rgba(27,34,96,.1);}

/* Policy pages: numbered, document-like sections with a clearer reading rhythm. */
.policy-body{counter-reset:policy-block;}
.policy-block{counter-increment:policy-block;}
.policy-block h2{display:flex;align-items:center;gap:12px;}
.policy-block h2::before{
  content:counter(policy-block,decimal-leading-zero);
  flex:0 0 34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(43,46,131,.1);
  border-radius:10px;
  color:#2B2E83;
  background:#F1F2FA;
  font-family:'Outfit',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}

.page-refund-policy .policy-block h2::before{
  color:#8B6815;
  background:#FFF6DE;
  border-color:rgba(216,166,61,.18);
}

.policy-block{
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.policy-block:hover{
  transform:translateY(-2px);
  border-color:rgba(43,46,131,.17);
  box-shadow:0 20px 46px rgba(27,34,96,.09),inset 0 1px 0 rgba(255,255,255,.94);
}

/* Let the final CTA visually flow into the footer. */
.lokasi-page,
.faq-page,
.policy-page{
  margin-bottom:-1px;
  padding-bottom:clamp(82px,9vw,124px);
}

.lokasi-page::after,
.faq-page::after,
.policy-page::after{
  height:clamp(430px,48vw,650px);
  background:linear-gradient(180deg,transparent 0%,rgba(17,19,62,.22) 36%,rgba(17,19,62,.78) 77%,#11133E 100%);
}

.lokasi-page .cta-final,
.faq-page .cta-final,
.policy-page .cta-final{
  overflow:hidden;
  isolation:isolate;
  transition:transform .28s ease,box-shadow .28s ease;
}

.lokasi-page .cta-final::after,
.faq-page .cta-final::after,
.policy-page .cta-final::after{
  content:'';
  position:absolute;
  z-index:0;
  width:280px;
  height:280px;
  right:-116px;
  bottom:-142px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018);
  pointer-events:none;
}

.lokasi-page .cta-final>*,
.faq-page .cta-final>*,
.policy-page .cta-final>*{position:relative;z-index:1;}

.lokasi-page .cta-final:hover,
.faq-page .cta-final:hover,
.policy-page .cta-final:hover{
  transform:translateY(-3px);
  box-shadow:0 34px 82px rgba(7,9,42,.3),inset 0 1px 0 rgba(255,255,255,.09);
}

.page-location footer,
.page-faq footer,
.page-terms footer,
.page-refund-policy footer,
.page-webinar footer,
.page-webinar-registration footer,
.page-404 footer{border-top:0;}

/* 404: make the glass panel feel intentional, not like a blank error state. */
.err-wrap{position:relative;z-index:1;overflow:hidden;}
.err-wrap::before{
  content:'reytaxconsulting \00D7 P3Nusahati';
  display:inline-flex;
  margin-bottom:22px;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#C9D1E4;
  background:rgba(255,255,255,.05);
  font-family:'Outfit',sans-serif;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.09em;
}

.err-wrap::after{
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  right:-110px;
  top:-110px;
  border:1px solid rgba(246,197,18,.13);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(246,197,18,.025),0 0 0 68px rgba(14,166,114,.02);
  pointer-events:none;
}

@media(max-width:720px){
  .comingsoon-wrap{width:min(100% - 28px,820px);}
  .faq-page summary::before{flex-basis:28px;}
  .policy-block h2{align-items:flex-start;}
  .policy-block h2::before{flex-basis:30px;height:30px;border-radius:9px;}
  .lokasi-map-wrap::after{left:14px;bottom:14px;}
}

@media(prefers-reduced-motion:reduce){
  .comingsoon-actions .btn,
  .lokasi-card,
  .lokasi-map-wrap,
  .policy-block,
  .lokasi-page .cta-final,
  .faq-page .cta-final,
  .policy-page .cta-final{transition:none;}
}
