/* MTs PPDB - tampilan publik (cerah, rata tengah, responsif) */
.pp-wrap{--g1:#0b7a2b;--g2:#08591f;--g3:#18a03c;--y:#f6c90e;--ink:#12311d;max-width:1100px;margin:0 auto;padding:6px 0 30px;text-align:center;color:var(--ink);font-family:Poppins,"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif}
.pp-wrap *{box-sizing:border-box}
.pp-wrap h2,.pp-wrap h3,.pp-wrap h4,.pp-wrap p,.pp-wrap li,.pp-wrap label,.pp-wrap legend,.pp-wrap th,.pp-wrap td,.pp-wrap small{text-align:center}
.pp-wrap .dashicons{vertical-align:middle}
.pp-head{margin:6px 0 22px}
.pp-head h2,.pp-h{font-weight:800;color:var(--g2);margin:0 0 6px;font-size:clamp(1.5rem,3.6vw,2.1rem);line-height:1.2}
.pp-head h2:after,.pp-h:after{content:"";display:block;width:64px;height:4px;border-radius:4px;margin:12px auto 0;background:linear-gradient(90deg,var(--g3),var(--y))}
.pp-head p{margin:8px 0 0;color:#4a5a50}
.pp-h{font-size:1.5rem;margin:40px 0 20px}
.pp-center{text-align:center;margin:18px 0}
.pp-note{color:#5a7a63;font-size:.88rem;margin:10px 0 0}

/* tombol */
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 26px;border:0;border-radius:40px;font:700 .98rem Poppins,sans-serif;cursor:pointer;text-decoration:none;transition:transform .25s,box-shadow .25s,filter .25s;margin:4px}
.pp-btn:hover{transform:translateY(-3px);filter:saturate(1.1)}
.pp-btn .dashicons{font-size:20px;width:20px;height:20px}
.pp-btn-gold{background:linear-gradient(135deg,#ffd43b,#ffa500);color:#3b2f00;box-shadow:0 10px 22px rgba(255,165,0,.4)}
.pp-btn-green{background:linear-gradient(135deg,#0b7a2b,#18a03c);color:#fff;box-shadow:0 10px 22px rgba(11,122,43,.35)}
.pp-btn-light{background:#fff;color:var(--g2);box-shadow:0 8px 18px rgba(0,0,0,.14)}
.pp-btn-wa{background:linear-gradient(135deg,#128c7e,#25d366);color:#fff;box-shadow:0 10px 22px rgba(37,211,102,.35)}
.pp-btn-gold:hover,.pp-btn-green:hover,.pp-btn-light:hover,.pp-btn-wa:hover{color:inherit}
.pp-btn-green:hover,.pp-btn-wa:hover{color:#fff}

/* hero */
.pp-hero{position:relative;overflow:hidden;padding:44px 22px 36px;border-radius:30px;color:#fff;background:radial-gradient(420px 220px at 92% -10%,rgba(255,255,255,.28),transparent 70%),linear-gradient(135deg,#064e1b,#0b7a2b 50%,#18a03c);box-shadow:0 22px 46px rgba(8,89,31,.3)}
.pp-hero.pp-soon{background:radial-gradient(420px 220px at 92% -10%,rgba(255,255,255,.3),transparent 70%),linear-gradient(135deg,#f97316,#fbbf24)}
.pp-hero.pp-closed{background:radial-gradient(420px 220px at 92% -10%,rgba(255,255,255,.2),transparent 70%),linear-gradient(135deg,#475569,#94a3b8)}
.pp-hero:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;left:-70px;bottom:-110px;background:rgba(255,255,255,.14)}
.pp-hero h2,.pp-hero p{color:#fff;position:relative;text-shadow:0 2px 8px rgba(0,0,0,.2)}
.pp-hero h2{font-size:clamp(1.6rem,4.2vw,2.5rem);font-weight:800;margin:14px 0 4px}
.pp-ta{font-size:1.1rem;font-weight:600;margin:0}
.pp-pill{position:relative;display:inline-block;padding:7px 20px;border-radius:30px;background:#fff;color:var(--g2);font-weight:800;font-size:.82rem;letter-spacing:.06em;box-shadow:0 6px 14px rgba(0,0,0,.18)}
.pp-soon .pp-pill{color:#c2410c}.pp-closed .pp-pill{color:#475569}
.pp-when{margin:16px 0 4px;font-size:1.02rem}
.pp-actions{position:relative;margin-top:18px}

/* statistik */
.pp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:26px 0 0}
.pp-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 14px;border-radius:24px;color:#fff;box-shadow:0 14px 28px rgba(0,0,0,.16);transition:transform .3s}
.pp-stat:hover{transform:translateY(-6px)}
.pp-stat .dashicons{font-size:34px;width:34px;height:34px;margin-bottom:4px}
.pp-stat b{font-size:2.3rem;font-weight:800;line-height:1.1;color:#fff}
.pp-stat small{color:#fff;font-weight:600;opacity:.95}
.pp-stat.s1{background:linear-gradient(135deg,#2563eb,#22d3ee)}
.pp-stat.s2{background:linear-gradient(135deg,#f97316,#fbbf24)}
.pp-stat.s3{background:linear-gradient(135deg,#8b45d6,#ec4899)}

/* kartu jadwal & jalur */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.pp-card{position:relative;overflow:hidden;padding:26px 18px;border-radius:24px;color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.16);transition:transform .3s,box-shadow .3s}
.pp-card:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;top:-56px;right:-46px;background:rgba(255,255,255,.2)}
.pp-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 24px 44px rgba(0,0,0,.24)}
.pp-card h4,.pp-card p{position:relative;color:#fff;margin:6px 0;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.pp-card h4{font-size:1.15rem;font-weight:700}
.pp-card.pp-c0{background:linear-gradient(135deg,#2563eb,#22d3ee)}
.pp-card.pp-c1{background:linear-gradient(135deg,#059669,#a3e635)}
.pp-card.pp-c2{background:linear-gradient(135deg,#f97316,#fbbf24)}
.pp-card.pp-c3{background:linear-gradient(135deg,#8b45d6,#ec4899)}
.pp-ico{font-size:36px!important;width:36px!important;height:36px!important;position:relative}
.pp-chip{position:relative;display:inline-block;padding:4px 14px;border-radius:20px;background:#fff;color:var(--g2);font-size:.78rem;font-weight:700}

/* persyaratan, alur */
.pp-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:34px}
.pp-box{padding:26px 22px;border-radius:24px;background:linear-gradient(135deg,#e6fbee,#fff8d6);border:1px solid rgba(24,160,60,.18);box-shadow:0 12px 28px rgba(8,89,31,.1)}
.pp-box h3{margin:0 0 12px;color:var(--g2);font-weight:700}
.pp-box h3 .dashicons{color:var(--g3);margin-right:4px}
.pp-ul{list-style:none;margin:0;padding:0}
.pp-ul li{padding:9px 6px;border-bottom:1px dashed rgba(24,160,60,.25)}
.pp-ul li:last-child{border-bottom:0}
.pp-ul li:before{content:"\2714";color:var(--g3);margin-right:8px;font-weight:700}
.pp-extra{margin-top:20px}
.pp-steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.pp-steps li{counter-increment:s;position:relative;padding:36px 16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(24,160,60,.2);box-shadow:0 8px 20px rgba(8,89,31,.08)}
.pp-steps li:before{content:counter(s);position:absolute;left:50%;top:-18px;transform:translateX(-50%);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g3));box-shadow:0 6px 14px rgba(11,122,43,.4)}
.pp-steps li:nth-child(4n+2):before{background:linear-gradient(135deg,#2563eb,#22d3ee)}
.pp-steps li:nth-child(4n+3):before{background:linear-gradient(135deg,#f97316,#fbbf24)}
.pp-steps li:nth-child(4n):before{background:linear-gradient(135deg,#8b45d6,#ec4899)}
.pp-steps{padding-top:18px}

/* kondisi: tutup / berhasil / error */
.pp-closed,.pp-ok{max-width:560px;margin:20px auto;padding:36px 24px;border-radius:28px;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.pp-closed{background:linear-gradient(135deg,#475569,#94a3b8)}
.pp-ok{background:linear-gradient(135deg,#059669,#a3e635)}
.pp-closed h2,.pp-closed p,.pp-ok h2,.pp-ok p{color:#fff;margin:8px 0}
.pp-closed .dashicons,.pp-ok .dashicons{font-size:56px;width:56px;height:56px}
.pp-err{max-width:760px;margin:0 auto 20px;padding:16px 22px;border-radius:18px;background:#fff1f1;border:2px solid #fecaca;color:#991b1b}
.pp-err ul{list-style:none;margin:8px 0 0;padding:0}
.pp-err li{padding:2px 0}

/* formulir */
.pp-form{max-width:860px;margin:0 auto}
.pp-sec{margin:0 0 24px;padding:26px 22px 22px;border:0;border-radius:26px;box-shadow:0 12px 28px rgba(8,89,31,.1)}
.pp-sec.pp-c0{background:linear-gradient(135deg,#d9f8e5,#d6ecff)}
.pp-sec.pp-c1{background:linear-gradient(135deg,#fff1b8,#ffd9c7)}
.pp-sec.pp-c2{background:linear-gradient(135deg,#ecdcff,#ffd6ec)}
.pp-sec.pp-c3{background:linear-gradient(135deg,#cdf5f1,#eaffc4)}
.pp-sec legend{float:none;width:fit-content;max-width:100%;display:flex;align-items:center;gap:10px;margin:-48px auto 16px;padding:8px 22px;border-radius:30px;background:#fff;color:var(--g2);font-weight:700;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.pp-sec legend b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--g1),var(--g3));color:#fff;font-size:.9rem}
.pp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 18px}
.pp-f{margin:0 0 14px;text-align:center}
.pp-f>label{display:block;margin-bottom:6px;font-weight:600;font-size:.92rem;color:var(--ink)}
.pp-req{color:#dc2626;font-style:normal}
.pp-f input[type=text],.pp-f input[type=tel],.pp-f input[type=email],.pp-f input[type=date],.pp-f input[type=search],.pp-f select,.pp-f textarea,.pp-cek-form input{width:100%;padding:12px 14px;border:2px solid #cfe5d5;border-radius:14px;background:#fff;color:var(--ink);font:500 1rem Poppins,sans-serif;text-align:center;text-align-last:center;transition:border-color .2s,box-shadow .2s}
.pp-f textarea{text-align:center;resize:vertical}
.pp-f input:focus,.pp-f select:focus,.pp-f textarea:focus,.pp-cek-form input:focus{outline:0;border-color:var(--g3);box-shadow:0 0 0 4px rgba(24,160,60,.2)}
.pp-f small{display:block;margin-top:5px;color:#5a7a63}
.pp-radios{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.pp-radios label{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:30px;background:#fff;border:2px solid #cfe5d5;font-weight:600;cursor:pointer}
.pp-jalur{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.pp-jalur label{position:relative;display:block;cursor:pointer}
.pp-jalur input{position:absolute;opacity:0}
.pp-jalur span{display:block;height:100%;padding:16px 12px;border-radius:18px;background:#fff;border:2px solid #cfe5d5;transition:all .2s}
.pp-jalur b{display:block;color:var(--g2)}
.pp-jalur small{display:block;margin-top:4px;color:#5a7a63;font-size:.8rem}
.pp-jalur label:hover span{transform:translateY(-3px);border-color:var(--g3)}
.pp-jalur input:checked+span{background:linear-gradient(135deg,#0b7a2b,#18a03c);border-color:transparent;box-shadow:0 10px 22px rgba(11,122,43,.35)}
.pp-jalur input:checked+span b,.pp-jalur input:checked+span small{color:#fff}
.pp-jalur input:focus-visible+span{outline:3px solid var(--y)}
.pp-file input[type=file]{width:100%;padding:10px;border:2px dashed #7fc592;border-radius:14px;background:#fff;font:500 .9rem Poppins,sans-serif}
.pp-agree{margin:6px auto 0;padding:16px;border-radius:18px;background:#fff;border:2px solid #cfe5d5;max-width:680px}
.pp-agree label{font-weight:600;cursor:pointer}
.pp-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.pp-submit{padding:16px 44px;font-size:1.1rem}

/* cek status */
.pp-cek-form{max-width:480px;margin:0 auto;padding:26px 22px;border-radius:26px;background:linear-gradient(135deg,#d9f8e5,#fff8d6);box-shadow:0 14px 30px rgba(8,89,31,.12)}
.pp-result{max-width:640px;margin:26px auto 10px;padding:30px 22px;border-radius:28px;color:#fff;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));box-shadow:0 20px 44px rgba(0,0,0,.2)}
.pp-result p,.pp-result h3,.pp-result small,.pp-result b{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.pp-res-top .dashicons{font-size:54px;width:54px;height:54px}
.pp-res-top h3{margin:4px 0 8px;font-size:1.7rem;font-weight:800}
.pp-res-name{margin:6px 0 16px}
.pp-track{list-style:none;display:flex;justify-content:center;gap:8px;margin:16px 0;padding:0;flex-wrap:wrap}
.pp-track li{flex:1 1 130px;padding:10px 6px;border-radius:14px;background:rgba(255,255,255,.2);color:#fff;font-size:.82rem;font-weight:600;opacity:.7}
.pp-track li span{display:block;width:26px;height:26px;margin:0 auto 4px;border-radius:50%;background:rgba(255,255,255,.35);line-height:26px}
.pp-track li.on{opacity:1;background:rgba(255,255,255,.3)}
.pp-track li.on span{background:#fff;color:var(--c);font-weight:800}
.pp-msg{margin:12px auto 0;max-width:520px;padding:12px 16px;border-radius:16px;background:rgba(0,0,0,.14)}
.pp-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;background:var(--c);color:#fff;font-weight:700;font-size:.82rem}

/* bukti pendaftaran */
.pp-bukti{max-width:640px;margin:26px auto 8px;padding:24px 22px;border-radius:24px;background:#fff;border:2px dashed #7fc592;box-shadow:0 12px 28px rgba(8,89,31,.1)}
.pp-bukti-head h3{margin:0;color:var(--g2);font-weight:800}
.pp-bukti-head p{margin:4px 0 14px;color:#5a7a63}
.pp-no{margin:8px 0 16px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#0b7a2b,#18a03c);color:#fff}
.pp-no small{display:block;color:#fff;opacity:.9}
.pp-no b{display:block;font-size:1.9rem;letter-spacing:.06em;color:#fff}
.pp-bukti table{width:100%;border-collapse:collapse}
.pp-bukti th,.pp-bukti td{padding:8px 6px;border-bottom:1px solid #e1efe4;font-size:.92rem}
.pp-bukti th{color:#5a7a63;font-weight:600;width:40%}
.pp-bukti td{font-weight:600}

/* pengumuman */
.pp-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:10px 0 16px}
.pp-tab{padding:10px 26px;border:0;border-radius:30px;background:#fff;color:var(--g2);font:700 .95rem Poppins,sans-serif;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,.1);transition:all .2s}
.pp-tab.on{background:linear-gradient(135deg,#0b7a2b,#18a03c);color:#fff}
.pp-search{width:100%;max-width:420px;padding:12px 16px;border:2px solid #cfe5d5;border-radius:30px;text-align:center;font:500 1rem Poppins,sans-serif}
.pp-pane{display:none}.pp-pane.on{display:block}
.pp-scroll{overflow-x:auto;border-radius:20px;box-shadow:0 12px 28px rgba(8,89,31,.1)}
.pp-table{width:100%;border-collapse:collapse;background:#fff}
.pp-table th{background:linear-gradient(135deg,#0b7a2b,#18a03c);color:#fff;padding:12px 8px}
.pp-table td{padding:11px 8px;border-bottom:1px solid #e6efe8}
.pp-table tbody tr:nth-child(even){background:#f4fbf6}
.pp-table tbody tr:hover{background:#e6f6ea}

@media (max-width:600px){.pp-sec legend{margin-top:-44px;font-size:.92rem}.pp-btn{padding:11px 20px}}
@media (prefers-reduced-motion:reduce){.pp-card,.pp-stat,.pp-btn,.pp-jalur span{transition:none}}
@media print{
 body *{visibility:hidden}
 .pp-bukti,.pp-bukti *{visibility:visible}
 .pp-bukti{position:absolute;left:0;top:0;width:100%;border:2px solid #000;box-shadow:none}
 .pp-noprint{display:none!important}
}
