@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Lato:wght@400;600;700&display=swap');

.tac-jd-wrapper { max-width:680px;margin:40px auto;background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.10);overflow:hidden;font-family:'Lato',sans-serif; }
.tac-jd-header  { text-align:center;padding:48px 40px 32px;border-bottom:1px solid #f0f0f0; }
.tac-jd-logo-circle {
    width: 120px;
    height: 120px;
    border-radius: 0;
    background: none;
    box-shadow: none;
}
.tac-jd-logo-a { display: none; }
.tac-jd-title   { font-family:'Playfair Display',serif;font-size:32px;font-weight:700;color:#111;margin:0 0 12px;letter-spacing:-.5px; }
.tac-jd-subtitle{ font-size:15px;color:#666;margin:0 auto;max-width:400px;line-height:1.6; }

.tac-jd-notice  { display:flex;align-items:flex-start;gap:14px;margin:28px 40px 0;padding:16px 20px;border-radius:10px;font-size:15px;line-height:1.6;animation:tac-slide-down .3s ease; }
.tac-jd-success { background:#eafaf1;border:1px solid #27ae60;color:#1e8449; }
.tac-jd-error   { background:#fdf0ef;border:1px solid #e74c3c;color:#c0392b; }
.tac-jd-notice-icon { font-size:20px;flex-shrink:0;margin-top:2px; }
@keyframes tac-slide-down { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }

#tac-jd-form-wrap { padding:32px 40px 48px; }
.tac-jd-field   { margin-bottom:24px; }
.tac-jd-label   { display:block;font-weight:700;font-size:14px;color:#111;margin-bottom:8px;letter-spacing:.3px; }
.tac-req        { color:#c0392b; }
.tac-jd-hint    { font-size:13px;color:#888;margin:-4px 0 12px; }

.tac-jd-input   { width:100%;padding:14px 16px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:15px;font-family:'Lato',sans-serif;color:#222;background:#f7f7fc;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;outline:none; }
.tac-jd-input:focus { border-color:#c0392b;background:#fff;box-shadow:0 0 0 3px rgba(192,57,43,.12); }
.tac-jd-input::placeholder { color:#bbb; }
.tac-jd-textarea { resize:vertical;min-height:90px; }
.tac-jd-select  { appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px; }

.tac-jd-checkboxes  { display:flex;flex-direction:column;gap:10px; }
.tac-jd-check-label { display:flex;align-items:center;gap:12px;font-size:15px;color:#333;cursor:pointer;user-select:none;padding:10px 14px;border:1.5px solid #e8e8e8;border-radius:8px;transition:background .15s,border-color .15s; }
.tac-jd-check-label:hover { background:#fff5f5;border-color:#e74c3c; }
.tac-jd-single-check { display:inline-flex; }
.tac-jd-checkbox    { position:absolute;opacity:0;width:0;height:0; }
.tac-jd-check-box   { width:20px;height:20px;border:2px solid #ccc;border-radius:5px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;transition:background .15s,border-color .15s; }
.tac-jd-checkbox:checked + .tac-jd-check-box { background:#c0392b;border-color:#c0392b; }
.tac-jd-checkbox:checked + .tac-jd-check-box::after { content:'';width:6px;height:10px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);display:block; }
.tac-jd-check-label:has(.tac-jd-checkbox:checked) { background:#fff5f5;border-color:#c0392b; }

.tac-jd-radio-group  { display:flex;flex-direction:column;gap:10px; }
.tac-jd-radio-label  { display:flex;align-items:center;gap:12px;font-size:15px;color:#333;cursor:pointer;padding:10px 14px;border:1.5px solid #e8e8e8;border-radius:8px;transition:background .15s,border-color .15s; }
.tac-jd-radio-label:hover { background:#fff5f5;border-color:#e74c3c; }
.tac-jd-radio-label input[type=radio] { position:absolute;opacity:0;width:0;height:0; }
.tac-jd-radio-circle { width:20px;height:20px;border:2px solid #ccc;border-radius:50%;flex-shrink:0;background:#fff;display:flex;align-items:center;justify-content:center;transition:border-color .15s; }
.tac-jd-radio-label input:checked ~ .tac-jd-radio-circle { border-color:#c0392b; }
.tac-jd-radio-label input:checked ~ .tac-jd-radio-circle::after { content:'';width:10px;height:10px;background:#c0392b;border-radius:50%;display:block; }
.tac-jd-radio-label:has(input:checked) { background:#fff5f5;border-color:#c0392b; }

.tac-jd-dept-error { color:#c0392b;font-size:13px;margin:8px 0 0; }

.tac-jd-submit  { display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;background:#c0392b;color:#fff;border:none;border-radius:10px;font-family:'Lato',sans-serif;font-size:16px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;margin-top:8px;box-shadow:0 4px 18px rgba(192,57,43,.30); }
.tac-jd-submit:hover   { background:#a93226;transform:translateY(-1px);box-shadow:0 6px 24px rgba(192,57,43,.40); }
.tac-jd-submit:disabled{ background:#ccc;cursor:not-allowed;box-shadow:none; }
.tac-jd-spinner { animation:tac-spin 1s linear infinite;font-size:18px; }
@keyframes tac-spin { to{transform:rotate(360deg)} }

@media(max-width:600px){
    .tac-jd-wrapper { margin:16px;border-radius:12px; }
    .tac-jd-header  { padding:36px 24px 24px; }
    #tac-jd-form-wrap{ padding:24px 24px 36px; }
    .tac-jd-notice  { margin:0 24px; }
    .tac-jd-title   { font-size:26px; }
}
