/* Phase 17.6.4.11 Hotfix 61.0 — Global public frontend typography polish
   Scope: public website only (home/layout/index.php). No admin panel changes. */
:root{
  --atf-public-font:'Hind Siliguri','Noto Sans Bengali','SolaimanLipi',sans-serif;
  --atf-public-body-size:16.25px;
  --atf-public-small-size:13.5px;
  --atf-public-control-size:15.5px;
}

html,body{
  font-family:var(--atf-public-font)!important;
  font-size:var(--atf-public-body-size)!important;
  line-height:1.72!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Keep one clean font family across every public page/component. */
body,
body p,body a,body span,body small,body label,body li,body dt,body dd,
body strong,body b,body em,body blockquote,
body h1,body h2,body h3,body h4,body h5,body h6,
body button,body input,body select,body textarea,
body .btn,body .form-control,body .custom-select,body .input-group-text,
body .nav-link,body .dropdown-item,body .breadcrumb,body .pagination,
body table,body th,body td{
  font-family:var(--atf-public-font)!important;
}

/* Never disturb icon-font glyphs. */
body .fa,body .fas,body .far,body .fal,body .fad{font-family:"Font Awesome 5 Free"!important}
body .fab{font-family:"Font Awesome 5 Brands"!important}

/* Bengali-friendly heading rhythm. Sizes remain page-controlled to avoid layout shifts. */
body h1,body h2,body h3,body h4,body h5,body h6{
  font-weight:700!important;
  line-height:1.30!important;
  letter-spacing:0!important;
  text-rendering:optimizeLegibility;
}
body h4,body h5,body h6{line-height:1.38!important}

/* Reading text */
body p,
body .atf-rich-text,
body .description,
body .content-text,
body .post-content,
body .page-content,
body .card-text{
  font-size:16.25px!important;
  line-height:1.78!important;
}
body li{line-height:1.68}
body small,body .small{font-size:var(--atf-public-small-size)!important;line-height:1.55!important}

/* Main navigation / topbar — same clean feel used by the menu bar. */
body .atf-nav-list .nav-link,
body .navbar-nav .nav-link,
body .navbar .nav-link{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
body .dropdown-menu .dropdown-item{
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.45!important;
}
body .atf-topbar,body .atf-topbar a,body .atf-topbar span{
  font-size:13.5px!important;
  line-height:1.4!important;
}

/* Buttons and links */
body button,
body .btn,
body .atf-btn,
body input[type="submit"],
body input[type="button"]{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}

/* Forms across donation/member/volunteer/career/seminar/contact pages */
body label,
body .form-label,
body .control-label{
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.45!important;
}
body input:not([type="checkbox"]):not([type="radio"]),
body select,
body textarea,
body .form-control,
body .custom-select,
body .select2-selection,
body .input-group-text{
  font-family:var(--atf-public-font)!important;
  font-size:var(--atf-public-control-size)!important;
  line-height:1.45!important;
}
body input::placeholder,body textarea::placeholder{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
}
body .form-text,body .help-block,body .invalid-feedback,body .valid-feedback{
  font-size:13.5px!important;
  line-height:1.55!important;
}

/* Cards, sections and public content blocks */
body .card-title,
body .atf-section-heading h2,
body .atf-activity360-home-card h3,
body .atf-focus-card h3,
body .atf-story-card h3,
body .atf-news-card h3,
body .atf-video-body h3{
  font-weight:700!important;
  letter-spacing:0!important;
}
body .atf-section-heading p,
body .atf-donation-copy p,
body .atf-rich-text{
  font-size:17px!important;
  line-height:1.78!important;
}
body .atf-activity360-home-card p,
body .atf-focus-card p,
body .atf-story-card p,
body .atf-news-card p,
body .atf-video-body p{
  font-size:15.5px!important;
  line-height:1.72!important;
}
body .atf-quick-link b{font-size:16px!important;font-weight:700!important;line-height:1.35!important}
body .atf-quick-link small{font-size:13.5px!important;line-height:1.48!important}

/* Tables, status text and utility UI used by public-facing pages. */
body table,body .table{font-size:15.5px!important}
body table th,body .table th{font-size:15px!important;font-weight:700!important;line-height:1.45!important}
body table td,body .table td{font-size:15.5px!important;line-height:1.55!important}
body .badge,body .label{font-family:var(--atf-public-font)!important;font-size:12.5px!important;font-weight:600!important}
body .breadcrumb,body .breadcrumb a,body .pagination,body .page-link{
  font-size:14.5px!important;
  font-weight:500!important;
}
body .alert{font-size:15.5px!important;line-height:1.65!important}
body .modal-title{font-weight:700!important}
body .modal-body{font-size:16px!important;line-height:1.7!important}

/* Footer */
body .atf-footer,
body .atf-footer p,
body .atf-footer a,
body .atf-footer li,
body .atf-footer-about,
body footer,
body footer p,
body footer a,
body footer li{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
  line-height:1.68!important;
}
body .atf-footer h1,body .atf-footer h2,body .atf-footer h3,body .atf-footer h4,
body footer h1,body footer h2,body footer h3,body footer h4{
  font-weight:700!important;
}

/* Tablet */
@media (min-width:768px) and (max-width:1199px){
  html,body{font-size:16px!important}
  body p,body .card-text{font-size:16px!important}
  body .atf-section-heading p,body .atf-rich-text,body .atf-donation-copy p{font-size:16.5px!important}
}

/* Mobile: preserve readability without making controls/layout oversized. */
@media (max-width:767px){
  html,body{font-size:15.75px!important;line-height:1.70!important}
  body p,body .card-text,body .page-content,body .post-content{font-size:15.75px!important;line-height:1.75!important}
  body .atf-section-heading p,body .atf-rich-text,body .atf-donation-copy p{font-size:16px!important}
  body .atf-nav-list .nav-link,body .navbar-nav .nav-link,body .navbar .nav-link{font-size:15px!important}
  body button,body .btn,body .atf-btn,body input[type="submit"],body input[type="button"]{font-size:15px!important}
  body label,body .form-label,body .control-label{font-size:14.5px!important}
  body input:not([type="checkbox"]):not([type="radio"]),body select,body textarea,body .form-control,body .custom-select{font-size:15px!important}
  body table,body .table,body table td,body .table td{font-size:14.5px!important}
  body table th,body .table th{font-size:14px!important}
  body .atf-footer,body .atf-footer p,body .atf-footer a,body footer,body footer p,body footer a{font-size:14.5px!important}
}

/* Phase 17.6.4.11 Hotfix 61.1 — Global public application/form typography polish */
:root{
  --atf-form-title-size:28px;
  --atf-form-section-size:20px;
  --atf-form-label-size:15.5px;
  --atf-form-control-size:15.5px;
  --atf-form-help-size:13.75px;
}

/* Form/page titles and section headings */
body form h1,body form h2,body form h3,body form h4,body form h5,body form h6,
body .form-wrapper h1,body .form-wrapper h2,body .form-wrapper h3,
body .application-form h1,body .application-form h2,body .application-form h3,
body .panel-title,body .card-header h1,body .card-header h2,body .card-header h3,
body .page-title,body .form-title{
  font-family:var(--atf-public-font)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1.35!important;
}
body form h1,body .application-form h1,body .form-title{font-size:var(--atf-form-title-size)!important}
body form h2,body form h3,body .application-form h2,body .application-form h3,
body .panel-title,body .card-header h2,body .card-header h3{font-size:var(--atf-form-section-size)!important}

/* Labels */
body form label,
body form .form-label,
body form .control-label,
body form .field-label,
body form legend,
body .application-form label,
body .application-form .form-label,
body .application-form .control-label{
  font-family:var(--atf-public-font)!important;
  font-size:var(--atf-form-label-size)!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  color:#24372d!important;
}
body form legend{
  font-size:18px!important;
  font-weight:700!important;
  margin-bottom:12px!important;
}
body form label .required,
body form label .text-danger,
body form .required,
body .application-form .required{
  font-family:var(--atf-public-font)!important;
  font-weight:700!important;
}

/* Text controls, dropdowns and textarea */
body form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body form select,
body form textarea,
body form .form-control,
body form .custom-select,
body .application-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body .application-form select,
body .application-form textarea,
body .application-form .form-control{
  font-family:var(--atf-public-font)!important;
  font-size:var(--atf-form-control-size)!important;
  font-weight:500!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  color:#263a30!important;
}
body form textarea,body .application-form textarea{line-height:1.65!important}
body form input::placeholder,body form textarea::placeholder,
body .application-form input::placeholder,body .application-form textarea::placeholder{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
  font-weight:400!important;
  color:#8a9890!important;
  opacity:1!important;
}
body form select option,body .application-form select option{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
}

/* Select2 / enhanced dropdowns */
body form .select2-container,
body form .select2-selection,
body form .select2-selection__rendered,
body form .select2-results__option,
body .application-form .select2-container,
body .application-form .select2-selection,
body .application-form .select2-selection__rendered{
  font-family:var(--atf-public-font)!important;
  font-size:15.5px!important;
  font-weight:500!important;
  line-height:1.45!important;
}
body .select2-dropdown,body .select2-results__option{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
}

/* Checkbox/radio and inline choice text */
body form .form-check-label,
body form .custom-control-label,
body form .radio label,
body form .checkbox label,
body form input[type="checkbox"] + label,
body form input[type="radio"] + label,
body .application-form .form-check-label,
body .application-form .custom-control-label{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.55!important;
}

/* Help, note, validation and upload guidance */
body form .form-text,
body form .help-block,
body form .help-text,
body form .field-help,
body form .text-muted,
body form .invalid-feedback,
body form .valid-feedback,
body form .error,
body form .validation-error,
body .application-form .form-text,
body .application-form .help-block,
body .application-form .text-muted{
  font-family:var(--atf-public-font)!important;
  font-size:var(--atf-form-help-size)!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:0!important;
}
body form .invalid-feedback,body form .error,body form .validation-error{font-weight:500!important}

/* Input groups, file upload and date controls */
body form .input-group-text,
body form .bootstrap-fileupload,
body form .fileupload,
body form .fileupload-preview,
body form .datepicker,
body .datepicker,
body .datepicker table,
body .datepicker td,body .datepicker th{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
  line-height:1.45!important;
}

/* Buttons: clean menu-like typography */
body form button,
body form .btn,
body form input[type="submit"],
body form input[type="button"],
body form input[type="reset"],
body .application-form button,
body .application-form .btn{
  font-family:var(--atf-public-font)!important;
  font-size:15.5px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}

/* Form cards, steps, tabs and alerts */
body form .card-header,
body form .panel-heading,
body form .nav-tabs .nav-link,
body form .step-title,
body form .wizard-title,
body form .alert,
body .application-form .card-header,
body .application-form .nav-tabs .nav-link{
  font-family:var(--atf-public-font)!important;
  letter-spacing:0!important;
}
body form .nav-tabs .nav-link,body form .step-title,body form .wizard-title{
  font-size:15.5px!important;
  font-weight:600!important;
}
body form .alert,body .application-form .alert{
  font-size:15px!important;
  line-height:1.65!important;
}

/* Public application tables / review summaries */
body form table,body form .table,
body .application-form table,body .application-form .table{
  font-family:var(--atf-public-font)!important;
  font-size:15px!important;
}
body form table th,body form .table th,
body .application-form table th,body .application-form .table th{
  font-size:14.75px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
body form table td,body form .table td,
body .application-form table td,body .application-form .table td{
  font-size:15px!important;
  line-height:1.55!important;
}

@media(max-width:767px){
  :root{
    --atf-form-title-size:24px;
    --atf-form-section-size:18px;
    --atf-form-label-size:14.75px;
    --atf-form-control-size:15px;
    --atf-form-help-size:13.25px;
  }
  body form button,body form .btn,body form input[type="submit"],body .application-form button,body .application-form .btn{
    font-size:15px!important;
  }
  body form .form-check-label,body form .custom-control-label,body form .radio label,body form .checkbox label{
    font-size:14.5px!important;
  }
}

/* Hotfix 61.2 — Global Public Form Layout & Spacing Polish
   Public layout only. Keeps application forms consistent without touching Admin. */
:root{
  --atf-form-control-height:50px;
  --atf-form-control-radius:10px;
  --atf-form-field-gap:18px;
  --atf-form-section-gap:26px;
  --atf-form-card-pad:28px;
}

/* Modern public application form scopes */
body .fp-card form,
body .atf-seminar-card form,
body .atf-member-application-form,
body .atf-aid main form,
body .atf-gi-form-card form,
body #atf-donation-form,
body form.contact-form{
  width:100%;
}

/* Consistent field rhythm */
body .fp-card form > .row > [class*="col-"],
body .atf-seminar-card form > .row > [class*="col-"],
body .atf-member-application-form .row > [class*="col-"],
body .atf-aid main form .cardx > .row > [class*="col-"],
body .atf-gi-form-card form .row > [class*="col-"],
body #atf-donation-form .row > [class*="col-"],
body form.contact-form .form-group{
  margin-bottom:var(--atf-form-field-gap)!important;
}

/* Labels sit neatly above controls */
body .fp-card form label,
body .atf-seminar-card form label,
body .atf-member-application-form label,
body .atf-aid main form label,
body .atf-gi-form-card form label,
body #atf-donation-form label,
body form.contact-form label{
  display:block;
  margin:0 0 7px!important;
}

/* Inputs/selects: same height, padding and corner treatment */
body .fp-card form .form-control,
body .atf-seminar-card form .form-control,
body .atf-member-application-form .form-control,
body .atf-aid main form .form-control,
body .atf-gi-form-card form .form-control,
body #atf-donation-form .form-control,
body form.contact-form .form-control{
  min-height:var(--atf-form-control-height)!important;
  padding:10px 14px!important;
  border-radius:var(--atf-form-control-radius)!important;
  line-height:1.45!important;
  box-shadow:none;
}
body .fp-card form select.form-control,
body .atf-seminar-card form select.form-control,
body .atf-member-application-form select.form-control,
body .atf-aid main form select.form-control,
body .atf-gi-form-card form select.form-control,
body #atf-donation-form select.form-control,
body form.contact-form select.form-control{
  padding-top:8px!important;
  padding-bottom:8px!important;
}
body .fp-card form textarea.form-control,
body .atf-seminar-card form textarea.form-control,
body .atf-member-application-form textarea.form-control,
body .atf-aid main form textarea.form-control,
body .atf-gi-form-card form textarea.form-control,
body #atf-donation-form textarea.form-control,
body form.contact-form textarea.form-control{
  min-height:110px!important;
  height:auto!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
  resize:vertical;
}
body .fp-card form input[type="file"].form-control,
body .atf-member-application-form input[type="file"].form-control,
body .atf-aid main form input[type="file"].form-control{
  min-height:50px!important;
  height:auto!important;
  padding:9px 12px!important;
}

/* Cleaner form section separation */
body .fp-card form > h3{
  margin:var(--atf-form-section-gap) 0 16px!important;
  padding-bottom:10px;
  border-bottom:1px solid rgba(31,105,64,.12);
}
body .fp-card form > h3:first-of-type{margin-top:0!important}
body .atf-seminar-card .atf-section-head{
  margin:var(--atf-form-section-gap) 0 18px!important;
}
body .atf-seminar-card form > .atf-section-head:first-of-type{margin-top:0!important}
body .atf-member-application-form .atf-form-card{
  margin-bottom:22px!important;
  padding:var(--atf-form-card-pad)!important;
}
body .atf-aid main form .cardx{
  margin-bottom:22px!important;
  padding:var(--atf-form-card-pad)!important;
}

/* Section-title blocks get consistent breathing room */
body .atf-member-application-form .atf-form-card-title,
body .atf-aid main form .card-titlex{
  margin-bottom:18px!important;
}
body .atf-member-application-form .atf-form-card-title h3,
body .atf-aid main form .card-titlex h3{
  margin-bottom:3px!important;
}

/* Consent / choice rows */
body .fp-card form .fp-consent,
body .atf-seminar-card .atf-seminar-consent,
body .atf-member-application-form .atf-consent,
body .atf-aid main form .consent,
body .atf-gi-form-card form .atf-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-top:8px!important;
  margin-bottom:18px!important;
  line-height:1.6!important;
}
body .fp-card form .fp-consent input,
body .atf-seminar-card .atf-seminar-consent input,
body .atf-member-application-form .atf-consent input,
body .atf-aid main form .consent input,
body .atf-gi-form-card form .atf-consent input{
  flex:0 0 auto;
  margin-top:4px!important;
}

/* Submit areas feel deliberate and uncluttered */
body .fp-card form .fp-submit,
body .atf-seminar-card .atf-submit-row,
body .atf-member-application-form .atf-submit-panel,
body .atf-aid main form .submitbar{
  margin-top:24px!important;
}
body .atf-seminar-card .atf-submit-row,
body .atf-member-application-form .atf-submit-panel,
body .atf-aid main form .submitbar{
  gap:16px!important;
}
body .fp-card form .fp-submit,
body .atf-seminar-card .atf-seminar-submit,
body .atf-member-application-form button[type="submit"],
body .atf-aid main form .submitbar button,
body .atf-gi-form-card form button[type="submit"],
body #atf-donation-form button[type="submit"],
body form.contact-form button[type="submit"]{
  min-height:50px!important;
  padding:11px 22px!important;
  border-radius:10px!important;
}

/* Alerts and validation should not crowd nearby fields */
body .fp-card form .alert,
body .atf-seminar-card form .alert,
body .atf-member-application-form .alert,
body .atf-aid main form .alert,
body .atf-gi-form-card form .alert,
body #atf-donation-form .alert,
body form.contact-form .alert{
  margin-bottom:22px!important;
  padding:13px 16px!important;
  border-radius:10px!important;
}

/* Select2 follows the same control dimensions when used in public forms */
body .fp-card form .select2-container .select2-selection--single,
body .atf-seminar-card form .select2-container .select2-selection--single,
body .atf-member-application-form .select2-container .select2-selection--single,
body .atf-aid main form .select2-container .select2-selection--single{
  min-height:var(--atf-form-control-height)!important;
  border-radius:var(--atf-form-control-radius)!important;
}
body .fp-card form .select2-selection__rendered,
body .atf-seminar-card form .select2-selection__rendered,
body .atf-member-application-form .select2-selection__rendered,
body .atf-aid main form .select2-selection__rendered{
  line-height:48px!important;
  padding-left:14px!important;
  padding-right:34px!important;
}
body .fp-card form .select2-selection__arrow,
body .atf-seminar-card form .select2-selection__arrow,
body .atf-member-application-form .select2-selection__arrow,
body .atf-aid main form .select2-selection__arrow{
  height:48px!important;
}

@media(max-width:767px){
  :root{
    --atf-form-control-height:48px;
    --atf-form-field-gap:15px;
    --atf-form-section-gap:22px;
    --atf-form-card-pad:20px;
  }
  body .atf-member-application-form .atf-form-card,
  body .atf-aid main form .cardx{
    padding:20px!important;
    margin-bottom:18px!important;
  }
  body .fp-card form > h3{
    margin-top:22px!important;
    margin-bottom:14px!important;
  }
  body .atf-seminar-card .atf-section-head{
    margin:22px 0 15px!important;
  }
  body .fp-card form .fp-submit,
  body .atf-seminar-card .atf-seminar-submit,
  body .atf-member-application-form button[type="submit"],
  body .atf-aid main form .submitbar button,
  body .atf-gi-form-card form button[type="submit"]{
    width:100%!important;
    justify-content:center!important;
  }
}

/* Phase 17.6.4.11 Hotfix 61.3 — Mobile public form responsive audit
   Scope: public forms only. Keeps desktop styling intact while preventing mobile overflow. */

/* Let Bootstrap/form columns and flex children actually shrink on narrow screens. */
body .fp-card form .row > [class*="col-"],
body .atf-seminar-card form .row > [class*="col-"],
body .atf-member-application-form .row > [class*="col-"],
body .atf-aid main form .row > [class*="col-"],
body .atf-gi-form-card form .row > [class*="col-"],
body #atf-donation-form .row > [class*="col-"],
body form.contact-form .row > [class*="col-"]{
  min-width:0!important;
}

/* Long Bengali labels/help/validation text must wrap instead of widening the page. */
body .fp-card form label,
body .atf-seminar-card form label,
body .atf-member-application-form label,
body .atf-aid main form label,
body .atf-gi-form-card form label,
body #atf-donation-form label,
body form.contact-form label,
body .fp-card form small,
body .atf-seminar-card form small,
body .atf-member-application-form small,
body .atf-aid main form small,
body .help-block,
body .text-danger,
body .invalid-feedback,
body .valid-feedback{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Native and enhanced controls never exceed their column width. */
body .fp-card form .form-control,
body .atf-seminar-card form .form-control,
body .atf-member-application-form .form-control,
body .atf-aid main form .form-control,
body .atf-gi-form-card form .form-control,
body #atf-donation-form .form-control,
body form.contact-form .form-control,
body .fp-card form .select2-container,
body .atf-seminar-card form .select2-container,
body .atf-member-application-form .select2-container,
body .atf-aid main form .select2-container{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

body input[type="date"].form-control,
body input[type="time"].form-control,
body input[type="number"].form-control,
body input[type="email"].form-control,
body input[type="tel"].form-control,
body input[type="file"].form-control,
body select.form-control{
  max-width:100%!important;
  min-width:0!important;
}

body input[type="file"].form-control{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body input[type="file"]::file-selector-button{
  max-width:46%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Choice/consent text remains aligned and wraps cleanly. */
body .fp-consent,
body .atf-seminar-consent,
body .atf-member-application-form .atf-consent,
body .atf-aid main form .consent,
body .atf-gi-form-card form .atf-consent,
body #atf-donation-form label:has(input[type="checkbox"]){
  min-width:0!important;
  max-width:100%!important;
}
body .fp-consent span,
body .atf-seminar-consent span,
body .atf-member-application-form .atf-consent span,
body .atf-aid main form .consent span,
body .atf-gi-form-card form .atf-consent span{
  min-width:0;
  overflow-wrap:anywhere;
}

/* Donation quick amounts and form headers can wrap instead of overflowing. */
body .atf-quick-amounts,
body .atf-form-head,
body .atf-submit-panel,
body .atf-aid main form .submitbar{
  flex-wrap:wrap!important;
}

@media (max-width:767px){
  /* 16px controls prevent unwanted iPhone Safari zoom and improve tap readability. */
  body .fp-card form .form-control,
  body .atf-seminar-card form .form-control,
  body .atf-member-application-form .form-control,
  body .atf-aid main form .form-control,
  body .atf-gi-form-card form .form-control,
  body #atf-donation-form .form-control,
  body form.contact-form .form-control,
  body .select2-container .select2-selection,
  body .select2-container .select2-selection__rendered{
    font-size:16px!important;
  }

  /* Explicitly stack all application form grid cells on phones. */
  body .fp-card form .row > [class*="col-"],
  body .atf-seminar-card form .row > [class*="col-"],
  body .atf-member-application-form .row > [class*="col-"],
  body .atf-aid main form .row > [class*="col-"],
  body .atf-gi-form-card form .row > [class*="col-"],
  body #atf-donation-form .row > [class*="col-"],
  body form.contact-form .row > [class*="col-"]{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }

  body .fp-card form input[type="date"],
  body .atf-seminar-card form input[type="date"],
  body .atf-member-application-form input[type="date"],
  body .atf-aid main form input[type="date"]{
    min-height:48px!important;
    height:48px!important;
  }

  /* Submit/info bars become a clear vertical flow on narrow screens. */
  body .atf-member-application-form .atf-submit-panel,
  body .atf-aid main form .submitbar{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  body .atf-member-application-form .atf-submit-panel > *,
  body .atf-aid main form .submitbar > *{
    width:100%!important;
    min-width:0!important;
  }

  body .fp-card form button,
  body .atf-seminar-card form button,
  body .atf-member-application-form button,
  body .atf-aid main form button,
  body .atf-gi-form-card form button,
  body #atf-donation-form button,
  body form.contact-form button{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }

  body .atf-seminar-type-grid{
    grid-template-columns:1fr!important;
  }

  body .atf-quick-amounts{
    gap:8px!important;
  }
  body .atf-quick-amounts .atf-quick-amount{
    flex:1 1 calc(50% - 8px)!important;
    min-width:0!important;
  }
}

@media (max-width:420px){
  body .fp-card,
  body .atf-seminar-card,
  body .atf-member-application-form .atf-form-card,
  body .atf-aid main form .cardx,
  body .atf-gi-form-card{
    padding-left:15px!important;
    padding-right:15px!important;
  }

  body input[type="file"]::file-selector-button{
    max-width:42%;
    padding-left:8px;
    padding-right:8px;
  }
}

/* Hotfix 61.4 — Public form success / error message polish */
body .alert,
body .atf-validation-box{
  border:0!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  margin:0 0 20px!important;
  font-family:'Hind Siliguri',sans-serif!important;
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:600!important;
  box-shadow:0 8px 24px rgba(27,74,49,.07)!important;
}
body .alert p,
body .alert ul,
body .alert ol,
body .atf-validation-box p,
body .atf-validation-box ul{
  margin-bottom:6px!important;
}
body .alert p:last-child,
body .alert ul:last-child,
body .alert ol:last-child,
body .atf-validation-box p:last-child,
body .atf-validation-box ul:last-child{
  margin-bottom:0!important;
}
body .alert-success{
  color:#155f3a!important;
  background:#eef9f2!important;
  border-left:4px solid #188653!important;
}
body .alert-danger,
body .atf-validation-box{
  color:#8a2929!important;
  background:#fff1f1!important;
  border-left:4px solid #d94a4a!important;
}
body .alert-warning{
  color:#7b5919!important;
  background:#fff8e8!important;
  border-left:4px solid #e4a72f!important;
}
body .alert-info{
  color:#245d72!important;
  background:#edf8fc!important;
  border-left:4px solid #4396b8!important;
}

/* Shared application success cards */
body .atf-success-card,
body .atf-seminar-success-card,
body .atf-aid-success,
body .fp-success{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:38px 34px!important;
  border-radius:24px!important;
  border:1px solid rgba(24,134,83,.14)!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(22,83,53,.10)!important;
  text-align:center!important;
  font-family:'Hind Siliguri',sans-serif!important;
}
body .atf-success-card h1,
body .atf-seminar-success-card h1,
body .atf-aid-success h2,
body .fp-success h2{
  margin:8px 0 12px!important;
  color:#183f2d!important;
  font-family:'Hind Siliguri',sans-serif!important;
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.28!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
body .atf-success-card p,
body .atf-seminar-success-card p,
body .atf-aid-success p,
body .fp-success p{
  max-width:620px!important;
  margin:0 auto 14px!important;
  color:#5e7166!important;
  font-size:17px!important;
  line-height:1.75!important;
  font-weight:500!important;
}
body .atf-success-icon,
body .atf-seminar-success-card .success-icon,
body .atf-aid-success .ico{
  width:70px!important;
  height:70px!important;
  margin:0 auto 16px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eaf8f0!important;
  color:#168652!important;
  font-size:30px!important;
  box-shadow:inset 0 0 0 1px rgba(22,134,82,.12)!important;
}
body .fp-success > i{
  color:#168652!important;
}

/* Reference / application numbers: easy to notice, copy and preserve. */
body .atf-reference,
body .atf-seminar-success-card .reference-box,
body .fp-success .fp-ref,
body .atf-aid-success h3{
  width:min(100%,520px)!important;
  margin:22px auto!important;
  padding:14px 18px!important;
  border-radius:14px!important;
  border:1px dashed rgba(22,134,82,.40)!important;
  background:#f3fbf6!important;
  color:#12633b!important;
  box-sizing:border-box!important;
}
body .atf-reference small,
body .atf-seminar-success-card .reference-box small{
  display:block!important;
  margin-bottom:4px!important;
  color:#6b7d72!important;
  font-size:14px!important;
  font-weight:600!important;
}
body .atf-reference strong,
body .atf-seminar-success-card .reference-box strong,
body .fp-success .fp-ref,
body .atf-aid-success h3{
  font-family:'Hind Siliguri',sans-serif!important;
  font-size:21px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  overflow-wrap:anywhere!important;
}
body .atf-seminar-success-card .success-actions{
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:20px!important;
}
body .atf-success-card .atf-btn,
body .atf-seminar-success-card .btn,
body .atf-aid-success .btn,
body .fp-success .fp-submit{
  min-height:46px!important;
  padding:11px 20px!important;
  border-radius:10px!important;
  font-family:'Hind Siliguri',sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

@media(max-width:575px){
  body .alert,
  body .atf-validation-box{
    padding:12px 13px!important;
    border-radius:12px!important;
    font-size:15px!important;
  }
  body .atf-success-card,
  body .atf-seminar-success-card,
  body .atf-aid-success,
  body .fp-success{
    padding:28px 18px!important;
    border-radius:18px!important;
  }
  body .atf-success-card p,
  body .atf-seminar-success-card p,
  body .atf-aid-success p,
  body .fp-success p{
    font-size:16px!important;
  }
  body .atf-reference,
  body .atf-seminar-success-card .reference-box,
  body .fp-success .fp-ref,
  body .atf-aid-success h3{
    margin:18px auto!important;
    padding:12px 14px!important;
  }
  body .atf-success-card .atf-btn,
  body .atf-seminar-success-card .btn,
  body .atf-aid-success .btn,
  body .fp-success .fp-submit{
    width:100%!important;
    max-width:100%!important;
  }
}

/* Phase 17.6.4.11 Hotfix 61.6 — Frontend Interaction & Accessibility Polish */
body a,
body button,
body input,
body select,
body textarea,
body .btn,
body .atf-btn,
body .form-control,
body .form-select{
  -webkit-tap-highlight-color:rgba(15,122,70,.10);
}

/* Clear keyboard focus without adding a permanent visual ring. */
body a:focus-visible,
body button:focus-visible,
body [role="button"]:focus-visible,
body .btn:focus-visible,
body .atf-btn:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible,
body .form-control:focus-visible,
body .form-select:focus-visible,
body .select2-selection:focus-visible{
  outline:3px solid rgba(16,126,74,.22)!important;
  outline-offset:2px!important;
}

/* Form focus is obvious but still matches the Foundation frontend. */
body input:not([type="checkbox"]):not([type="radio"]):focus,
body select:focus,
body textarea:focus,
body .form-control:focus,
body .form-select:focus,
body .select2-container--focus .select2-selection,
body .select2-container--open .select2-selection{
  border-color:#168652!important;
  box-shadow:0 0 0 3px rgba(22,134,82,.10)!important;
}

/* Checkbox/radio controls stay easy to see and tap. */
body input[type="checkbox"],
body input[type="radio"]{
  min-width:18px!important;
  min-height:18px!important;
  accent-color:#168652;
  cursor:pointer;
}
body label[for],
body .form-check-label{
  cursor:pointer;
}

/* Buttons and prominent links share consistent interaction feedback. */
body button:not(:disabled),
body .btn:not(.disabled),
body .atf-btn:not(.disabled),
body input[type="submit"]:not(:disabled),
body input[type="button"]:not(:disabled){
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease!important;
}
body button:not(:disabled):active,
body .btn:not(.disabled):active,
body .atf-btn:not(.disabled):active,
body input[type="submit"]:not(:disabled):active,
body input[type="button"]:not(:disabled):active{
  transform:translateY(1px)!important;
}

/* Disabled controls look intentionally inactive. */
body button:disabled,
body input:disabled,
body select:disabled,
body textarea:disabled,
body .btn.disabled,
body .btn:disabled,
body .atf-btn.disabled{
  cursor:not-allowed!important;
  opacity:.62!important;
  box-shadow:none!important;
}

/* Keep touch targets comfortable on application forms and mobile navigation. */
body .form-check,
body .custom-control{
  min-height:30px;
}
@media(max-width:767px){
  body .btn,
  body .atf-btn,
  body button[type="submit"],
  body input[type="submit"]{
    min-height:46px;
  }
  body .form-check-label,
  body .custom-control-label{
    line-height:1.6!important;
  }
}

/* Respect users who reduce motion at OS/browser level. */
@media(prefers-reduced-motion:reduce){
  body *,
  body *::before,
  body *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Phase 17.6.4.11 Hotfix 61.7 — Frontend Button, Card & Section Consistency Polish */
:root{
  --atf-ui-radius:16px;
  --atf-ui-radius-sm:10px;
  --atf-ui-border:#e2ece6;
  --atf-ui-shadow:0 10px 30px rgba(18,75,48,.07);
  --atf-ui-shadow-hover:0 16px 38px rgba(18,75,48,.11);
}

/* Common public section rhythm. */
body .atf-section,
body .section-padding,
body .section-padding-2{
  position:relative;
}
body .atf-section-heading,
body .section-title,
body .section-heading{
  margin-bottom:30px!important;
}
body .atf-section-heading h1,
body .atf-section-heading h2,
body .section-title h1,
body .section-title h2,
body .section-heading h1,
body .section-heading h2{
  margin-bottom:10px!important;
}
body .atf-section-heading p,
body .section-title p,
body .section-heading p{
  margin-bottom:0!important;
}

/* Reusable cards/content blocks share the same visual language. */
body .atf-card,
body .atf-focus-card,
body .atf-join-card,
body .atf-video-card,
body .atf-activity-card,
body .atf-news-card,
body .atf-story-card,
body .atf-gallery-card,
body .atf-membership-card,
body .card:not(.border-0){
  border-radius:var(--atf-ui-radius)!important;
  border-color:var(--atf-ui-border)!important;
  box-shadow:var(--atf-ui-shadow)!important;
}
body a.atf-card,
body a.atf-focus-card,
body a.atf-join-card,
body a.atf-activity-card,
body a.atf-news-card,
body a.atf-gallery-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
body a.atf-card:hover,
body a.atf-focus-card:hover,
body a.atf-join-card:hover,
body a.atf-activity-card:hover,
body a.atf-news-card:hover,
body a.atf-gallery-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(22,134,82,.22)!important;
  box-shadow:var(--atf-ui-shadow-hover)!important;
}

/* Buttons: matching height, radius and label alignment across public pages. */
body .btn,
body .atf-btn,
body button[type="submit"],
body input[type="submit"],
body input[type="button"]{
  border-radius:var(--atf-ui-radius-sm)!important;
  font-weight:700!important;
  line-height:1.35!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
body .btn:not(.btn-sm):not(.btn-lg),
body .atf-btn,
body button[type="submit"],
body input[type="submit"],
body input[type="button"]{
  min-height:44px;
}
body .btn i,
body .atf-btn i,
body button i{
  line-height:1;
}

/* Kicker/badge/chip treatment stays compact and consistent. */
body .atf-kicker,
body .badge,
body .label,
body .atf-badge,
body .atf-chip{
  border-radius:999px!important;
  font-weight:700!important;
}
body .atf-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-bottom:10px!important;
}

/* Common content media should respect the same corner system. */
body .atf-custom-media,
body .atf-video-frame,
body .atf-gallery-media,
body .atf-activity-media,
body .atf-news-media{
  border-radius:var(--atf-ui-radius)!important;
  overflow:hidden!important;
}

@media(max-width:767px){
  body .atf-section-heading,
  body .section-title,
  body .section-heading{
    margin-bottom:22px!important;
  }
  body .atf-card,
  body .atf-focus-card,
  body .atf-join-card,
  body .atf-video-card,
  body .atf-activity-card,
  body .atf-news-card,
  body .atf-story-card,
  body .atf-gallery-card,
  body .atf-membership-card,
  body .card:not(.border-0){
    border-radius:14px!important;
  }
}

/* Phase 17.6.4.11 Hotfix 61.8 — Frontend Table, Pagination & Empty-State Polish */

/* Public data tables */
body .table-responsive{
  border-radius:16px;
  border:1px solid #e2ece6;
  background:#fff;
  box-shadow:0 8px 24px rgba(18,75,48,.05);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body .table-responsive > .table{
  margin-bottom:0!important;
}
body table.table{
  color:#30443a;
  font-size:15px;
  background:#fff;
}
body table.table thead th{
  background:#f3faf6!important;
  color:#174d35!important;
  font-weight:700!important;
  border-bottom:1px solid #dcebe3!important;
  vertical-align:middle!important;
  white-space:nowrap;
}
body table.table th,
body table.table td{
  padding:13px 14px!important;
  border-color:#e8f0eb!important;
  vertical-align:middle!important;
}
body table.table tbody tr:hover{
  background:#fbfefc;
}

/* Pagination used by legacy and newer public pages */
body .pagination-bx{
  width:100%;
  display:flex;
  justify-content:center;
  margin-top:28px!important;
  margin-bottom:8px;
}
body .pagination,
body .pagination-bx ul{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body .pagination li,
body .pagination-bx li{
  margin:0!important;
}
body .pagination a,
body .pagination span,
body .pagination-bx a,
body .pagination-bx span{
  min-width:40px;
  height:40px;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:1px solid #dce9e2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17633f!important;
  font-weight:700!important;
  text-decoration:none!important;
  box-shadow:0 4px 12px rgba(18,75,48,.04);
}
body .pagination a:hover,
body .pagination-bx a:hover{
  background:#edf8f2!important;
  border-color:#bddfce!important;
  color:#0b6d40!important;
}
body .pagination .active a,
body .pagination .active span,
body .pagination-bx .active a,
body .pagination-bx .active span,
body .pagination strong,
body .pagination-bx strong{
  background:#11834d!important;
  border-color:#11834d!important;
  color:#fff!important;
}

/* Empty/no-result states — works with existing Bootstrap alerts and common custom classes. */
body .alert.alert-info,
body .atf-empty-state,
body .empty-state,
body .no-data,
body .no-results{
  border:1px solid #d9ebe2!important;
  border-radius:16px!important;
  background:#f7fcf9!important;
  color:#365a49!important;
  box-shadow:0 8px 24px rgba(18,75,48,.045);
}
body .alert.alert-info{
  padding:18px 20px!important;
  font-weight:600;
  line-height:1.7;
}
body .atf-empty-state,
body .empty-state,
body .no-data,
body .no-results{
  padding:28px 22px!important;
  text-align:center;
}
body .atf-empty-state i,
body .empty-state i,
body .no-data i,
body .no-results i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:10px;
  border-radius:50%;
  background:#eaf7f0;
  color:#168452;
}

/* Filters/result toolbars */
body .filter-bar,
body .filters-bar,
body .result-toolbar,
body .search-filter-bar{
  border:1px solid #e2ece6;
  border-radius:14px;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 6px 20px rgba(18,75,48,.04);
}

@media(max-width:767px){
  body table.table{
    font-size:14px;
  }
  body table.table th,
  body table.table td{
    padding:11px 12px!important;
  }
  body .pagination-bx{
    margin-top:22px!important;
  }
  body .pagination a,
  body .pagination span,
  body .pagination-bx a,
  body .pagination-bx span{
    min-width:38px;
    height:38px;
    padding:0 10px!important;
    border-radius:9px!important;
  }
  body .alert.alert-info{
    padding:16px!important;
  }
}

/* Phase 17.6.4.11 Hotfix 61.9 — Frontend Header, Navigation & Footer Consistency Polish */

/* Header / topbar */
body .atf-topbar{
  border-bottom:1px solid rgba(26,100,64,.08);
}
body .atf-topbar-inner,
body .atf-topbar-left,
body .atf-topbar-right{
  align-items:center;
}
body .atf-topbar a{
  font-weight:600;
  text-decoration:none;
}
body .atf-top-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:9px;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
body .atf-top-social a:hover{
  background:rgba(17,131,77,.08);
  transform:translateY(-1px);
}

/* Main navigation */
body .atf-navbar{
  gap:14px;
}
body .atf-brand,
body .atf-brand-hotfix2{
  display:inline-flex!important;
  align-items:center!important;
  min-width:0;
}
body .atf-nav-list{
  gap:2px;
}
body .atf-nav-list .nav-link{
  position:relative;
  display:flex!important;
  align-items:center!important;
  min-height:44px;
  padding:10px 11px!important;
  border-radius:10px;
  font-weight:600!important;
  line-height:1.25;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
body .atf-nav-list .nav-link:hover,
body .atf-nav-list .nav-item.show > .nav-link,
body .atf-nav-list .nav-link.active{
  background:#eef8f2;
  color:#0d7746!important;
}
body .atf-nav-list .nav-link:focus-visible{
  outline:3px solid rgba(20,137,82,.18)!important;
  outline-offset:2px;
}
body .atf-donate-btn,
body .atf-mini-donate,
body .atf-mobile-login-btn{
  font-weight:700!important;
  border-radius:10px!important;
}

/* Dropdowns */
body .atf-network-dropdown,
body .atf-navbar .dropdown-menu{
  min-width:245px;
  padding:8px!important;
  border:1px solid #e0ece5!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(18,75,48,.12)!important;
}
body .atf-network-dropdown-item,
body .atf-navbar .dropdown-menu .dropdown-item{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:10px 12px!important;
  border-radius:10px!important;
  color:#29483a!important;
  font-weight:600!important;
  white-space:normal;
}
body .atf-network-dropdown-item:hover,
body .atf-navbar .dropdown-menu .dropdown-item:hover{
  background:#f0f8f3!important;
  color:#0d7746!important;
}
body .atf-network-icon{
  flex:0 0 auto;
}

/* Mobile navigation */
body .atf-mobile-actions{
  align-items:center;
  gap:7px;
}
body .navbar-toggler{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  border-radius:10px!important;
}
body .atf-mobile-account-card{
  border:1px solid #e1ece6;
  border-radius:13px;
  background:#f8fcfa;
}
body .atf-mobile-account-link{
  font-weight:700!important;
}

/* Footer */
body .atf-footer-main{
  line-height:1.75;
}
body .atf-footer h1,
body .atf-footer h2,
body .atf-footer h3,
body .atf-footer h4,
body .atf-footer h5,
body .atf-footer h6{
  letter-spacing:0;
  margin-bottom:14px!important;
}
body .atf-footer a{
  text-decoration:none;
  transition:color .2s ease,opacity .2s ease,transform .2s ease;
}
body .atf-footer ul{
  margin-bottom:0;
}
body .atf-footer li + li{
  margin-top:7px;
}
body .atf-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body .atf-footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:11px;
}
body .atf-contact-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
body .atf-contact-list i{
  margin-top:5px;
  flex:0 0 16px;
}
body .atf-footer-bottom-inner{
  align-items:center;
  line-height:1.6;
}
body .atf-footer-bridge-card{
  border-radius:18px!important;
}

@media(max-width:991px){
  body .atf-navbar .navbar-collapse{
    padding:12px 0 18px;
  }
  body .atf-nav-list{
    gap:4px;
    align-items:stretch!important;
  }
  body .atf-nav-list .nav-link{
    min-height:46px;
    padding:11px 13px!important;
  }
  body .atf-network-dropdown,
  body .atf-navbar .dropdown-menu{
    margin:4px 0 8px!important;
    padding:6px!important;
    border-radius:12px!important;
    box-shadow:none!important;
    background:#f8fcfa!important;
  }
}

@media(max-width:575px){
  body .atf-mobile-actions{
    gap:5px;
  }
  body .atf-footer-main .row{
    --bs-gutter-y:2rem;
  }
  body .atf-footer-social a{
    width:38px;
    height:38px;
  }
  body .atf-footer-bridge-card{
    border-radius:15px!important;
  }
}
