/* Halaman awam koperasi (/<kod>): identiti koperasi di hadapan, myKoop di belakang. */
:root{--navy:#0e2340;--blue:#1e4b87;--blue-2:#163a6a;--ink:#14202f;--teks:#3d4b5e;--muted:#56677c;--line:#e1e6ee;--bg:#f4f6f9;--lembut:#eef3fa;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);color-scheme:light}
*{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.6;background:var(--bg)}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
a:focus-visible{outline:3px solid #7fa7dd;outline-offset:4px;border-radius:6px}

/* Kepala */
.public-header{position:sticky;top:0;z-index:5;min-height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;
  padding:12px max(24px,calc((100vw - 1120px)/2));gap:16px}
.public-brand{display:flex;align-items:center}
.public-header-note{font-size:13px;color:var(--muted)}
.public-identity{display:flex;align-items:center;gap:12px;color:var(--ink);min-width:0}
.public-identity:hover{text-decoration:none}
.public-identity>span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.public-identity b{font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-identity small{font-size:12px;color:var(--muted)}
.public-identity-logo{flex:none;width:44px;height:44px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--line)}
.public-initials{display:grid;place-items:center;background:var(--blue);color:#fff;border:0;font-weight:700;font-size:15px}

/* Jalur demo */
.public-demo{margin:0;padding:10px max(24px,calc((100vw - 1120px)/2));background:#fcf1dc;color:#7a4e00;border-bottom:1px solid #f0dfae;font-size:13px}

/* Kandungan */
.public-main{max-width:1120px;margin:0 auto;padding:40px 24px 56px}
.public-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:center;padding:56px;background:#fff;border:1px solid var(--line);border-radius:20px;
  box-shadow:0 1px 2px rgba(14,35,64,.04),0 12px 40px rgba(14,35,64,.05)}
.public-hero h1{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-.025em;margin:0 0 14px;overflow-wrap:anywhere;text-wrap:balance}
.public-registration{display:inline-flex;gap:6px;align-items:baseline;margin:0 0 24px;padding:6px 12px;border-radius:999px;background:var(--lembut);font-size:13px;color:var(--muted)}
.public-registration strong{color:var(--ink);font-weight:600}
.public-description{font-size:17px;color:var(--teks);max-width:62ch;margin:0 0 30px;overflow-wrap:anywhere}
.public-lines{white-space:pre-line}
.public-actions{display:flex;gap:12px;flex-wrap:wrap}
.public-button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:13px 22px;border-radius:10px;border:1px solid var(--blue);font-size:15px;font-weight:600;white-space:nowrap}
.public-button:hover{background:var(--blue-2);border-color:var(--blue-2);color:#fff;text-decoration:none}
.public-button.secondary{background:#fff;color:var(--blue);border-color:#c8d2df}
.public-button.secondary:hover{background:var(--lembut);color:var(--blue)}
.public-button.kecil{padding:9px 16px;font-size:14px;border-radius:9px}
.public-muted{font-size:13px;color:var(--muted);margin:16px 0 0}
.public-hero-logo{display:flex;justify-content:center}
.public-logo{display:block;width:100%;max-width:280px;height:auto;aspect-ratio:1;object-fit:contain;border-radius:16px}
.public-logo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed #c6d1df;background:#f6f8fb;color:#7a8ba1;width:220px}
.public-logo-placeholder svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.6}
.public-logo-placeholder span{font-size:12px}

/* Urusan keanggotaan */
.public-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.public-option{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
a.public-option:hover{text-decoration:none;border-color:#b9c7da;box-shadow:0 8px 24px rgba(14,35,64,.07)}
.public-option>span:last-child{display:flex;flex-direction:column;gap:6px}
.public-option b{font-size:18px;font-weight:650}
.public-option>span:last-child>span{color:var(--muted);font-size:15px;max-width:46ch}
.public-option .public-option-pautan{color:var(--blue)!important;font-weight:600;font-size:14px!important;margin-top:4px}
.public-option-ikon{flex:none;width:46px;height:46px;border-radius:12px;background:var(--lembut);color:var(--blue);display:grid;place-items:center}
.public-option-ikon svg,.public-contact-ikon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Hubungi */
.public-contact{margin-top:24px;padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff}
.public-contact h2{font-size:20px;margin:0 0 20px}
.public-contact dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;font-size:15px}
.public-contact dt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}
.public-contact-ikon{display:inline-grid;color:var(--blue)}
.public-contact-ikon svg{width:18px;height:18px}
.public-contact dd{margin:0;overflow-wrap:anywhere;color:var(--ink)}

/* Kaki */
.public-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;max-width:1120px;margin:0 auto;padding:0 24px 36px;font-size:13px;color:var(--muted)}
.public-footer-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.public-error{text-align:center;min-height:60vh;padding-top:100px}
.public-error h1{margin:0 auto 20px;font-size:32px}

@media(max-width:820px){
  .public-hero{grid-template-columns:1fr;padding:32px 24px;gap:24px;text-align:left}
  .public-hero-logo{order:-1;justify-content:flex-start}
  .public-logo{max-width:150px}
  .public-logo-placeholder{width:130px}
  .public-options{grid-template-columns:1fr;gap:14px}
  .public-contact dl{grid-template-columns:1fr;gap:18px}
}
@media(max-width:560px){
  .public-header{min-height:64px;padding:10px 16px}
  .public-identity small{display:none}
  .public-identity b{font-size:14px;max-width:46vw}
  .public-identity-logo{width:38px;height:38px}
  .public-demo{padding:9px 16px}
  .public-main{padding:20px 16px 32px}
  .public-description{font-size:16px}
  .public-actions{flex-direction:column}
  .public-actions .public-button{width:100%}
  .public-option,.public-contact{padding:22px}
  .public-footer{padding:0 16px 24px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
