

/* Larger controls for usability */
    .form-control-lg { font-size: 1.05rem; padding: .6rem .9rem; height: calc(3rem + 2px); }
    .custom-select   { border: 1px solid #ced4da; border-radius: .25rem; }
    .custom-select-lg{ font-size: 1.05rem; padding: .6rem 1.9rem .6rem .9rem; height: calc(3rem + 2px); }
    #faForm .btn { min-width: 110px; }

    /* Card padding */
    .custom-card .card-body { padding: 2rem 3rem !important; }
    .custom-card .card-header { padding: .75rem 2rem !important; }


     /* Visually hidden but screen-reader available (BS4-compatible) */
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0;
    }

    .sr-only-focusable:active,
    .sr-only-focusable:focus {
      position: static;
      width: auto;
      height: auto;
      margin: 0;
      overflow: visible;
      clip: auto;
    }

    /* Accessible skip link chip on focus */
    .skip-link,
    .skip-link:link,
    .skip-link:visited,
    .skip-link:hover,
    .skip-link:active {
      color: #111 !important;
      background-color: #ffd60a !important;
      text-decoration: none !important;
      opacity: 1 !important;
    }

    .skip-link:focus {
      position: fixed !important;
      top: 12px !important;
      left: 12px !important;
      z-index: 10000 !important;
      width: auto !important;
      height: auto !important;
      padding: .5rem .75rem !important;
      border-radius: .375rem !important;
      background-color: #111 !important;
      color: #fff !important;
      outline: 3px solid #ffd60a !important;
      outline-offset: 2px !important;
      box-shadow: 0 0 0 3px #fff !important;
    }

    /* Result stack spacing (BS4 has no vstack/gap) */
    .result-stack>.alert {
      margin-bottom: 1rem;
    }

    /* Make links inside results visually distinct beyond color */
    .result-stack a {
      text-decoration: underline;
    }

    .result-stack a:hover,
    .result-stack a:focus {
      text-decoration: none;
    }

    /* Document-style alert cards with colored stripe + hover */
    .alert {
      position: relative;
      border: 1px solid transparent;
      border-left-width: 10px;
      border-radius: .375rem;
      background-color: #fff;
      padding: 1.5rem 1.75rem;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
      transition: transform .12s ease, box-shadow .12s ease;
      overflow: hidden;
    }

    .alert-success {
      border-left-color: #28a745;
      border-color: #badbcc;
      background-color: #f6fff9;
      color: #0f5132;
    }

    .alert-danger {
      border-left-color: #dc3545;
      border-color: #f5c2c7;
      background-color: #fff5f5;
      color: #58151c;
    }

    .alert-success h5 { color: #28a745; }
    .alert-danger h5 { color: #dc3545; }
    /* Support alternate heading size used on ID Lookup */
    .alert-success h3 { color: #28a745; }
    .alert-danger  h3 { color: #dc3545; }

    .alert:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    }

    /* Floating status badge (BS4 naming) */
    .alert .badge {
      position: absolute;
      top: .75rem;
      right: .75rem;
      font-size: .8rem;
      padding: .45em .65em;
      border-radius: .35rem;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    }

    .alert .badge.badge-success {
      background: #28a745 !important;
      color: #fff !important;
    }

    .alert .badge.badge-danger {
      background: #dc3545 !important;
      color: #fff !important;
    }

    /* Title icons + link style */
    .alert h5 {
      margin-bottom: .5rem;
    }

    .alert h5 i {
      font-size: 1.1rem;
      opacity: .9;
      margin-right: .5rem;
    }

    /* Section title icons (emoji fallback if FA blocked) */
    .section-title i {
      vertical-align: -1px;
    }

    .section-title.text-danger i::before {
      content: "\274C";
      font-style: normal;
      margin-right: .4rem;
    }

    .section-title.text-success i::before {
      content: "\2705";
      font-style: normal;
      margin-right: .4rem;
    }

    html[lang] .section-title i.fas::before {
      content: unset;
    }

    /* Print header (hidden on screen) */
    #printHeader {
      display: none;
    }

    /* Screen-hidden print header variant used on ID Lookup */
    .print-header { display: none; border-bottom: 1px solid #dee2e6; margin-bottom: 1rem; padding-bottom: .5rem; }

    /* Utility: elevated card */
    .card-shadow { box-shadow: 0 6px 16px rgba(0,0,0,.08); border-radius: .75rem; }

    /* Print-friendly */
    @media print {

      nav,
      .navbar,
      #faForm,
      .btn,
      #msg,
      .custom-card .card-header,
      #resultsToolbar,
      #printBtn {
        display: none !important;
      }

      /* Hide any explicit no-print elements */
      .no-print { display: none !important; }

      .container,
      .container-fluid,
      .row,
      .col,
      .col-12,
      .col-lg-10,
      .col-xl-8 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
      }

      #printHeader {
        display: block !important;
        margin: 0 0 12px 0;
        padding: 8px 0 10px 0;
        border-bottom: 1px solid #999;
        font-size: 12px;
        line-height: 1.25;
      }

      /* Show the generic print header block on print */
      .print-header { display: block !important; }

      #printHeader .ph-title {
        font-weight: 700;
        font-size: 14px;
        margin-bottom: 6px;
      }

      #printHeader .ph-row {
        margin: 2px 0;
      }

      .alert {
        box-shadow: none !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        page-break-inside: avoid;
      }

      .alert .badge {
        position: static !important;
        float: none !important;
        margin-left: .5rem;
      }

      .alert a[href]::after {
        content: " (" attr(href) ")";
        font-weight: 400;
        text-decoration: none;
      }

      .section-title i {
        filter: grayscale(100%);
      }
    }
