/* Additional styles for Scout Planner UI */

/* Consistent link-out to Scoutbook (advancements.scouting.org) — opens in new tab */
.scoutbook-link-out {
    font-size: 0.875rem;
    color: #0d6efd;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.scoutbook-link-out:hover {
    text-decoration: underline;
}

/* Campout detail: description may contain HTML (links, etc.) */
.campout-detail-description {
    word-wrap: break-word;
    white-space: pre-wrap;
}
.campout-detail-description a {
    color: #0d6efd;
    text-decoration: none;
}
.campout-detail-description a:hover {
    text-decoration: underline;
}

.table-container {
    box-shadow: inset 0 0 0 1px #e5e5e7;
    border-radius: 8px;
    overflow: hidden;
}

.table tr:last-child td {
    border-bottom: none;
}

.form-row {
    display: flex;
    gap: 1rem;
    align-items: end;
}

.form-row .form-group {
    flex: 1;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    
    .form-row .form-group {
        margin-bottom: 1.5rem;
    }
    
    .table-container {
        font-size: 0.875rem;
    }
}

/* Rank requirement: one block, tap to expand/shrink; collapsed = line-clamp + ellipsis */
.req-content {
    word-wrap: break-word;
    padding: 0.15em 0;
    outline: none;
}
.req-content.req-tappable:hover {
    opacity: 0.9;
}
.req-content-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.req-content-expanded {
    display: block;
    overflow: visible;
}
.req-content p {
    margin: 0 0 0.5em 0;
}
.req-content p:last-child {
    margin-bottom: 0;
}
.req-content ul,
.req-content ol {
    margin: 0.25em 0 0.5em 0;
    padding-left: 1.25em;
}
.req-content li {
    margin-bottom: 0.2em;
}
.req-content strong {
    font-weight: 600;
}
