.jca-application { max-width:800px; margin:clamp(64px,7vw,112px) auto clamp(96px,10vw,160px); padding:clamp(22px,5vw,48px); border:1px solid #dce5e8; border-radius:22px; background:#fff; color:#263942; font-size:16px; line-height:1.75; box-shadow:0 12px 36px rgba(20,50,60,.05); box-sizing:border-box; }
body.jca-application-page .entry-title, body.jca-application-page .wp-block-post-title, body.jca-application-page .page-title { margin-top:clamp(64px,7vw,112px) !important; margin-bottom:40px !important; }
body.jca-application-page form.jca-application { margin-top:clamp(64px,7vw,112px) !important; margin-bottom:clamp(96px,10vw,160px) !important; }
.jca-application-stage { display:grid; place-items:center; min-height:80vh; min-height:80svh; padding:clamp(72px,8vw,128px) 0; box-sizing:border-box; }
.jca-application-complete { width:100%; max-width:800px; margin:0 auto; padding:clamp(28px,5vw,64px); border:1px solid #dce6e9; border-radius:20px; background:#fff; text-align:center; color:#263942; line-height:1.9; box-sizing:border-box; box-shadow:0 12px 36px rgba(20,50,60,.05); }
.jca-complete-brand { margin:0 0 28px; color:#176b75; font-size:13px; font-weight:600; }
.jca-complete-icon { display:inline-grid; place-items:center; width:64px; height:64px; margin-bottom:24px; border-radius:50%; background:#e8f5f2; color:#176b75; font-size:32px; }
.jca-application-complete h2 { margin:0 0 24px; font-size:clamp(24px,4vw,32px); line-height:1.5; }
.jca-application-complete p { margin:0 0 24px; font-size:16px; }
.jca-application-complete .jca-complete-brand { font-size:13px; }
.jca-application-complete .jca-complete-lead { font-size:18px; }
.jca-complete-lead { font-size:18px; font-weight:600; }
.jca-complete-steps { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; list-style:none; padding:0; margin:36px 0; }
.jca-complete-steps li { padding:10px 16px; border:1px solid #dce6e9; border-radius:8px; font-size:13px; color:#596e7a; }
.jca-complete-steps .is-complete { color:#176b75; background:#e8f5f2; border-color:#b9ddd4; font-weight:600; }
.jca-complete-note { padding:22px; margin:32px 0; border-radius:10px; background:#f5f8f9; text-align:left; color:#596e7a; font-size:13px; }
.jca-complete-home { display:inline-block; padding:12px 24px; border:1px solid #176b75; border-radius:8px; color:#176b75; text-decoration:none; font-size:15px; font-weight:600; }
.jca-application *, .jca-application *::before { box-sizing:border-box; }
.jca-application-header { margin-bottom:38px; }
.jca-application .jca-application-eyebrow { margin:0 0 14px; color:#176b75; font-size:12px; font-weight:700; letter-spacing:.04em; }
.jca-application h2 { margin:0 0 16px; font-size:clamp(24px,4vw,32px); line-height:1.4; color:#213c47; }
.jca-application-header > p { margin:0 0 20px; color:#536772; }
.jca-application-key { display:flex; flex-wrap:wrap; gap:12px 22px; padding:18px; border-radius:10px; background:#f6f8f9; font-size:12px; }
.jca-application-key > span { display:inline-flex; align-items:center; gap:8px; }
.jca-application .jca-badge { display:inline-flex; align-items:center; padding:3px 10px; border:1px solid transparent; border-radius:6px; font-size:11px; font-weight:700; line-height:1.6; white-space:nowrap; letter-spacing:.02em; }
.jca-application .jca-badge--public { background:#fff0f0; border-color:#f3b9bf; color:#b82939; }
.jca-application .jca-badge--private { background:#e4f5fc; border-color:#a9d9ed; color:#176380; }
.jca-application .jca-badge--supplement { background:#f0f2f4; border-color:#d9dfe4; color:#5a6872; }
.jca-application .jca-required { color:#b82939; font-size:19px; font-weight:700; line-height:1; }
.jca-application .jca-optional { color:#6e7b85; font-size:12px; font-weight:400; }
.jca-application-section { margin:0 0 36px; padding:28px; border:1px solid #dce6e9; border-radius:14px; }
.jca-application-section--private { border-top:4px solid #9bd6ed; }
.jca-application-section--public { border-top:4px solid #db7480; }
.jca-application-section h3 { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:0 0 10px; font-size:19px; line-height:1.6; }
.jca-section-number { color:#879aa3; font-size:12px; font-weight:600; margin-right:4px; }
.jca-application .jca-application-hint { display:block; margin:8px 0 0; color:#596e7a; font-size:12px; font-weight:400; line-height:1.8; }
.jca-application-field { display:block; margin:28px 0 0; }
.jca-field-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:10px; font-weight:600; }
.jca-application input:not([type=checkbox]):not([type=hidden]), .jca-application select, .jca-application textarea { display:block; width:100%; max-width:100%; min-height:48px; padding:12px 14px; border:1px solid #b6c8ce; border-radius:8px; font:inherit; line-height:1.6; background:#fcfdfd; color:#243a46; }
.jca-application textarea { resize:vertical; }
.jca-application input::placeholder, .jca-application textarea::placeholder { color:#788c97; opacity:1; }
.jca-application input[type=file] { padding:12px; font-size:13px; }
.jca-application input[type=file]::file-selector-button { border:0; padding:9px 14px; margin-right:12px; border-radius:5px; background:#e7eef0; color:#344e5a; cursor:pointer; }
.jca-application [hidden] { display:none !important; }
.jca-field-footer { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-top:8px; }
.jca-field-footer .jca-application-hint { margin:0; }
.jca-character-count { flex-shrink:0; color:#687c86; font-size:12px; white-space:nowrap; }
.jca-character-count.is-over { color:#b82939; font-weight:700; }
.jca-application [aria-invalid=true] { border-color:#c24453 !important; background:#fff8f8 !important; }
.jca-application fieldset { min-width:0; }
.jca-application-genres { margin:28px 0 0; padding:0; border:0; }
.jca-application legend { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0; font-size:16px; font-weight:600; }
.jca-genre-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.jca-application-check { display:flex; align-items:flex-start; gap:10px; font-size:14px; }
.jca-genre-options .jca-application-check { align-items:center; margin:0; padding:12px; border:1px solid #dbe5e8; border-radius:8px; background:#fcfdfd; cursor:pointer; }
.jca-genre-options .jca-application-check:has(input:checked) { border-color:#176b75; background:#eef7f7; }
.jca-application-check input { flex-shrink:0; width:19px; height:19px; margin:3px 0 0; accent-color:#176b75; }
.jca-image-guide { display:flex; align-items:center; gap:16px; margin-top:18px; padding:18px; background:#f5f8f9; border-radius:10px; }
.jca-image-guide img { flex-shrink:0; width:64px; height:64px; border-radius:50%; }
.jca-image-guide p { margin:0; font-size:12px; color:#596e7a; }
.jca-image-guide strong { color:#344e5a; }
.jca-application-supplement { margin:0 0 36px; padding:20px 24px; border:1px solid #dce6e9; border-radius:12px; }
.jca-application-supplement summary { font-weight:600; cursor:pointer; }
.jca-application-supplement summary .jca-optional { margin-left:8px; }
.jca-application-agreement { margin:0; padding:24px; border:1px solid #dce6e9; border-radius:12px; }
.jca-application-agreement legend { padding:0 8px; }
.jca-application-terms { max-height:280px; overflow:auto; overflow-wrap:anywhere; padding:18px; background:#f5f8f9; color:#536772; font-size:13px; line-height:1.9; }
.jca-consent-check { margin:24px 0 0; }
.jca-application .cf-turnstile { max-width:100%; margin-top:30px; }
.jca-application button[type=submit] { width:100%; min-height:54px; margin-top:24px; padding:15px; border:0; border-radius:10px; color:#fff; background:#176b75; font:inherit; font-weight:700; cursor:pointer; }
.jca-application button[type=submit]:hover { background:#135a63; }
.jca-application button[type=submit]:disabled { cursor:wait; opacity:.65; }
.jca-application :focus-visible { outline:3px solid #176b75; outline-offset:3px; }
.jca-application-notice, .jca-application-error { padding:18px; background:#eef7f7; overflow-wrap:anywhere; }
.jca-application-error { border-left:4px solid #b82939; background:#fff3f3; }
.jca-application .jca-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:600px) { .jca-application { margin:48px auto 80px; padding:22px 16px; border-radius:14px; } .jca-application-header { margin-bottom:28px; } .jca-application-section { margin-bottom:28px; padding:22px 16px; } .jca-application-section h3 { font-size:17px; } .jca-genre-options { grid-template-columns:1fr; } .jca-application-agreement { padding:16px; } .jca-application-supplement { padding:18px 16px; } .jca-field-footer { flex-direction:column; gap:6px; } .jca-character-count { align-self:flex-end; } .jca-image-guide { padding:14px; gap:12px; } .jca-image-guide img { width:48px; height:48px; } }

@media(max-width:600px) { body.jca-application-page form.jca-application { margin-top:48px !important; margin-bottom:80px !important; } body.jca-application-page .entry-title, body.jca-application-page .wp-block-post-title, body.jca-application-page .page-title { margin-top:48px !important; margin-bottom:28px !important; } .jca-application-stage { padding:56px 0 80px; } .jca-application-complete { padding:32px 20px; } .jca-complete-steps { gap:8px; } .jca-complete-steps li { padding:8px 12px; } }
