/* =========================================================
   Cultural Group — Application form (परिशिष्ट-1)
   Builds on style.css (form controls, .required, .form-hint)
   and cg-rules.css (header band, page fonts)
   ========================================================= */
.cg-hero-kicker{margin:10px 0 0; font-size:.85rem; font-weight:600; color:#fed7aa}
.cg-form-wrap{max-width:1040px; padding-top:24px; padding-bottom:40px}

/* Secondary English text beside Hindi */
.cg-en{font-weight:400; color:var(--h-muted); font-size:.85em}
.cg-req, label.required::after, legend.required::after{color:var(--danger); font-weight:700}
legend.required::after{content:" *"}
/* Hindi label, then the mandatory star, then the English line below */
.cg-body .form-label.required{display:flex; flex-wrap:wrap; align-items:baseline; column-gap:4px}
.cg-body .form-label.required::after{content:"*"; order:1}
.form-label .cg-en, legend .cg-en{display:block; flex-basis:100%; order:2; margin-top:1px}
.cg-body .cg-step-title:focus, .cg-body .cg-receipt:focus, .cg-body .cg-step-alert:focus{outline:0}
.gov-form-section-title .cg-en{font-size:.8em; margin-left:4px}
.cg-body .gov-form-section-title{font-size:15px}

/* ---------- Meta strip ---------- */
.cg-meta{display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; background:#fff; border:1px solid var(--h-border); border-radius:12px; padding:12px 18px; margin-bottom:14px}
.cg-meta-item{display:flex; flex-direction:column; line-height:1.3}
.cg-meta-label{font-size:.75rem; color:var(--h-muted)}
.cg-meta-item strong{font-size:1rem; color:var(--navy-900); letter-spacing:.02em}
.cg-meta-note{margin:0 0 0 auto; font-size:.8rem; color:var(--h-muted)}

.cg-draft-bar{display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; background:var(--success-bg); color:#14532d; border-radius:10px; padding:10px 14px; margin-bottom:14px; font-size:.875rem}
.cg-draft-bar > i{font-size:1.2rem}
.cg-draft-bar > span{flex:1 1 300px}

/* ---------- Gate (rules not accepted) ---------- */
.cg-gate{background:#fff; border:1px solid var(--h-border); border-radius:12px; padding:36px 24px; text-align:center}
.cg-gate > i{font-size:2.4rem; color:var(--orange-700)}
.cg-gate h2{font-size:1.3rem; margin:8px 0 4px}
.cg-gate p{color:var(--h-muted)}
.cg-gate-actions{display:flex; flex-wrap:wrap; gap:10px; justify-content:center}

/* ---------- Logged-in applicant (top bar) ---------- */
.cg-user{display:flex; align-items:center; gap:8px; padding-left:12px; margin-left:4px; border-left:1px solid rgba(255,255,255,.3); font-size:.8rem}
.cg-user > i{font-size:1rem}
.cg-user small{opacity:.8; margin-left:4px}
.cg-user .h-tb-link{padding:2px 8px; border:1px solid rgba(255,255,255,.5); border-radius:4px}
.cg-user .h-tb-link:hover{background:#fff; color:var(--h-topbar); text-decoration:none}

/* Contact verified at registration (read-only) */
.form-control.cg-verified{background:var(--success-bg); border-color:#86efac}
.cg-verified-tag{margin-top:4px; font-size:.75rem; font-weight:600; color:var(--success)}

/* ---------- Stepper ---------- */
.cg-steps{margin-bottom:14px}
.cg-steps ol{display:flex; list-style:none; margin:0; padding:0; gap:6px; overflow-x:auto; scrollbar-width:thin}
.cg-steps li{flex:1 1 0; min-width:0}
.cg-steps button{width:100%; height:100%; display:flex; align-items:center; gap:8px; text-align:left; background:#fff; border:1px solid var(--h-border); border-radius:10px; padding:8px 10px; color:var(--h-muted); font-size:.82rem; line-height:1.25; cursor:default}
.cg-step-no{flex:0 0 26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--gray-100); color:var(--gray-700); font-weight:700; font-size:.8rem}
.cg-step-txt{display:flex; flex-direction:column; font-weight:600; min-width:0}
.cg-step-txt small{font-weight:400; font-size:.72rem}
.cg-steps li.is-done button{color:var(--h-text); cursor:pointer}
.cg-steps li.is-done button:hover{border-color:var(--sky-300); background:var(--sky-50)}
.cg-steps li.is-done .cg-step-no{background:var(--success); color:#fff}
.cg-steps li.is-current button{border-color:var(--orange-500); box-shadow:0 0 0 3px var(--orange-100); color:var(--navy-900)}
.cg-steps li.is-current .cg-step-no{background:var(--orange-700); color:#fff}
.cg-step-count{display:none; margin:8px 0 0; font-size:.85rem; font-weight:600; color:var(--navy-900)}

/* ---------- Step card ---------- */
#cg-form{background:#fff; border:1px solid var(--h-border); border-radius:12px; padding:24px 28px}
.cg-step-title{display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; font-size:1.3rem; font-weight:700; margin:0 0 18px}
.cg-step-title > span{display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--sky-700); color:#fff; font-size:.95rem}
.cg-step-title small{font-size:.9rem; font-weight:500; color:var(--h-muted)}

.cg-step-alert{background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:10px; padding:10px 14px; margin-bottom:16px; font-size:.9rem; outline:0}
.cg-step-alert ul{margin:6px 0 0; padding-left:1.2rem}
.cg-step-alert a{color:#991b1b; text-decoration:underline}

.cg-fieldset{border:0; margin:0; padding:0; min-width:0}
.cg-fieldset legend{float:none; width:auto; font-size:1rem; margin-bottom:8px}

.cg-info{background:var(--sky-50); border:1px solid var(--sky-200); border-radius:10px; padding:12px 14px; font-size:.875rem}
.cg-info strong{color:var(--sky-700)}
.cg-info ul{margin:6px 0 0; padding-left:1.1rem}

/* Chip-style checkboxes for themes */
.cg-chip-checks{display:flex; flex-wrap:wrap; gap:8px}
.cg-chip{position:relative}
.cg-chip input{position:absolute; opacity:0; width:1px; height:1px}
.cg-chip span{display:inline-flex; flex-direction:column; border:1px solid var(--gray-200); border-radius:10px; padding:6px 12px 6px 32px; background:#fff; cursor:pointer; font-size:.875rem; line-height:1.3; position:relative}
.cg-chip span small{color:var(--h-muted); font-size:.75rem}
.cg-chip span::before{content:""; position:absolute; left:10px; top:50%; width:16px; height:16px; margin-top:-8px; border:2px solid var(--gray-500); border-radius:4px; background:#fff}
.cg-chip input:checked + span{border-color:var(--sky-600); background:var(--sky-50)}
.cg-chip input:checked + span::before{background:var(--sky-600) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") center / 12px no-repeat; border-color:var(--sky-600)}
.cg-chip input:focus-visible + span{outline:3px solid var(--orange-500); outline-offset:2px}

/* Radios */
.cg-radio-row{display:flex; flex-wrap:wrap; gap:10px}
.cg-radio{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--gray-200); border-radius:10px; padding:8px 16px; cursor:pointer; background:#fff; min-width:120px}
.cg-radio input{width:1.1em; height:1.1em; accent-color:var(--sky-700); margin:0}
.cg-radio:has(input:checked){border-color:var(--sky-600); background:var(--sky-50)}
.cg-radio input:focus-visible{outline:3px solid var(--orange-500); outline-offset:2px}

.cg-check-line{display:flex; gap:10px; align-items:flex-start; padding-left:0; margin:10px 0}
.cg-check-line .form-check-input{float:none; margin:3px 0 0; flex:0 0 auto; width:1.2em; height:1.2em}
.cg-check-line .form-check-label{cursor:pointer}
.cg-check-line{flex-wrap:wrap}
.cg-check-line > .form-check-label{flex:1 1 0; min-width:0}
.cg-check-line > .cg-fb{flex:0 0 100%; padding-left:calc(1.2em + 10px); margin-top:0}

.cg-eligibility{margin-top:18px; padding:14px 16px; border:1px dashed var(--sky-200); border-radius:10px; background:var(--gray-50)}
.cg-block-msg{display:flex; gap:10px; align-items:flex-start; margin-top:12px; background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:10px; padding:10px 14px; font-size:.875rem}
.cg-block-msg > i{font-size:1.1rem}
.cg-sub{margin-top:14px; padding:14px 16px; border-left:3px solid var(--sky-300); background:var(--gray-50); border-radius:0 10px 10px 0}

/* ---------- Artists ---------- */
.cg-counts{display:flex; gap:10px; margin:14px 0 4px; flex-wrap:wrap}
.cg-counts > div{flex:1 1 110px; background:var(--gray-50); border:1px solid var(--h-border); border-radius:10px; padding:8px 14px; display:flex; justify-content:space-between; align-items:center}
.cg-counts span{display:flex; flex-direction:column; font-size:.85rem; line-height:1.2}
.cg-counts span small{color:var(--h-muted)}
.cg-counts strong{font-size:1.4rem; color:var(--sky-700)}

/* ---------- Editable tables (artists, instruments, documents) ---------- */
.cg-tbl-wrap{overflow-x:auto; border:1px solid var(--h-border); border-radius:10px; margin-bottom:10px; background:#fff}
.cg-tbl{width:100%; border-collapse:separate; border-spacing:0; font-size:.9rem}
.cg-tbl th{background:var(--gray-50); color:var(--navy-900); font-weight:600; font-size:.8rem; line-height:1.3; text-align:left; vertical-align:bottom; padding:8px 10px; border-bottom:1px solid var(--h-border)}
.cg-tbl th small{display:block; font-weight:400; color:var(--h-muted)}
.cg-tbl .cg-req{color:var(--danger); font-weight:700}
.cg-tbl td{padding:8px 10px; vertical-align:top; border-bottom:1px solid var(--h-border)}
.cg-tbl tbody tr:last-child td{border-bottom:0}
.cg-tbl .form-control, .cg-tbl .form-select{font-size:.9rem; padding-top:.3rem; padding-bottom:.3rem}
.cg-tbl .cg-fb{font-size:.75rem}
.cg-col-no{width:56px; text-align:center !important}
.cg-col-act{width:44px; text-align:center}
.cg-tbl-empty{margin:0; padding:14px; text-align:center; font-size:.85rem; color:var(--h-muted); border-top:1px solid var(--h-border)}
.cg-tbl thead + tbody:empty{display:none}
.cg-tbl-wrap table:has(tbody:empty) + .cg-tbl-empty{border-top:0}

.cg-artist-tbl{min-width:820px}
.cg-artist-tbl .cg-col-name{min-width:190px}
.cg-artist-tbl .cg-col-gender{width:172px}
.cg-artist-tbl .cg-col-dob{width:172px}
.cg-artist-tbl .cg-col-qual{width:180px}
.cg-artist-tbl .cg-col-govt{width:104px}
.cg-artist-tbl td.cg-col-govt{padding-top:14px}
.cg-artist-no{display:inline-grid; place-items:center; width:30px; height:30px; margin-top:3px; border-radius:8px; background:var(--sky-700); color:#fff; font-weight:700; font-size:.85rem}
.cg-artist-extra .cg-artist-no, .cg-artist-no.is-extra{background:var(--orange-700)}
.cg-artist.is-locked td{background:var(--sky-50)}
.cg-govt-line{display:flex; gap:6px; align-items:center}
.cg-govt-line .form-check-input{margin:0; width:1.15em; height:1.15em}
.cg-govt-na{color:var(--h-muted)}
.cg-artist-remove{border:0; background:none; color:var(--danger); font-size:1.05rem; padding:4px 6px; margin-top:2px; border-radius:6px}
.cg-artist-remove:hover{background:#fef2f2}
.cg-lock-note{font-size:.72rem; color:var(--sky-700); margin-top:3px}

.cg-inst-tbl{min-width:420px}
.cg-inst-tbl .cg-col-qty{width:140px}
.cg-inst-no{display:inline-block; margin-top:6px; font-weight:600; color:var(--h-muted)}

.cg-doc-progress{margin-left:auto; align-self:center; font-style:normal; font-size:.78rem; font-weight:700; background:var(--gray-200); color:#374151; border-radius:999px; padding:3px 10px}
.cg-doc-progress.is-done{background:var(--success-bg); color:var(--success)}

/* ---------- Artist-wise documents ---------- */
.cg-doc-tbl{min-width:860px}
.cg-doc-tbl .cg-col-artist{min-width:150px}
.cg-doc-tbl .cg-col-artist small{display:block; font-size:.75rem; color:var(--h-muted)}
.cg-doc-tbl .cg-govt-tag{color:var(--orange-700) !important; font-weight:600}
.cg-doc-tbl td[data-cell]{width:122px}
.cg-doc-tbl .cg-col-char{width:130px}
.cg-col-char .cg-upl + .cg-upl{margin-top:8px}
.cg-upl{position:relative; display:flex; flex-direction:column; gap:3px; min-width:0}
.cg-upl-input{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden}
.cg-upl-btn{display:inline-flex; align-items:center; gap:5px; align-self:flex-start; margin:0; padding:4px 10px; border:1px dashed var(--sky-300); border-radius:6px; background:#fff; color:var(--sky-700); font-size:.78rem; font-weight:600; cursor:pointer; white-space:nowrap}
.cg-upl-btn:hover{background:var(--sky-50)}
.cg-upl-input:focus-visible + .cg-upl-btn{outline:3px solid var(--orange-500); outline-offset:2px}
.cg-upl-input.is-invalid + .cg-upl-btn{border-color:var(--danger); color:var(--danger)}
.cg-upl-name{font-size:.72rem; color:var(--h-muted); max-width:112px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.cg-upl.is-done .cg-upl-btn{border-style:solid; border-color:#86efac; background:var(--success-bg); color:#14532d}
.cg-upl.is-done .cg-upl-name{color:var(--success); font-weight:600}
.cg-na{display:inline-block; margin-top:4px; font-size:.8rem; color:var(--h-muted)}

/* ---------- Review ---------- */
.cg-notes{background:var(--warning-bg); border:1px solid #f5d98a; border-radius:10px; padding:12px 16px; margin-bottom:6px}
.cg-notes h3{font-size:1rem; font-weight:700; color:#7c4a03; margin:0 0 6px}
.cg-notes ul{margin:0; padding-left:1.1rem; font-size:.875rem}
.cg-notes li{margin-bottom:4px}
.cg-notes li span{display:block; color:var(--h-muted)}

.cg-review{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px}
.cg-review-card{border:1px solid var(--h-border); border-radius:10px; padding:12px 14px}
.cg-review-card h4{display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:.9rem; font-weight:700; color:var(--sky-700); margin:0 0 8px}
.cg-review-card h4 button{border:0; background:none; color:var(--orange-700); font-size:.8rem; font-weight:600; padding:0}
.cg-review-card h4 button:hover{text-decoration:underline}
.cg-review-card dl{margin:0; font-size:.85rem}
.cg-review-card dl div{display:flex; gap:8px; padding:2px 0}
.cg-review-card dt{flex:0 0 42%; font-weight:500; color:var(--h-muted)}
.cg-review-card dd{margin:0; min-width:0; overflow-wrap:anywhere}

.cg-declare{border:2px solid var(--sky-200); background:var(--sky-50); border-radius:10px; padding:14px 16px}
.cg-declare .form-check{display:flex; gap:12px; padding-left:0; margin:0}
.cg-declare .form-check-input{float:none; margin:4px 0 0; flex:0 0 auto; width:1.3em; height:1.3em; border:2px solid var(--sky-600)}
.cg-declare .form-check-label{line-height:1.6; cursor:pointer}

/* ---------- Navigation ---------- */
.cg-nav{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; padding-top:18px; border-top:1px solid var(--h-border)}
.cg-nav .btn{padding:8px 18px; font-weight:600}

/* ---------- Validation ---------- */
.cg-fb{display:block; margin-top:4px; font-size:.8rem; color:var(--danger)}
.cg-fb:empty{display:none}
.form-control.is-invalid, .form-select.is-invalid{border-color:var(--danger); background-image:none; padding-right:.75rem}
[data-group].is-invalid .cg-radio, [data-group].is-invalid .cg-chip span{border-color:var(--danger)}
.form-check-input.is-invalid{border-color:var(--danger)}
.form-check-input.is-invalid ~ .form-check-label{color:inherit}

/* ---------- Receipt ---------- */
.cg-receipt{background:#fff; border:1px solid var(--h-border); border-radius:12px; padding:24px 28px; outline:0}
.cg-receipt-head{display:flex; gap:14px; align-items:center; background:var(--success-bg); border-radius:10px; padding:14px 18px}
.cg-receipt-head > i{font-size:2.2rem; color:var(--success)}
.cg-receipt-head h2{font-size:1.3rem; margin:0; color:#14532d}
.cg-receipt-head p{margin:0; color:#14532d}
.cg-receipt-sub{font-size:1.05rem; font-weight:700; margin:22px 0 10px}
.cg-receipt-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0; margin:0; border:1px solid var(--h-border); border-radius:10px; overflow:hidden}
.cg-receipt-grid div{padding:9px 14px; border-bottom:1px solid var(--h-border)}
.cg-receipt-grid div:nth-child(odd){border-right:1px solid var(--h-border)}
.cg-receipt-grid dt{font-size:.75rem; font-weight:500; color:var(--h-muted)}
.cg-receipt-grid dd{margin:0; font-weight:600}
.cg-receipt-grid .cg-appno dd{font-size:1.15rem; color:var(--orange-800)}
.cg-next{padding-left:1.2rem; font-size:.9rem}
.cg-next li{margin-bottom:8px}
.cg-next li span{display:block; color:var(--h-muted)}
.cg-receipt-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}

@media (max-width: 991.98px){
  .cg-step-txt small{display:none}
}
@media (max-width: 767.98px){
  #cg-form, .cg-receipt{padding:18px 16px}
  .cg-steps li{flex:0 0 auto}
  .cg-steps li:not(.is-current) .cg-step-txt{display:none}
  .cg-step-count{display:block}
  .cg-meta-note{margin-left:0}
  .cg-user{flex:1 0 100%; border-left:0; padding-left:0; margin-left:0}
  .cg-user .h-tb-link{margin-left:auto}
  .cg-review, .cg-receipt-grid{grid-template-columns:1fr}
  .cg-receipt-grid div:nth-child(odd){border-right:0}
  .cg-nav .btn{flex:1 1 auto}
  .cg-nav .ms-auto{margin-left:0 !important; flex-basis:100%}
}

@media print{
  .h-topbar, .h-header, .cg-hero, .h-footer, .h-skip, #cg-app, .cg-receipt-actions{display:none !important}
  .cg-receipt{border:0; padding:0}
  .cg-form-wrap{padding:0; max-width:none}
}

/* ---------- Readable forms: dark text, clear outlines (government style) ----------
   Applies to the application form and the leader registration form. */
.cg-form-wrap, .rg-wrap{--h-text:var(--form-text); --h-muted:#3b4553; --h-border:#c5ced7}
.cg-form-wrap, .rg-wrap, #cg-form{color:var(--form-text)}
.cg-form-wrap .cg-en, .rg-wrap .cg-en{color:#374151}
.cg-form-wrap .form-label, .rg-wrap .form-label, .cg-fieldset legend{color:var(--form-label); font-weight:600}
.cg-step-title{color:var(--form-title)}
.cg-step-title small{color:#374151}
.cg-chip span, .cg-radio{border-color:var(--form-border); color:var(--form-label)}
.cg-chip span small{color:#4b5563}
.cg-chip span::before{border-color:var(--form-border-hover)}
.cg-info{color:var(--form-label); border-color:#9fc9e8}
.cg-tbl-wrap{border-color:#c5ced7}
.cg-tbl th{color:var(--form-text); background:#eef2f6; border-bottom-color:#c5ced7}
.cg-tbl th small{color:#4b5563}
.cg-tbl td{border-bottom-color:#dde3e9}
.cg-tbl-empty, .cg-upl-name, .cg-na, .cg-govt-na, .cg-inst-no{color:#4b5563}
.cg-upl-btn{border-color:#6aa3cf; color:var(--form-focus)}
.cg-review-card dt{color:#4b5563}
.cg-review-card dd{color:var(--form-text)}
.cg-steps button{border-color:#c5ced7; color:#374151}
.cg-step-count, .cg-meta-item strong{color:var(--form-title)}
.cg-meta-label, .cg-meta-note{color:#4b5563}
.cg-counts span small{color:#4b5563}
