/* ============================================================
   COMPONENTS: PTO APPLICATIONS
   Styling for Permission to Officiate application forms
   ============================================================ */

/* Ministerial Info Table Layout */
.ds-pto-ministerial-layout {
    --pto-cell-y: .35rem;
    --pto-cell-x: .65rem;
    --pto-accent: var(--ds-brand-red);
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: .75rem;
    font-size: .95rem;
}

.ds-pto-ministerial-layout col:nth-child(1) {
    width: 44%;
}

.ds-pto-ministerial-layout col:nth-child(2) {
    width: 20%;
}

.ds-pto-ministerial-layout col:nth-child(3) {
    width: 36%;
}

.ds-pto-ministerial-layout tbody tr + tr {
    border-top: 1px solid var(--ds-border-color-light);
}

.ds-pto-ministerial-layout td,
.ds-pto-ministerial-layout th {
    padding: var(--pto-cell-y) var(--pto-cell-x);
    vertical-align: middle;
}

.ds-pto-ministerial-layout th {
    font-weight: 600;
    color: var(--ds-text-primary);
}

.ds-pto-ministerial-layout td:first-child {
    font-weight: 500;
    line-height: 1.15;
}

.ds-pto-ministerial-layout td:first-child .form-label {
    margin: 0;
    font-size: .94rem;
}

.ds-pto-ministerial-layout .answer-cell {
    white-space: nowrap;
}

.ds-pto-ministerial-layout .answer-cell .form-check {
    margin-right: .75rem;
}

.ds-pto-ministerial-layout .answer-cell .form-check:last-child {
    margin-right: 0;
}

.ds-pto-ministerial-layout .detail-cell label.form-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--ds-text-muted);
    margin-bottom: .15rem;
    display: block;
}

.ds-pto-ministerial-layout .detail-cell input.form-control,
.ds-pto-ministerial-layout .detail-cell input.form-control-sm {
    padding: .3rem .55rem;
}

/* Subtle hover for tweak visibility */
.ds-pto-ministerial-layout tbody tr:hover {
    background: var(--ds-surface-secondary);
}

/* Compact radios – better vertical rhythm */
.ds-pto-ministerial-layout .form-check-input {
    margin-top: .25rem;
}

/* Accessibility focus */
.ds-pto-ministerial-layout .form-check-input:focus {
    box-shadow: 0 0 0 .15rem rgba(227, 5, 19, 0.25);
    border-color: var(--pto-accent);
}

/* Responsive stacking on narrow viewports */
@media (max-width: 992px) {
    .ds-pto-ministerial-layout col {
        width: auto !important;
    }

    .ds-pto-ministerial-layout td,
    .ds-pto-ministerial-layout th {
        display: block;
        width: 100%;
    }

    .ds-pto-ministerial-layout td.answer-cell {
        padding-top: .25rem;
    }

    .ds-pto-ministerial-layout td.detail-cell {
        padding-top: .15rem;
        padding-bottom: .75rem;
    }

    .ds-pto-ministerial-layout tbody tr + tr {
        border-top: 2px solid var(--ds-gray-100);
    }

    /* Ensures side-by-side label+input pairs align their inputs */
    .paired-input-row .col-md-6 {
        display: flex;
        flex-direction: column;
    }

    .paired-input-row .form-label {
        min-height: 2.4rem;
        display: flex;
        align-items: flex-end;
        margin-bottom: .45rem;
        line-height: 1.15;
    }
}

/* Declarations list */
.ds-pto-declarations-list li + li {
    margin-top: 0.5rem;
}

/* Match ministerial table left-column labels to normal form labels */
.ds-pto-ministerial-layout th[scope="row"] {
    font-weight: 400;
    padding-top: .75rem;
    padding-bottom: .45rem;
    color: var(--bs-body-color);
}

.ds-pto-ministerial-layout th[scope="row"] .form-label {
    font-weight: 400;
    font-size: 1rem;
    margin: 0 0 .35rem 0;
    line-height: 1.25;
    display: inline-block;
}

.ds-pto-ministerial-layout td:first-child,
.ds-pto-ministerial-layout th:first-child {
    font-weight: 400;
}

/* Force ministerial table row headers to look like normal form labels */
.ds-pto-ministerial-layout tbody tr th[scope="row"],
.ds-pto-ministerial-layout tbody tr th[scope=row] {
    font-weight: 400 !important;
    font-size: 1rem;
    color: var(--bs-body-color);
    padding-top: .65rem;
    padding-bottom: .45rem;
}

.ds-pto-ministerial-layout tbody tr th[scope="row"] .form-label {
    font-weight: 400 !important;
    font-size: 1rem;
    margin: 0 0 .35rem 0;
    line-height: 1.25;
}

/* Signature input: 2x height with larger text */
.ds-pto-signature-input.form-control {
    font-size: 1.5rem;
    padding: 0.75rem 1rem;
    min-height: 4.5rem;
}

.ds-pto-signature-input::placeholder {
    font-size: 1.5rem;
}

/* Tooltip trigger */
.ds-pto-tooltip {
    position: relative;
    display: inline-block;
}

/* Tooltip box: fixed to viewport horizontally centered */
.ds-pto-tooltip .ds-pto-tooltiptext {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    top: 20vh;

    width: 800px;
    max-width: 90vw;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    background-color: var(--ds-gray-800);
    color: var(--ds-white);
    text-align: left;
    padding: 10px;
    border-radius: 5px;
    z-index: 1050;

    transition: opacity 0.2s ease;
}

/* Show states */
.ds-pto-tooltip:hover .ds-pto-tooltiptext,
.ds-pto-tooltip:focus-within .ds-pto-tooltiptext,
.ds-pto-tooltip .ds-pto-tooltiptext.show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
