/*
 * shpro_privacy — FE form + DOI confirm + cancel styles.
 *
 * Built on Bootstrap 5.3 tokens. All colors reference Bootstrap CSS
 * variables so dark mode is inherited automatically.
 */

.shpro-privacy-form,
.shpro-privacy-confirm,
.shpro-privacy-cancel {
    max-width: 720px;
    margin-inline: auto;
    padding-block: 1.5rem;
}

.shpro-privacy-form__title,
.shpro-privacy-confirm h1,
.shpro-privacy-cancel h1 {
    margin-bottom: 1rem;
}

.shpro-privacy-form__lead {
    color: var(--bs-secondary-color);
    margin-bottom: 2rem;
}

.shpro-privacy-form__fieldset {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.shpro-privacy-form__legend {
    font-size: 1rem;
    font-weight: 600;
    padding-inline: 0.5rem;
    width: auto;
    margin-bottom: 0.75rem;
}

.shpro-privacy-form__fieldset .form-check {
    padding-block: 0.5rem;
    min-height: 44px; /* WCAG 2.2 touch target */
}

.shpro-privacy-form__fieldset .form-check + .form-check {
    border-top: 1px solid var(--bs-border-color-translucent);
    padding-top: 0.75rem;
    margin-top: 0.5rem;
}

.shpro-privacy-form__fieldset .form-check-label {
    cursor: pointer;
    padding-left: 0.25rem;
}

.shpro-privacy-form .required {
    color: var(--bs-danger);
    margin-left: 0.15rem;
}

.shpro-privacy-form__submit {
    min-height: 44px; /* WCAG 2.2 touch target */
    padding-inline: 2rem;
    margin-top: 1rem;
}

.shpro-privacy-form__submit[disabled] {
    opacity: 0.65;
    cursor: wait;
}
/* Pre-execution report */
.shpro-privacy-confirm__summary,
.shpro-privacy-confirm__report,
.shpro-privacy-confirm__cancel {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bs-border-color-translucent);
}

.shpro-privacy-report th,
.shpro-privacy-report td {
    vertical-align: middle;
}

.shpro-privacy-report .badge {
    font-size: 0.85rem;
    padding: 0.4em 0.7em;
}

/* Responsive tweaks */
@media (max-width: 575.98px) {
    .shpro-privacy-form__fieldset {
        padding: 1rem;
    }
}

/* Reduced motion — nothing animated yet, but respect preference */
@media (prefers-reduced-motion: reduce) {
    .shpro-privacy-form__submit {
        transition: none;
    }
}
