.conversation{
    width:100%;
    height:100%;
    padding:12px 0;
    background:var(--background-color);
    overflow:hidden;
    border-radius:12px;
    outline:1px solid var(--light-gray);
    outline-offset:-1px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:12px;
}

.conversation-header,
.conversation-body{
    width:100%;
    padding-left:24px;
    padding-right:24px;
}

.conversation-header{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:8px;
}

.conversation-header__title{
    flex:1 1 auto;
    min-width:0;
    margin:0;
}

.line{
    width:100%;
    height:1px;
    outline:1px solid var(--light-gray);
    outline-offset:-0.5px;
}

.conversation-outline {
    white-space: normal;
    line-height: 1.35;
    align-self: stretch;
    width: 100%;
}

.happening-picker-slot {
    width: 100%;
    white-space: normal;
    margin: 0.15em 0;
    padding: 0;
}

.outline-property-slot {
    display: block;
    white-space: normal;
    margin: 0.15em 0;
    padding: 0;
}

.outline-property-field {
    margin: 0;
    padding: 0;
}

.outline-property-options {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    margin: 0;
    padding: 0;
}

.outline-property-options .form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    min-height: 0;
    margin: 0;
    padding: 0;
}

.outline-property-options .form-check-input {
    float: none;
    margin: 0.2rem 0 0;
    flex-shrink: 0;
}

.outline-property-options .form-check-label {
    line-height: 1.25;
}

.outline-property-field--free {
    margin-top: 0.45rem;
    margin-bottom: 0.45rem;
}

.outline-property-field--options {
    margin-top: 0.45rem;
    margin-bottom: 0.45rem;
}

.outline-property-field--date,
.outline-property-field--number {
    margin-bottom: 0.45rem;
}

.happening-picker-slot .form-check {
    min-height: 0;
    margin: 0;
    padding: 0;
}

.happening-picker-slot .form-check-input {
    margin-top: 0.15em;
}

.happening-picker-slot .form-check-label {
    line-height: 1.25;
}

.outline-property-field textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.outline-property-field input[type="date"],
.outline-property-date-input,
.outline-property-field input[type="number"],
.outline-property-number-input {
    max-width: 100%;
    margin: 0;
}

.conversation-outline .outline-property-field--date .form-control,
.conversation-outline .outline-property-date-input {
    display: inline-block;
    width: auto;
    max-width: 100%;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
    vertical-align: baseline;
}

.conversation-body{
    padding-top:4px;
    padding-bottom:4px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:24px;
    flex:1 1 auto;
    min-height:0;
}

.response-buttons{
    width:100%;
    padding-top:8px;
    padding-bottom:8px;
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    justify-content:flex-start;
    align-items:flex-start;
    margin:0;
}

.conversation > .response-buttons{
    padding-left:24px;
    padding-right:24px;
}

.response-buttons--primary{
    justify-content:flex-end;
}

.response-buttons--system{
    justify-content:flex-start;
}

.btn-with-block-date{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    flex-wrap:wrap;
    cursor:pointer;
}

.btn-with-block-date__text{
    pointer-events:none;
}

.btn-with-block-date__text .outlineHint,
.btn-with-block-date__text span{
    pointer-events:none;
}

.btn-with-block-date__date{
    position:relative;
    z-index:2;
    width:auto;
    max-width:100%;
    min-height:2rem;
    padding-top:0.15rem;
    padding-bottom:0.15rem;
    cursor:pointer;
}

.btn-with-block-date__submit-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    border:none;
    background:transparent;
    cursor:pointer;
}

.line--system{
    margin-bottom:0;
}

.conversation .conversation-bar__icon,
.conversation .conversation-header__icon {
    font-size: 24px;
    color: var(--font-color);
}

.conversation-header__icon-btn{
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.conversation-header__icon-btn:disabled{
    color:var(--light-gray);
    cursor:not-allowed;
    opacity:.5;
}

@media (max-width: 991.98px) {
    .outline-property-options .form-check {
        gap: 0.65rem;
        min-height: 2.5rem;
        align-items: center;
    }

    .outline-property-options .form-check-input[type="radio"] {
        width: 1.35rem;
        height: 1.35rem;
        margin: 0;
    }

    .outline-property-options .form-check-label {
        font-size: 1.05rem;
        line-height: 1.35;
    }
}

@media (max-width: 575.98px) {
    .outline-property-options .form-check {
        min-height: 2.75rem;
    }

    .outline-property-options .form-check-input[type="radio"] {
        width: 1.5rem;
        height: 1.5rem;
    }
}

/* Screen-only hint text within an outline title/name (see
   avanti/outlines/templatetags/outline_extras.py::render_outline_hint and
   the matching strip in avanti/paperbatches/pdf.py) — set visually apart
   from the surrounding title, since it's left out of the printed PDF. */
.outlineHint {
    font: inherit;
    font-style: italic;
    font-size: 0.85em;
    opacity: 0.75;
}
