/* Resources page styles */

.resources-section h4 {
    padding-top: 1em;
    font-size: 1.4rem;
    color: #2e71f2;
}

.resources-text {
    text-align: left;
    font-size: 1rem;
    line-height: 1.6;
    padding-bottom: 0.5em;
}

/* Tag Cloud */
#tag-cloud {
    text-align: left;
    padding: 1em 0;
}

.tag-btn {
    display: inline-block;
    margin: 3px 2px;
    padding: 5px 12px;
    font-size: 0.85rem;
    border: 1px solid #2e71f2;
    border-radius: 20px;
    background-color: white;
    color: #2e71f2;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

.tag-btn:hover {
    background-color: #e8eefb;
}

.tag-btn.tag-active {
    background-color: #2e71f2;
    color: white;
}

.filter-status {
    font-size: 0.95rem;
    color: #555;
    margin-top: 0.5em;
    font-style: italic;
}

/* Accordion sections */
#resource-accordion {
    margin-bottom: 2em;
}

#resource-accordion .card {
    border: 1px solid #dee2e6;
    border-radius: 0;
    margin-bottom: -1px;
}

#resource-accordion .card-header {
    background-color: white;
    border-bottom: 1px solid #dee2e6;
    padding: 0;
}

#resource-accordion > .card > .card-header .section-toggle {
    display: block;
    padding: 0.9em 1.2em;
    color: #2e71f2;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    float: none;
    text-align: left;
}

#resource-accordion > .card > .card-header .section-toggle::before {
    content: "\25B6";
    display: inline-block;
    margin-right: 0.6em;
    font-size: 0.75em;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

#resource-accordion > .card > .card-header .section-toggle:not(.collapsed)::before {
    transform: rotate(90deg);
}

#resource-accordion > .card > .card-header .section-toggle:hover {
    background-color: #f0f4fd;
    text-decoration: none;
    border-bottom: none;
}

#resource-accordion .card-body {
    padding: 1.5em;
    text-align: left;
}

/* Subsection accordion */
.resource-subsection {
    border: 1px solid #dee2e6;
    margin-bottom: 0.5em;
    border-radius: 4px;
}

.subsection-header {
    background-color: #e8eefb;
    padding: 0;
}

.subsection-toggle {
    display: block;
    padding: 0.6em 1em;
    color: #2e71f2;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    float: none;
    text-align: left;
}

.subsection-toggle::before {
    content: "\25B6";
    display: inline-block;
    margin-right: 0.5em;
    font-size: 0.65em;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

.subsection-toggle:not(.collapsed)::before {
    transform: rotate(90deg);
}

.subsection-toggle:hover {
    background-color: #d6e2f7;
    text-decoration: none;
    color: #2e71f2;
    border-bottom: none;
}

.resource-subsection .card-body {
    padding: 1em 1.5em;
}

/* Group-level accordion (California / National) */
.resource-group {
    border: 1px solid #e8eefb;
    margin-bottom: 0.5em;
    margin-left: 1em;
    border-radius: 4px;
}

.resource-group:first-child {
    margin-top: 0;
}

.group-header {
    background-color: white;
    padding: 0;
    border-bottom: 1px solid #e8eefb;
}

.group-toggle {
    display: block;
    padding: 0.5em 0.8em;
    color: #2e71f2;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    float: none;
    text-align: left;
}

.group-toggle::before {
    content: "\25B6";
    display: inline-block;
    margin-right: 0.5em;
    font-size: 0.6em;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

.group-toggle:not(.collapsed)::before {
    transform: rotate(90deg);
}

.group-toggle:hover {
    background-color: #f0f4fd;
    text-decoration: none;
    color: #2e71f2;
    border-bottom: none;
}

.resource-group .card-body {
    padding: 0.8em 1.2em;
}

/* Section description */
.section-description {
    color: #555;
    font-size: 0.95rem;
    margin-bottom: 1em;
    padding-bottom: 0;
}

/* Individual resource entry */
.resource-entry {
    padding: 0.8em 0;
    border-bottom: 1px solid #f0f0f0;
}

.resource-entry:last-child {
    border-bottom: none;
}

.resource-name {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0.3em;
}

.resource-name a {
    color: #2e71f2;
    text-decoration: none;
}

.resource-name a:hover {
    text-decoration: underline;
}

.resource-location,
.resource-contact {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 0.2em;
}

.resource-desc {
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5;
    margin-top: 0.3em;
    text-align: left;
}

.resource-extra-links {
    font-size: 0.85rem;
    margin-top: 0.3em;
}

.resource-extra-links a {
    color: #2e71f2;
    word-break: break-all;
}

/* Resource tags (inline at bottom of each entry) */
.resource-tags {
    margin-top: 0.4em;
}

.resource-tag {
    display: inline-block;
    font-size: 0.75rem;
    padding: 2px 8px;
    margin: 2px 2px;
    border-radius: 10px;
    background-color: #f0f4fd;
    color: #2e71f2;
    cursor: pointer;
    transition: background-color 0.2s;
    border: none;
    line-height: 1.5;
}

.resource-tag:hover {
    background-color: #d6e2f7;
}

/* Section count badges */
.section-count {
    font-size: 0.75rem;
    vertical-align: middle;
    margin-left: 0.5em;
}

#resource-accordion > .card > .card-header .section-count {
    background-color: #e8eefb;
    color: #2e71f2;
}

/* Responsive */
@media (max-width: 576px) {
    .tag-btn {
        font-size: 0.8rem;
        padding: 4px 9px;
        margin: 2px 1px;
    }

    #resource-accordion > .card > .card-header .section-toggle {
        font-size: 0.95rem;
        padding: 0.7em 0.8em;
    }

    .resource-entry {
        padding: 0.6em 0;
    }

    .resource-group {
        margin-left: 0.5em;
    }

    .group-toggle {
        font-size: 0.85rem;
        padding: 0.4em 0.6em;
    }
}
