@charset "UTF-8";

/* =========================================================
   Sub Page Common
========================================================= */
#container {
    background: #ffffff;
}

.sub-page {
    padding-bottom: 120px;
}

.sub-page-inner {
    width: 1440px;
    margin: 0 auto;
}

/* =========================================================
   Sub Visual
========================================================= */
.sub-visual {
    position: relative;
    width: 100%;
    height: 245px;
    min-height: 245px;
    background: url("../../images/renewal/total_search_bg.jpg") no-repeat center center;
    background-size: cover;
    overflow: hidden;
}

.sub-visual.com_photo {
    background: url("../../images/renewal/com_photo_bg.jpg") no-repeat center center;
}

.sub-visual.par_bg {
    background: url("../../images/renewal/par_bg.jpg") no-repeat center center;
}

.sub-visual.siteMap_bg {
    background: url("../../images/renewal/siteMap_bg.jpg") no-repeat center center;
}

.sub-visual.favorites_bg {
    background: url("../../images/renewal/favorites_bg.jpg") no-repeat center center;
}

.sub-visual.cong_bg {
    background: url("../../images/renewal/cong_bg.jpg") no-repeat center center;
}

.sub-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}

.sub-visual-inner {
    position: relative;
    z-index: 1;
    width: 1440px;
    height: 100%;
    margin: 0 auto;
}

.sub-visual-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #ffffff;
}

.sub-visual-title {
    margin: 0 0 47px;
    font-family: "Paperlogy", "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 45px;
    line-height: 38px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #ffffff;
    white-space: nowrap;
}

.sub-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.breadcrumb-home,
.breadcrumb-current {
    display: inline-block;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -1px;
    color: #ffffff;
}

.breadcrumb-home {
    font-weight: 400;
    margin-right: 15px;
}

.breadcrumb-center {
    font-weight: 400;
    margin: 0 15px;
    font-size: 20px;
    letter-spacing: -1px;
}

.breadcrumb-current {
    font-weight: 700;
    margin-left: 15px;
}

.breadcrumb-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
}

.breadcrumb-separator img {
    display: block;
    width: 10px;
    height: 10px;
    object-fit: contain;
}

/* =========================================================
   Total Search Box
========================================================= */
.total-search-section {
    margin-top: 41px;
}

.total-search-wrap {
    width: 1200px;
    margin: 0 auto;
}

.total-search-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.search-box {
    width: 1200px;
    height: 110px;
    display: flex;
    align-items: center;
    padding: 30px 72px;
    border: 1px solid #dddddd;
    border-radius: 10px;
    background: #f9f9f9;
    box-sizing: border-box;
}

.search-box-label {
    flex: 0 0 auto;
    width: 56px;
    margin-right: 30px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    letter-spacing: 0;
    color: #222222;
}

.search-box-field {
    flex: 1 1 auto;
    min-width: 0;
}

.search-input {
    width: 100%;
    height: 50px;
    padding: 0 16px;
    border: 1px solid #dddddd;
    background: #ffffff;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #222222;
}

.search-input::placeholder {
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #888888;
}

.search-input:focus {
    outline: none;
    border-color: #003b96;
}

.search-submit-btn {
    width: 88px;
    height: 44px;
    padding: 0 30px;
    border: 1px solid #003b96;
    border-radius: 8px;
    background: #003b96;
    box-sizing: border-box;
    cursor: pointer;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
}

.search-submit-btn:hover {
    background: #002f77;
    border-color: #002f77;
}

/* =========================================================
   Search Result Wrap
========================================================= */
.search-result-wrap {
    width: 1440px;
    margin: 60px auto 100px;
}

.search-result-total {
    margin: 0 0 32px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 500;
    color: #222222;
}

/* =========================================================
   Result Group Common
========================================================= */
.result-group {
    padding: 30px 30px 40px;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    box-sizing: border-box;
}

.result-group-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

.result-group-head-left {
    min-width: 0;
}

.result-group-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 38px;
    font-weight: 600;
    color: #222222;
}

.result-group-arrow {
    position: relative;
    width: 5px;
    height: 9px;
    flex: 0 0 5px;
}

.result-group-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    border-top: 1.5px solid #111111;
    border-right: 1.5px solid #111111;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center;
}

.result-group-desc {
    margin: 9px 0 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 14px;
    line-height: 20px;
    padding-left: 20px;
    font-weight: 400;
    color: #888888;
}

.result-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 100px;
    height: 38px;
    padding: 0 14px;
    border: 1px solid #003b96;
    border-radius: 5px;
    background: #ffffff;
    box-sizing: border-box;
    text-decoration: none;
    white-space: nowrap;
}

.result-more-btn span,
.result-more-btn i {
    font-style: normal;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-weight: 400;
    color: #003b96;
}

.result-more-btn span {
    font-size: 15px;
    line-height: 18px;
}

.result-more-btn i {
    font-size: 16px;
    line-height: 1;
}

/* =========================================================
   의원사진첩
========================================================= */
.result-group.result-group-album {
    overflow: hidden;
}

.album-result-row {
    display: grid;
    grid-template-columns: 156px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.album-result-row + .album-result-row {
    margin-top: 30px;
}

.album-member-card {
    width: 156px;
    flex: 0 0 156px;
}


.album-member-thumb {
    display: block;
    width: 156px;
    height: 192px;
    border: 1px solid #dddddd;
    background: #ffffff;
    overflow: hidden;
}

.album-member-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.album-member-name {
    margin: 15px 0 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 18px;
    line-height: 22px;
    font-weight: 500;
    letter-spacing: -1px;
    color: #222222;
}

.album-member-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 119px;
    height: 40px;
    margin-top: 15px;
    border: 1px solid #003b96;
    border-radius: 8px;
    background: #ffffff;
    box-sizing: border-box;
    text-decoration: none;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 18px;
    font-weight: 400;
    color: #003b96;
}

.album-card-list {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
}


.album-card-list::-webkit-scrollbar {
    height: 8px;
}

.album-card-list::-webkit-scrollbar-thumb {
    background: #c8c8c8;
    border-radius: 999px;
}

.album-card-list::-webkit-scrollbar-track {
    background: transparent;
}

.album-card-item {
    width: 276px;
    min-width: 276px;
    flex: 0 0 276px;
    height: 283px;
    display: flex;
    flex-direction: column;
}

.album-card-thumb {
    position: relative;
    display: block;
    width: 276px;
    height: 182px;
    overflow: hidden;
    border-radius: 10px;
    background: #f5f5f5;
}

.album-card-thumb img {
    display: block;
    width: 100%;
    height: 100%;
}

.album-card-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 22px;
    padding: 0 8px;
    border-radius: 8px;
    background: #6c9d95;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #ffffff;
    letter-spacing: -1px;
    text-transform: lowercase;
}

.album-card-title {
    margin: 20px 0 20px;
    height: 42px;
    overflow: hidden;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 18px;
    line-height: 21px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #222222;
    word-break: keep-all;
}


.album-card-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    max-height: 42px;
    overflow: hidden;
    text-overflow: ellipsis;

    color: inherit;
    text-decoration: none;
}

.album-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: #777777;
}

.meta-label {
    display: inline-block;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 15px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #777777;
}

.meta-date {
    display: inline-block;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 15px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #777777;
}

.meta-view {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    position: relative;
    margin-left: 16px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #777777;
}

.meta-view::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    width: 1px;
    height: 9px;
    background: #c8c8c8;
    transform: translateY(-50%);
}

.meta-view img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* =========================================================
   의정활동
========================================================= */
.activity-result-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.activity-result-item {
    display: flex;
    align-items: flex-start;
    gap: 34px;
    height: 304px;
}

.activity-result-item.no-des{
    height: 230px;
}

.activity-result-item.no-des .activity-result-body{
    padding: 25px 0;
    height: 230px;
}

.activity-result-item.no-des .activity-result-thumb{
    height: 230px;
}

.activity-result-thumb {
    display: block;
    width: 260px;
    height: 304px;
    flex: 0 0 260px;
    overflow: hidden;
    background-color: #f5f5f5;
}

.activity-result-thumb img {
    display: block;
    width: 100%;
    height: 100%;
}

.activity-result-body {
    flex: 1;
    min-width: 0;
    height: 304px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.activity-result-title {
    margin: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #222222;
    word-break: keep-all;
    margin-bottom: 25px;
}

.activity-result-title a {
    color: inherit;
    text-decoration: none;
}

.activity-result-text {
    margin-bottom: 25px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    color: #666666;
    word-break: keep-all;
    letter-spacing: -1px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    max-height: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.activity-result-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-bottom: 0;
    clear: both;
    margin-bottom: 25px;
}


.activity-result-tags.no-des{
    margin-top: 25px;
}

.activity-result-tags-label {
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    color: #222222;
    white-space: nowrap;
    flex: 0 0 auto;
}

.activity-result-tag-list {
    display: contents;
}

.activity-result-item.no-des.has-des {
    height: 230px;
}

.activity-result-item.no-des.has-des .activity-result-body {
    height: 230px;
    padding: 25px 0;
}

.activity-result-item.no-des.has-des .activity-result-thumb {
    height: 230px;
}

.activity-result-item.no-des.has-des .activity-result-title {
    margin-bottom: 15px;
}

.activity-result-item.no-des.has-des .activity-result-text {
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 22px;
    -webkit-line-clamp: 2;
    max-height: 44px;
}

.activity-result-item.no-des.has-des .activity-result-tags {
    margin-top: 0;
    margin-bottom: 16px;
}

.activity-result-item.no-des.has-des .activity-result-tags.no-des {
    margin-top: 0;
}

.activity-result-tag-list::-webkit-scrollbar {
    width: 6px;
}

.activity-result-tag-list::-webkit-scrollbar-thumb {
    background: #c8c8c8;
    border-radius: 10px;
}

.activity-result-tag-list::-webkit-scrollbar-track {
    background: transparent;
}

.activity-result-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    font-size: 14px;
    color: #111;
    text-decoration: none;
    white-space: nowrap;
    flex: 0 0 auto;
    border: 1px solid #000;
    border-radius: 8px;
    background: #ffffff;
    box-sizing: border-box;
    height: 32px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    line-height: 1;
    font-weight: 400;
    color: #222222;
}

.activity-result-meta {
    display: flex;
    align-items: center;
    gap: 0;
}

.activity-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    position: relative;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    color: #888888;
    letter-spacing: -1px;
}

.activity-meta-item + .activity-meta-item {
    margin-left: 7px;
    padding-left: 7px;
}

.activity-meta-item + .activity-meta-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 9px;
    background: #c8c8c8;
}

.activity-meta-item img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
}

/* =========================================================
   Hover
========================================================= */
.album-member-link:hover,
.result-more-btn:hover {
    background: #003b96;
}

.album-member-link:hover,
.result-more-btn:hover span,
.result-more-btn:hover i {
    color: #ffffff;
}

.activity-result-tag:hover {
    background: #222222;
    color: #ffffff;
}

.album-card-title a:hover,
.activity-result-title a:hover {
    color: #003b96;
}

/* =========================================================
   역대의회
========================================================= */
.history-page {
    margin: 42px 0 100px;
}

.history-council-wrap {
    width: 100%;
}

.history-council-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 16px;
    row-gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.history-council-item {
    min-width: 0;
}

.history-council-link {
    position: relative;
    display: block;
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}


.history-council-link img {
    display: block;
    width: 100%;
    height: auto;
}

.history-council-link p {
    position: absolute;
    top: 41px;
    left: 0;
    width: 100%;
    margin: 0;
    text-align: center;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 36px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
    color: #E6D087;
}

.history-council-link.category p{
    color: #fff;
    font-size: 30px;
}

.history-council-link p span {
    color: inherit;
}

.history-council-link:hover {
    transform: translateY(-4px);
}

/* =========================================================
   의원사진첩 목록
========================================================= */
.congress-member-page {
    margin: 42px 0 100px;
    padding-bottom: 0;
}

.member-grid-wrap {
    width: 100%;
}

.member-grid-row:first-child {
    padding-top: 0;
}

.member-grid-row {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 26px;
    margin: 0;
    padding: 32px 0 32px;
    list-style: none;
    border-bottom: 2px solid #d9d9d9;
    box-sizing: border-box;
}

.member-grid-item {
    margin: 0;
    padding: 0;
    min-width: 0;
}

.member-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
}

.member-card-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 157.35 / 228.35;
    border: 2px solid #AAA;
    overflow: hidden;
    box-sizing: border-box;
    background: #ffffff;
}

.member-card.blue .member-card-thumb {
    border: 2px solid #3452c8;
}

.member-card.red .member-card-thumb {
    border: 2px solid #ef4b4b;
}

.member-card-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    /*object-fit: cover;*/
    vertical-align: top;
}

.member-card-name {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
    margin-top: 8px;
    white-space: nowrap;
    color: #000000;
}

.member-card-name strong,
.member-card-name em {
    font-family: "Paperlogy", "PretendardGOV", "Noto Sans KR", sans-serif;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    color: #000000;
}

.member-card-name strong {
    font-size: 15px;
    font-weight: 700;
}

.member-card-name em {
    font-size: 15px;
    font-weight: 400;
}

.member-card:hover .member-card-name strong,
.member-card:hover .member-card-name em {
    color: #003b96;
}

/* =========================================================
   모음집 목록 페이지
========================================================= */
.archive-page {
    margin: 42px 0 100px;
}

.archive-page-inner {
    width: 1440px;
    margin: 0 auto;
}

.archive-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #aaaaaa;
}

.archive-total {
    margin: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 500;
    letter-spacing: 0;
    color: #111111;
}

.archive-total strong {
    font-weight: 500;
    color: #111111;
}

.archive-toolbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.archive-count-select {
    position: relative;
    width: 76px;
    height: 39px;
    flex: 0 0 76px;
}

.archive-count-select select {
    width: 100%;
    height: 100%;
    padding: 0 30px 0 12px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23666666' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #4b4b4b;
    cursor: pointer;
}

.archive-count-select select:focus {
    outline: none;
    border-color: #003b96;
}

.archive-pagination {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    height: 39px;
    background: #ffffff;
    box-sizing: border-box;
    border: 0;
}

.archive-pagination > * {
    position: relative;
    height: auto;
    box-sizing: border-box;
}

.archive-pagination > * + *::before {
    display: none;
}

.page-arrow,
.page-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #111111;
    box-sizing: border-box;
}

.page-arrow {
    width: 20px;
    min-width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    cursor: pointer;
}

.page-arrow svg {
    display: block;
    width: 20px;
    height: 20px;
}

.page-input-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    min-width: 46px;
    height: 39px;
    padding: 0 8px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 4px;
    box-sizing: border-box;
}

.page-input {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #484E66;
    text-align: center;
    outline: none;
}

.page-input::-webkit-outer-spin-button,
.page-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.page-total {
    min-width: auto;
    padding: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #484E66;
}

.archive-list-wrap {
    margin-top: 30px;
    padding-bottom: 30px;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
    border-bottom: 1px solid #aaa;
}

.archive-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.archive-item {
    min-width: 0;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid #dddddd;
    box-sizing: border-box;
}

.archive-item:first-child {
    padding-top: 0;
}

.archive-item:last-child {
    border: 0;
}

.archive-card {
    display: block;
    padding: 20px;
    border-radius: 10px;
    background: #f7f7f7;
    text-decoration: none;
    box-sizing: border-box;
}

.archive-page .pagination-wrap {
    margin-top: 50px;
}

.archive-card-gallery {
    display: flex;
    align-items: stretch;
    gap: 20px;
}

.archive-card-thumb {
    display: block;
    overflow: hidden;
    border-radius: 20px;
    background: #f2f2f2;
    flex-shrink: 0;
}

.archive-card-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    /*object-fit: cover;*/
    vertical-align: top;
}

.archive-card-thumb-main {
    width: 820px;
    height: 260px;
    flex: 1 1 auto;
}

.archive-card-thumb-group {
    display: flex;
    gap: 20px;
    flex: 0 0 520px;
}

.archive-card-thumb-sub {
    width: 255px;
    height: 260px;
    flex: 0 0 255px;
}

.archive-card-bottom {
    margin-top: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.archive-card-title {
    position: relative;
    margin: 0;
    padding-left: 8px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 24px;
    line-height: 30px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #111111;
    word-break: keep-all;
}

.archive-card-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 3px;
    height: 24px;
    background: #3452c8;
    border-radius: 999px;
}

.archive-card-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    flex-shrink: 0;
    white-space: nowrap;
}

.archive-card-meta-label {
    display: inline-block;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #000;
}

.archive-card-meta-date {
    display: inline-block;
    margin-left: 12px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #000;
}

.archive-card-meta-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 12px;
    padding-left: 12px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-style: normal;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #000;
}

.archive-card-meta-item svg {
    display: block;
    width: 16px;
    height: 16px;
    color: #000;
    flex: 0 0 16px;
}

.archive-card-meta-item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 10px;
    background: #000;
    transform: translateY(-50%);
}

.archive-card-meta-item img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
}

.archive-card-meta-item em {
    font-style: normal;
    font-weight: 400;
    color: #111111;
}

.archive-card:hover .archive-card-title {
    color: #003b96;
}

/* =========================================================
   의정활동 목록 페이지
========================================================= */
.assembly-activity-page {
    margin: 42px 0 100px;
}

.assembly-activity-inner {
    width: 1440px;
    margin: 0 auto;
}

.activity-filter-section {
    margin-bottom: 70px;
}

.activity-filter-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.activity-filter-box {
    width: 1200px;
    padding: 32px 56px 33px;
    border: 1px solid #dddddd;
    border-radius: 10px;
    background: #f9f9f9;
    box-sizing: border-box;
}

.activity-filter-row {
    display: flex;
    align-items: center;
}

.activity-filter-row + .activity-filter-row {
    margin-top: 30px;
}

.activity-filter-group {
    display: flex;
    align-items: center;
    min-width: 0;
    box-sizing: border-box;
}

.activity-filter-group-type {
    width: 50%;
    padding-right: 72px;
}

.activity-filter-group-date {
    display: flex;
    align-items: center;
    width: 50%;
    padding-right: 0;
}

.activity-filter-group-keyword {
    width: 100%;
}

.activity-filter-label {
    flex: 0 0 70px;
    width: 70px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #222222;
}

.activity-filter-control {
    flex: 1 1 auto;
    min-width: 0;
}

.activity-filter-group-date .activity-filter-control {
    margin-left: auto;
    flex: 0 0 413.5px;
    width: 413.5px;
    min-width: 413.5px;
    max-width: 413.5px;
}

.activity-filter-group-date .activity-filter-control.no{
    margin-left: 0;
}

.activity-filter-control-keyword {
    display: flex;
    align-items: center;
    gap: 30px;
}

.activity-radio {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    cursor: pointer;
}

.activity-radio + .activity-radio {
    margin-left: 24px;
}

.activity-radio input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.activity-radio-mark {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #8d8d8d;
    border-radius: 50%;
    background: #f9f9f9;
    box-sizing: border-box;
    flex: 0 0 20px;
}

.activity-radio input:checked + .activity-radio-mark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #000000;
    transform: translate(-50%, -50%);
}

.activity-radio-text {
    margin-left: 10px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    color: #222222;
}

.activity-date-range {
    display: flex;
    align-items: center;
    width: 413.5px;
    min-width: 413.5px;
    max-width: 413.5px;
    height: 50px;
}

.activity-date-item {
    position: relative;
    flex: 0 0 201.75px;
    width: 201.75px;
    min-width: 201.75px;
    max-width: 201.75px;
    height: 50px;
}

.activity-date-gap {
    display: block;
    flex: 0 0 10px;
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 50px;
}

.activity-date-input {
    width: 100%;
    height: 50px;
    padding: 0 16px 0 38px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background: #ffffff;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    color: #222222;
    cursor: pointer;
}

.activity-date-input:focus {
    outline: none;
    border-color: #003b96;
}

.activity-date-btn {
    position: absolute;
    top: 50%;
    left: 14px;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #b5b5b5;
    transform: translateY(-50%);
    cursor: pointer;
}

.activity-date-btn svg {
    display: block;
    width: 20px;
    height: 20px;
}

.activity-select-wrap {
    width: 187px;
    flex: 0 0 187px;
}

.activity-select {
    width: 100%;
    height: 50px;
    padding: 0 50px 0 20px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23222222' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 16px 16px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #222222;
}

.activity-select:focus {
    outline: none;
    border-color: #003b96;
}

.activity-search-input-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

.activity-search-input {
    width: 100%;
    height: 50px;
    padding: 0 20px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background: #ffffff;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 400;
    color: #222222;
}

.activity-search-input::placeholder {
    color: #888888;
}

.activity-search-input:focus {
    outline: none;
    border-color: #003b96;
}

.activity-search-btn {
    width: 96px;
    height: 44px;
    margin-top: 24px;
    border: 1px solid #24459c;
    border-radius: 8px;
    background: #24459c;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    color: #ffffff;
    cursor: pointer;
}

.activity-search-btn:hover {
    background: #1d3b88;
    border-color: #1d3b88;
}

.activity-list-section {
    width: 100%;
}

.activity-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dddddd;
}

.activity-total {
    margin: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 500;
    color: #111111;
}

.activity-total strong {
    font-weight: 600;
}

.activity-toolbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.activity-view-type {
    display: flex;
    align-items: center;
    gap: 4px;
}

.activity-view-btn {
    width: 30px;
    height: 30px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background: #f6f8fc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #5c647b;
    cursor: pointer;
}

.activity-view-btn.active {
    background: #24459c;
    border-color: #24459c;
    color: #ffffff;
}

.activity-view-btn svg {
    display: block;
    width: 18px;
    height: 18px;
}

.activity-count-select {
    position: relative;
    width: 78px;
    height: 39px;
}

.activity-count-select select {
    width: 100%;
    height: 100%;
    padding: 0 28px 0 12px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23666666' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px 12px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    color: #4b4b4b;
}

.activity-page-inline {
    display: flex;
    align-items: center;
    gap: 12px;
}

.activity-page-arrow {
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.activity-page-arrow svg {
    display: block;
    width: 20px;
    height: 20px;
}

.activity-page-current-wrap {
    width: 46px;
    height: 39px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background: #ffffff;
    box-sizing: border-box;
}

.activity-page-current {
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    color: #484e66;
    text-align: center;
    outline: none;
    box-sizing: border-box;
}

.activity-page-total {
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    color: #484e66;
}

.activity-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 56px 48px;
    margin-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd;
}

.activity-card {
    min-width: 0;
}

.activity-card-thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 0.6948;
    overflow: hidden;
    border-radius: 20px;
    background: #f2f2f2;
}

.activity-card-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    /*object-fit: cover;*/
}

.activity-card-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 22px;
    padding: 5px 10px;
    border-radius: 8px;
    background: #ffffff;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 14px;
    letter-spacing: -1px;
    font-weight: 400;
    color: #003B96;
    box-sizing: border-box;
    text-transform: lowercase;
}

.activity-card-body {
    margin-top: 15px;
}

.activity-card-title {
    margin: 0;
    height: 52px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 18px;
    line-height: 29px;
    font-weight: 700;
    letter-spacing: -1px;
    color: #111111;
    word-break: break-word;
}

.activity-card-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 52px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: inherit;
    text-decoration: none;
}

.activity-card-title a:hover {
    color: #003b96;
}

.activity-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
    color: #777777;
}

.activity-card-meta-label {
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 15px;
    font-weight: 600;
    letter-spacing: -1px;
    color: #777777;
}

.activity-card-meta-date {
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 15px;
    padding-right: 10px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #777777;
}

.activity-card-meta-view {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 15px;
    font-weight: 400;
    letter-spacing: -1px;
    color: #777777;
}

.activity-card-meta-view::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    width: 1px;
    height: 10px;
    background: #c8c8c8;
    transform: translateY(-50%);
}

.activity-card-meta-view svg {
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.activity-card-grid.list-view {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd;
}

.activity-card-grid.list-view .activity-card {
    display: flex;
    align-items: flex-start;
    gap: 34px;
    min-height: 180px;
    padding: 0;
}

.activity-card-grid.list-view .activity-card-thumb {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
    height: 180px;
    aspect-ratio: auto;
    border-radius: 20px;
    overflow: hidden;
    flex: 0 0 200px;
}

.activity-card-grid.list-view .activity-card-thumb img {
    width: 100%;
    height: 100%;
}

.activity-card-grid.list-view .activity-card-body {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 180px;
    margin-top: 0;
    padding-top: 25px;
    padding-bottom: 25px;
    display: flex;
    flex-direction: column;
}

.activity-card-grid.list-view .activity-card-title {
    margin: 0;
    min-height: auto;
    font-size: 18px;
    line-height: 24px;
}

.activity-card-grid.list-view .activity-card-meta {
    margin-top: auto;
    padding-top: 20px;
}

.activity-card-grid.list-view .activity-card-title a {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.activity-card-grid.list-view .activity-card + .activity-card {
    padding-top: 30px;
    border-top: 1px solid #dddddd;
}

.activity-card-grid:not(.list-view) .activity-card {
    display: block;
}

.activity-card-grid:not(.list-view) .activity-card-body {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
}

/* jQuery UI Datepicker */
.ui-datepicker {
    z-index: 9999 !important;
    padding: 10px;
    border: 1px solid #dddddd;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
}

.ui-datepicker .ui-datepicker-header {
    border: 0;
    background: #ffffff;
}

.ui-datepicker .ui-datepicker-title {
    font-size: 16px;
    font-weight: 600;
    color: #222222;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    top: 4px;
    cursor: pointer;
}

.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-content .ui-state-default {
    border: 0;
    background: #ffffff;
    text-align: center;
    color: #222222;
    border-radius: 6px;
}

.ui-datepicker .ui-state-hover,
.ui-datepicker .ui-widget-content .ui-state-hover {
    border: 0;
    background: #f3f6ff;
    color: #24459c;
}

.ui-datepicker .ui-state-active,
.ui-datepicker .ui-widget-content .ui-state-active {
    border: 0;
    background: #24459c;
    color: #ffffff;
}

/* =========================================================
   의정활동 상세
========================================================= */
.activity-detail-page {
    padding: 60px 0 100px;
    background: #fff;
}

.activity-detail-inner {
    width: 1440px;
    margin: 0 auto;
}

.activity-detail-head {
    margin-bottom: 29px;
    padding-bottom: 29px;
    border-bottom: 1px solid #ccc;
}

.activity-detail-head-top {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.activity-detail-list-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 40px;
    padding: 8.5px 12px;
    border: 1px solid #003b96;
    border-radius: 8px;
    background: #003b96;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.activity-detail-title {
    margin: 0;
    text-align: center;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 36px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -1px;
    color: #000;
    word-break: keep-all;
}

.activity-detail-head > .activity-detail-title {
    margin: 27px 0 0;
    padding-top:29px;
    border-top: 2px solid #ccc;
    box-sizing: border-box;
}

.activity-detail-head.parliamentary > .activity-detail-title {
    border-top: 0;
}


.activity-detail-main {
    width: 812px;
    max-width: 100%;
    padding-bottom: 38px;
    position: relative;
    margin: 0 auto;
}

.activity-detail-main::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 1440px;
    height: 1px;
    background: #ccc;
    transform: translateX(-50%);
}


.activity-detail-main-item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: #f2f2f2;
}

.activity-detail-main-item img {
    display: block;
    width: 100%;
    height: 392px;
}

.activity-detail-main-caption {
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    height: 27px;
    padding: 0 10px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.63);
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 13px;
    line-height: 27px;
    font-weight: 400;
    color: #fff;
    white-space: nowrap;
}

.activity-detail-zoom-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 73px;
    height: 73px;
    border: 0;
    border-radius: 10px 0 20px 0;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.activity-detail-zoom-btn i {
    font-size: 34px;
    line-height: 1;
    color: #2d6474;
}

.activity-detail-thumb-row {
    display: grid;
    grid-template-columns: 70px 1fr 70px;
    align-items: center;
    column-gap: 22px;
    width: 1352px;
    margin: 34px auto 0;
}

.activity-detail-nav {
    width: 64px;
    height: 17px;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    flex: 0 0 64px;
}

.activity-detail-nav-svg {
    display: block;
    width: 64px;
    height: 17px;
}

.activity-detail-nav-svg path {
    fill: none;
    stroke: #0173BA;
    stroke-width: 1;
    stroke-linecap: square;
    stroke-linejoin: miter;
}
.activity-detail-thumbs {
    min-width: 0;
}

.activity-thumb-swiper {
    overflow: hidden;
}

.activity-thumb-swiper .swiper-wrapper {
    align-items: center;
}

.activity-thumb-btn {
    display: block;
    width: 100%;
    padding: 0;
    border: 3px solid transparent;
    background-color: #f2f2f2;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

.activity-thumb-btn.on {
    border-color: #0088FF;
}

.activity-thumb-btn img {
    display: block;
    width: 100%;
    height: 170px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    box-sizing: border-box;
}
.activity-thumb-swiper .swiper-slide-thumb-active .activity-thumb-btn {
    border-color: #0088ff;
}

.activity-detail-download {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 65px;
}

.activity-detail-download-label {
    flex: 0 0 auto;
    margin-right: 30px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 18px;
    line-height: 1;
    font-weight: 600;
    color: #111111;
}

.activity-detail-download-options {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto;
}

.activity-detail-radio {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 400;
    color: #222;
}

.activity-detail-radio input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.activity-detail-radio-mark {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border: 1px solid #888888;
    border-radius: 50%;
    background: #ffffff;
    box-sizing: border-box;
}

.activity-detail-radio input:checked + .activity-detail-radio-mark::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #000000;
}

.activity-detail-radio-text {
    display: inline-block;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 400;
    color: #222222;
}

.activity-detail-download-filetype {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    margin-left: 40px;
}

.download-type-btn {
    height: 32px;
    padding: 7px 14px;
    border: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
}

.download-type-btn i {
    font-size: 15px;
    line-height: 1;
}

.download-type-btn.is-origin {
    min-width: 71px;
    background: #4a8cff;
}

.download-type-btn.is-pc {
    min-width: 71px;
    background: #089692;
}

.download-type-btn.is-mobile {
    min-width: 90px;
    background: #0173ba;
}

.activity-detail-content {
    margin-top: 15px;
}

.activity-detail-content-title {
    margin: 0 0 22px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    color: #111;
}

.activity-detail-content-box {
    padding: 30px 20px;
    border: 1px solid #dddddd;
    border-radius: 10px;
    background: #f9f9f9;
}

.activity-detail-content-box p {
    margin: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 18px;
    letter-spacing: -1px;
    line-height: 1.7;
    font-weight: 400;
    color: #000;
    word-break: keep-all;
}

/* modal */
.activity-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.activity-detail-modal.is-open {
    display: block;
}

.activity-detail-modal-dim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
}

.activity-detail-modal-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(1200px, calc(100% - 40px));
    transform: translate(-50%, -50%);
}

.activity-detail-modal-image {
    display: block;
    width: 100%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 16px;
    background: #fff;
}

.activity-detail-modal-close {
    position: absolute;
    top: -52px;
    right: 0;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.activity-detail-modal-close i {
    font-size: 28px;
    color: #111;
}

/* =========================================================
   의정활동 상세 - 참여의원 / 라이선스 / 하단목록
========================================================= */
.activity-detail-members {
    margin-top: 14px;
}

.activity-detail-members-head {
    padding: 0;
    margin-bottom: 20px;
}

.activity-detail-members-title {
    margin: 0;
    padding: 0 0 0 2px;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 24px;
    line-height: 42px;
    font-weight: 700;
    color: #111111;
}

.activity-detail-members-body {
    overflow-y: auto;
    padding: 15px 31px 31px;
    border-top: 1px solid #bbbbbb;
    border-bottom: 1px solid #bbbbbb;
    background-color: #f9f9f9;
}

.activity-detail-member-list {
    display: flex;
    align-items: flex-start;
    gap: 50px;
    margin: 0;
    list-style: none;
}

.activity-detail-member-item {
    width: 116.95px;
    text-align: center;
    flex: 0 0 116.95px;
}

.activity-detail-member-thumb {
    width: 116.95px;
    height: 159px;
    margin: 0 auto;
    border: 1px solid #004ea1;
    border-radius: 150px;
    overflow: hidden;
    background: #ffffff;
    box-sizing: border-box;
}

.activity-detail-member-thumb.red {
    border-color: #d31421;
}

.activity-detail-member-thumb.blue {
    border-color: #004ea1;
}

.activity-detail-member-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.activity-detail-member-name {
    margin: 14px 0 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 18px;
    font-weight: 400;
    color: #222222;
    word-break: keep-all;
}

.activity-detail-license {
    margin-top: 34px;
    padding: 20px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #f9f9f9;
}

.activity-detail-license-inner {
    display: flex;
    align-items: center;
    gap: 34px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 140px;
}

.activity-detail-license-inner img {
    display: block;
    width: auto;
    height: 40px;
    flex: 0 0 auto;
}

.activity-detail-license-inner p {
    margin: 0;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 22px;
    font-weight: 400;
    color: #000;
    word-break: keep-all;
}

.activity-detail-bottom {
    display: flex;
    justify-content: center;
    padding: 34px 0 0;
}

.activity-detail-bottom-list-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 40px;
    padding: 0 18px;
    border: 1px solid #003b96;
    border-radius: 8px;
    background: #003b96;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    color: #ffffff;
    text-decoration: none;
}

.activity-detail-bottom-list-btn:hover {
    background: #002f77;
    border-color: #002f77;
}

/* 참여의원 썸네일 그림자 */
.activity-detail-member-thumb {
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.14);
}

/* =========================================================
   상세 상단 추가 갤러리
========================================================= */
.activity-detail-page.has-top-gallery .activity-detail-head {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.activity-detail-top-gallery {
    width: 100%;
    margin: 30px 0 50px;
    border: 1px solid #aaaaaa;
    box-sizing: border-box;
}

.activity-detail-top-gallery-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 14px 20px;
    border-bottom: 1px solid #cccccc;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #003b96;
    background-color: #F8FbFF;
    text-align: center;
}

.activity-detail-top-gallery-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 14px;
    padding: 17px 18px 18px 14px;
    box-sizing: border-box;
    background-color: #f9f9f9;
}

.activity-detail-top-gallery-item {
    position: relative;
    box-sizing: border-box;
    border: 3px solid transparent;
}

.activity-detail-top-gallery-item.is-active {
    border-color: #0088FF;
}

.activity-detail-top-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.activity-detail-page.has-top-gallery .activity-detail-title {
    margin: 27px 0 0;
    padding: 18px 0 19px;
    border-top: 2px solid #cccccc;
    border-bottom: 1px solid #dddddd;
    box-sizing: border-box;
    text-align: center;
}

.no-result{
    text-align: center;
}

/* ===============================
   선택 버튼 영역
================================ */
.activity-choice {
    display: flex;
    align-items: center;
    gap: 6px;
}

.activity-choice button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    padding: 0 12px;
    border-radius: 8px;
    box-sizing: border-box;
    font-family: "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.choice_btn01 {
    border: 1px solid #d7dce8;
    background: #ffffff;
    color: #222222;
}

.choice_btn01:hover {
    border-color: #24459c;
    color: #24459c;
}
.choice_btn02,
.choice_btn03 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.choice_btn02 {
    border: 1px solid #24459c;
    background: #ffffff;
    color: #24459c;
}

.choice_btn02:hover {
    background: #24459c;
    color: #ffffff;
}

.choice_btn03 {
    border: 1px solid #D31421;
    background: #ffffff;
    color: #D31421;
}

.choice_btn03:hover {
    background: #D31421;
    color: #ffffff;
}

/* 전체선택 파란 버튼 */
.activity-choice .choice_btn01:first-child {
    border-color: #24459c;
    background: #24459c;
    color: #ffffff;
    width: 80px;
}

/* 즐겨찾기 SVG */
.activity-choice .choice_btn01:nth-child(2)::before {
    content: "";
    width: 14px;
    height: 14px;
    margin-right: 5px;
    background: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1.2L8.72 4.68L12.56 5.24L9.78 7.95L10.44 11.78L7 9.97L3.56 11.78L4.22 7.95L1.44 5.24L5.28 4.68L7 1.2Z' fill='%23222222'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 다운로드 SVG */
/*.activity-choice .choice_btn02::before {*/
/*    content: "";*/
/*    width: 14px;*/
/*    height: 14px;*/
/*    margin-right: 5px;*/
/*    background: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2.25' y='2.25' width='9.5' height='9.5' rx='0.8' stroke='%2324459C' stroke-width='1.5'/%3E%3Cpath d='M7 4.1V8.1' stroke='%2324459C' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M5.25 6.55L7 8.3L8.75 6.55' stroke='%2324459C' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;*/
/*}*/

.choice_btn02:hover::before {
    filter: brightness(0) invert(1);
}

/* ===============================
   카드 체크박스
================================ */
.activity-card-check {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    display: block;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.activity-card-check input {
    position: absolute;
    inset: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.activity-card-check::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border: 1px solid #9ca3af;
    border-radius: 4px;
    background: #ffffff;
    box-sizing: border-box;
}

.activity-card-check:has(input:checked)::before {
    border-color: #24459c;
    background: #24459c;
}

.activity-card-check:has(input:checked)::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 3px;
    width: 5px;
    height: 9px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
}

/* 상세 썸네일 체크박스 보이게 처리 */
.activity-thumb-item {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.activity-thumb-btn {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
}

.activity-thumb-check {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    pointer-events: auto;
}

.activity-thumb-check .input-checkbox {
    position: static;
    display: block;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    opacity: 1;
    visibility: visible;
    appearance: auto;
    -webkit-appearance: checkbox;
    cursor: pointer;
}


/* 사이트맵 */
.siteMap-area {
    position: relative;
    padding: 80px 0 100px;
    background: #fff;
    overflow: hidden;
}

.siteMap-area::after {
    content: "";
    position: absolute;
    right: 0px;
    bottom: 75px;
    width: 360px;
    height: 360px;
    background: url("../../images/renewal/inc_simbol.png") no-repeat center / contain;
    pointer-events: none;
}

.siteMap-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

.siteMap-list {
    width: 100%;
}

.siteMap-row {
    display: grid;
    grid-template-columns: 150px 1fr;
    align-items: center;
    min-height: 100px;
    border-bottom: 1px solid #ddd;
    gap: 40px;
}

.siteMap-row:first-child {
    border-top: 0;
}

.siteMap-title {
    margin: 0;
    font-family: "Paperlogy", "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 28px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: -1px;
    color: #000;
}

.siteMap-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    min-width: 0;
}

.siteMap-links a {
    display: inline-flex;
    align-items: center;
    font-family: "Paperlogy", "PretendardGOV", "Noto Sans KR", sans-serif;
    font-size: 24px;
    line-height: 1;
    font-weight: 300;
    letter-spacing: -1px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}

.siteMap-links a:hover,
.siteMap-links a:focus {
    color: #000;
    font-weight: 500;
}

.siteMap-bar {
    display: inline-block;
    margin: 0 24px;
    font-size: 20px;
    line-height: 1;
    font-weight: 300;
    color: #999;
}

.activity-mobile-page-btns {
    display: none;
}


/* =========================================================
   반응형 통합본
========================================================= */

@media (max-width: 1500px) {
    .activity-detail-license-inner {
        padding: 0 60px;
    }

    .activity-detail-main::after {
        width: calc(100vw - 80px);
        max-width: none;
    }

    .activity-detail-head-top {
        display: none;
    }

    .activity-detail-inner {
        width: calc(100% - 80px);
    }

    .activity-detail-thumb-row {
        width: 100%;
    }

    .sub-page-inner,
    .sub-visual-inner,
    .search-result-wrap,
    .archive-page-inner,
    .assembly-activity-inner {
        width: calc(100% - 80px);
    }

    .activity-filter-box,
    .search-box {
        width: 100%;
    }

    .total-search-wrap {
        width: calc(100% - 80px);
    }

    .album-card-list {
        overflow-x: auto;
        padding-bottom: 10px;
    }

    .album-card-list::-webkit-scrollbar {
        height: 6px;
    }

    .album-card-list::-webkit-scrollbar-thumb {
        background: #cccccc;
        border-radius: 999px;
    }

    .archive-card-thumb-main {
        width: auto;
    }

    .archive-card-thumb-group {
        flex: 0 0 420px;
    }

    .archive-card-thumb-sub {
        width: 205px;
        flex: 0 0 205px;
    }

    .history-council-list {
        column-gap: 20px;
    }

    .sub-page-inner,
    .sub-visual-inner,
    .search-result-wrap,
    .archive-page-inner,
    .assembly-activity-inner,
    .activity-detail-inner {
        width: calc(100% - 40px);
    }

    .total-search-wrap,
    .search-box {
        width: 100%;
    }
}


@media (max-width: 1480px) {
    .activity-detail-top-gallery-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .siteMap-inner {
        max-width: none;
        width: calc(100% - 80px);
    }
}

@media (max-width: 1440px) {
    .activity-toolbar {
        padding-left: 20px;
        padding-right: 20px;
    }

    .activity-toolbar-right {
        gap: 10px;
    }
}

@media (max-width: 1280px) {
    .activity-detail-title {
        font-size: 30px;
    }

    .activity-detail-main {
        width: 100%;
        max-width: 812px;
    }

    .activity-thumb-swiper .swiper-slide {
        width: 220px;
    }

    .activity-thumb-btn img {
        height: 150px;
    }

    .search-box {
        padding: 24px 32px;
    }

    .activity-result-item,
    .activity-result-item.no-des {
        gap: 24px;
        height: auto;
    }

    .activity-result-thumb,
    .activity-result-item.no-des .activity-result-thumb {
        flex-basis: 220px;
        width: 220px;
        height: 152px;
    }

    .activity-result-body,
    .activity-result-item.no-des .activity-result-body {
        height: auto;
    }

    .activity-filter-box {
        padding: 30px 32px;
    }

    .activity-filter-group-type {
        padding-right: 32px;
    }

    .activity-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 40px 24px;
    }

    .member-grid-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 28px;
        padding: 28px 0;
    }

    .sub-page-inner {
        width: calc(100% - 40px);
        max-width: 1440px;
        margin: 0 auto;
    }

    .member-card-thumb {
        width: 100%;
    }

    .member-card-name {
        margin-top: 10px;
    }

    .result-group {
        padding: 24px 20px 32px;
    }

    .album-result-row {
        gap: 24px;
    }

    .album-card-list {
        gap: 20px;
        max-width: none;
        min-width: 0;
        overflow-x: auto;
    }

    .album-card-item {
        width: 240px;
        min-width: 240px;
        flex-basis: 240px;
        height: auto;
    }

    .album-card-thumb {
        width: 240px;
        height: 158px;
    }

    .album-card-title {
        font-size: 17px;
        line-height: 24px;
        min-height: 48px;
        margin: 16px 0 14px;
    }
}

@media (max-width: 1200px) {
    .archive-card {
        padding: 24px;
    }

    .archive-card-gallery {
        flex-direction: column;
    }

    .archive-card-thumb-main {
        width: 100%;
        height: 260px;
    }

    .archive-card-thumb-group {
        flex: none;
        width: 100%;
    }

    .archive-card-thumb-sub {
        width: calc(50% - 10px);
        flex: 1 1 0;
        height: 220px;
    }

    .archive-card-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .archive-card-meta {
        justify-content: flex-start;
        flex-wrap: wrap;
        white-space: normal;
    }
}

@media (max-width: 1024px) {

    .siteMap-area {
        padding: 60px 0 80px;
    }

    .siteMap-row {
        grid-template-columns: 130px 1fr;
        min-height: 86px;
    }

    .siteMap-title {
        font-size: 24px;
    }

    .siteMap-links a {
        font-size: 20px;
    }

    .siteMap-bar {
        margin: 0 16px;
    }

    .activity-toolbar {
        padding-left: 0;
        padding-right: 0;
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .activity-total {
        width: 100%;
    }

    .activity-toolbar-right {
        width: 100%;
        display: grid;
        grid-template-columns: auto auto 1fr;
        align-items: center;
        column-gap: 10px;
        row-gap: 10px;
    }

    .activity-view-type {
        order: initial;
        justify-self: start;
    }

    .activity-count-select {
        order: initial;
        width: 78px;
        justify-self: start;
    }

    .activity-page-inline {
        order: initial;
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        white-space: nowrap;
    }

    .activity-page-current-wrap {
        width: 46px;
        flex: 0 0 46px;
    }

    .activity-page-total {
        white-space: nowrap;
    }

    .activity-choice {
        order: initial;
        grid-column: 1 / -1;
        width: 100%;
        flex-wrap: wrap;
    }

    .activity-view-type,
    .activity-count-select,
    .activity-page-inline {
        order: 2;
    }

    .activity-detail-download {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 14px;
    }

    .activity-detail-download-label {
        flex: 0 0 100%;
        width: 100%;
        margin-bottom: 0;
    }

    .activity-detail-download-options {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px 20px;
        width: 100%;
        min-width: 0;
    }

    .activity-detail-radio {
        margin: 0;
    }

    .activity-detail-download-filetype {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        width: 100%;
        min-width: 0;
    }

    .download-type-btn {
        min-width: 0;
    }

    .activity-detail-member-list {
        gap: 16px;
        padding-left: 16px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .activity-detail-license-inner {
        padding: 0 24px;
        gap: 20px;
    }

    .activity-detail-license-inner p {
        font-size: 14px;
        line-height: 20px;
    }

    .activity-detail-bottom-list-btn {
        min-width: 64px;
        height: 40px;
        font-size: 16px;
    }

    .activity-detail-page {
        padding: 50px 0 80px;
    }

    .activity-detail-head-top {
        justify-content: center;
    }

    .activity-detail-title {
        font-size: 28px;
    }

    .activity-detail-main-item img {
        height: auto;
        aspect-ratio: 812 / 392;
    }

    .activity-detail-thumb-row {
        grid-template-columns: 40px 1fr 40px;
        column-gap: 12px;
    }

    .activity-detail-nav {
        width: 40px;
        height: 14px;
        flex: 0 0 40px;
    }

    .activity-detail-nav-svg {
        width: 40px;
        height: 14px;
    }

    .activity-thumb-swiper .swiper-slide {
        width: 200px;
    }

    .activity-thumb-btn img {
        height: 138px;
        border-radius: 16px;
    }

    .sub-page {
        padding-bottom: 100px;
    }

    .sub-visual {
        height: 200px;
        min-height: 200px;
        background-position: center center;
        background-size: cover;
    }

    .sub-visual-inner {
        width: calc(100% - 48px);
        height: 100%;
    }

    .sub-visual-copy {
        width: 100%;
        max-width: 100%;
        padding: 0 24px;
        box-sizing: border-box;
    }

    .sub-visual-title {
        margin: 0 0 28px;
        font-size: 34px;
        line-height: 1.2;
        white-space: normal;
        word-break: keep-all;
        margin-bottom: 24px;
    }

    .sub-breadcrumb {
        flex-wrap: wrap;
        gap: 6px 0;
        white-space: normal;
    }

    .breadcrumb-home,
    .breadcrumb-center,
    .breadcrumb-current {
        font-size: 16px;
        line-height: 22px;
    }

    .breadcrumb-home {
        margin-right: 10px;
    }

    .breadcrumb-center {
        margin: 0 10px;
    }

    .breadcrumb-current {
        margin-left: 10px;
    }

    .breadcrumb-separator {
        width: 10px;
        height: 10px;
        flex: 0 0 10px;
    }

    .breadcrumb-separator img {
        width: 10px;
        height: 10px;
    }

    .history-page {
        padding: 20px 0 100px;
    }

    .history-council-list {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
        row-gap: 20px;
    }

    .congress-member-page {
        margin: 28px 0 80px;
    }

    .member-grid-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 20px;
    }

    .member-card-name {
        margin-top: 14px;
        gap: 6px;
    }

    .member-card-name strong,
    .member-card-name em {
        font-size: 18px;
    }

    .album-result-row {
        width: 100%;
        max-width: 100%;
        gap: 24px;
        height: auto;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: start;
        display: grid;
        grid-template-columns: 156px minmax(0, 1fr);
        min-width: 0;
    }

    .album-member-card {
        width: 156px;
        display: block;
        align-items: center;
        gap: 20px;
        text-align: left;
        height: auto;
        flex: none;
        min-width: 156px;
        max-width: 156px;
    }

    .album-member-thumb {
        flex: 0 0 119px;
        width: 156px;
        height: 192px;
        display: block;
    }

    .album-member-name {
        margin: 15px 0 0;
        font-size: 18px;
        line-height: 22px;
        display: block;
        width: 100%;
        word-break: keep-all;
        white-space: normal;
    }

    .album-card-list {
        width: 100%;
        min-width: 0;
        max-width: none;
        flex: 1 1 auto;
        height: auto;
        gap: 20px;
        padding-bottom: 8px;
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .activity-filter-box {
        padding: 24px;
    }

    .activity-filter-row {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }

    .activity-filter-row + .activity-filter-row {
        margin-top: 20px;
    }

    .activity-filter-group,
    .activity-filter-group-type,
    .activity-filter-group-date,
    .activity-filter-group-keyword {
        width: 100%;
        padding-right: 0;
    }

    .activity-filter-group-date .activity-filter-label {
        margin-right: 20px;
    }

    .activity-filter-group-date .activity-filter-control {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        max-width: none;
        margin-left: 0;
    }

    .activity-date-range {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .activity-date-item {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .activity-filter-control-keyword {
        gap: 16px;
    }

    .activity-select-wrap {
        flex: 0 0 180px;
        width: 180px;
    }

    .activity-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .activity-toolbar-right {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .activity-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 20px;
    }

    .activity-card-grid.list-view .activity-card {
        gap: 24px;
    }

    .activity-card-grid.list-view .activity-card-thumb {
        width: 220px;
        min-width: 220px;
        max-width: 220px;
        height: 170px;
        flex: 0 0 220px;
    }

    .activity-card-grid.list-view .activity-card-body {
        min-height: 170px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .activity-card-grid.list-view .activity-card-title {
        font-size: 17px;
        line-height: 24px;
    }

    .activity-card-grid.list-view .activity-card-meta {
        margin-top: auto;
        padding-top: 16px;
    }

    .breadcrumb-home,
    .breadcrumb-current {
        font-size: 16px;
        line-height: 20px;
    }

    .total-search-section {
        margin-top: 24px;
    }

    .total-search-form {
        gap: 16px;
    }

    .search-box {
        height: auto;
        padding: 24px;
    }

    .search-result-wrap {
        margin: 40px auto 80px;
    }

    .result-group-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }

    .result-more-btn {
        min-width: 94px;
        height: 36px;
    }

    .album-member-link {
        width: 119px;
        font-size: 14px;
        display: inline-flex;
        height: 40px;
        margin-top: 15px;
    }

    .album-card-item {
        width: 220px;
        min-width: 220px;
        flex-basis: 220px;
        flex: 0 0 220px;
        height: auto;
    }

    .album-card-thumb {
        width: 220px;
        height: 145px;
    }

    .activity-result-item,
    .activity-result-item.no-des {
        gap: 20px;
        height: auto;
    }

    .activity-result-thumb,
    .activity-result-item.no-des .activity-result-thumb {
        width: 220px;
        height: 190px;
        flex: 0 0 220px;
    }

    .activity-result-body,
    .activity-result-item.no-des .activity-result-body {
        height: auto;
        padding: 8px 0;
    }

    .activity-result-text {
        margin-bottom: 18px;
    }

    .activity-result-tags.no-des {
        margin-top: 0;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .activity-detail-download {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 14px 20px;
    }

    .activity-detail-download-label {
        flex: 0 0 auto;
        width: auto;
        margin-right: 0;
        white-space: nowrap;
    }

    .activity-detail-download-options {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 12px 16px;
        width: auto;
        min-width: 0;
        flex: 1 1 auto;
    }

    .activity-detail-download-filetype {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        width: auto;
        min-width: 0;
        margin-left: 20px;
        flex: 0 0 auto;
    }

    .download-type-btn {
        flex: 0 0 auto;
        min-width: 71px;
        white-space: nowrap;
    }

    .download-type-btn.is-mobile {
        min-width: 90px;
    }
}

@media (max-width: 768px) {

    .siteMap-inner {
        width: calc(100% - 40px);
    }

    .siteMap-row {
        display: block;
        min-height: auto;
        padding: 28px 0;
    }

    .siteMap-title {
        margin-bottom: 18px;
        font-size: 22px;
    }

    .siteMap-links {
        row-gap: 12px;
    }

    .siteMap-links a {
        font-size: 18px;
    }

    .siteMap-bar {
        margin: 0 12px;
        font-size: 16px;
    }

    .siteMap-area::after {
        right: -120px;
        bottom: 40px;
        width: 280px;
        height: 280px;
    }

    .activity-choice {
        gap: 8px;
    }

    .activity-choice button {
        height: 34px;
        padding: 0 10px;
        font-size: 12px;
    }

    .activity-choice .choice_btn01:first-child {
        min-width: 72px;
    }

    .choice_btn01,
    .choice_btn02 {
        flex: 0 0 auto;
    }

    .activity-card-check {
        top: 8px;
        left: 8px;
        width: 20px;
        height: 20px;
    }

    .activity-card-check input,
    .activity-card-check::before {
        width: 20px;
        height: 20px;
    }

    .activity-card-check:has(input:checked)::after {
        left: 6px;
        top: 3px;
        width: 5px;
        height: 9px;
    }

    .result-group-activity .result-group-head {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .result-group-activity .result-group-head-left {
        width: 100%;
    }

    .result-group-activity .result-more-btn {
        align-self: flex-end;
        margin-top: 6px;
        margin-left: 0;
    }

    .search-box-field {
        width: 100%;
    }

    .activity-detail-download {
        gap: 12px;
        padding: 20px 16px;
        justify-content: flex-start;
        align-items: flex-start;
        padding-left: 0;
        padding-right: 0;
    }

    .activity-detail-download-label,
    .activity-detail-download-options,
    .activity-detail-download-filetype {
        width: 100%;
    }

    .activity-detail-download-label {
        font-size: 20px;
        line-height: 1.2;
    }

    .activity-detail-download-options {
        gap: 10px 16px;
    }

    .activity-detail-radio {
        flex: 0 0 auto;
    }

    .activity-detail-radio-text {
        font-size: 15px;
        line-height: 1.3;
    }

    .activity-detail-download-filetype {
        gap: 8px;
    }

    .download-type-btn {
        flex: 1 1 calc(33.333% - 6px);
        justify-content: center;
        height: 42px;
        padding: 0 12px;
        border-radius: 8px;
        font-size: 14px;
    }

    .download-type-btn span {
        white-space: nowrap;
    }

    .activity-detail-main {
        padding-bottom: 24px;
    }

    .activity-detail-main::after {
        width: calc(100vw - 32px);
    }

    .activity-detail-members-title {
        font-size: 18px;
        line-height: 38px;
    }

    .activity-detail-members-body {
        padding: 16px 0 20px;
    }

    .activity-detail-member-list {
        gap: 14px;
        padding-left: 12px;
    }

    .activity-detail-member-item {
        width: 96px;
        flex: 0 0 96px;
    }

    .activity-detail-member-thumb {
        width: 96px;
        height: 132px;
    }

    .activity-detail-member-name {
        font-size: 14px;
        line-height: 17px;
        margin-top: 10px;
    }

    .activity-detail-license {
        margin-top: 24px;
        padding: 16px 0;
    }

    .activity-detail-license-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 0 16px;
    }

    .activity-detail-license-inner img {
        height: 34px;
    }

    .activity-detail-bottom {
        padding-top: 24px;
    }

    .activity-detail-inner {
        width: calc(100% - 32px);
    }

    .activity-detail-page {
        padding: 32px 0 70px;
    }

    .activity-detail-head {
        margin-bottom: 24px;
        padding-bottom: 20px;
    }

    .activity-detail-head-top {
        margin-bottom: 14px;
    }

    .activity-detail-list-btn {
        min-width: 64px;
        height: 40px;
        font-size: 16px;
    }

    .activity-detail-title {
        font-size: 24px;
        line-height: 1.4;
    }

    .activity-detail-main-item {
        border-radius: 16px;
    }

    .activity-detail-main-caption {
        left: 8px;
        bottom: 8px;
        height: 24px;
        padding: 0 8px;
        font-size: 12px;
        line-height: 24px;
    }

    .activity-detail-zoom-btn {
        width: 52px;
        height: 52px;
        border-radius: 10px 0 16px 0;
    }

    .activity-detail-zoom-btn i {
        font-size: 28px;
    }

    .activity-detail-thumb-row {
        grid-template-columns: 1fr;
        margin-top: 24px;
    }

    .activity-detail-nav {
        display: none;
    }

    .activity-thumb-swiper .swiper-slide {
        width: 180px;
    }

    .activity-thumb-btn img {
        height: 110px;
        border-radius: 14px;
    }

    .activity-detail-content-title {
        font-size: 20px;
    }

    .activity-detail-download-options,
    .activity-detail-download-filetype {
        flex-wrap: wrap;
        margin-left: 0;
    }

    .activity-detail-content-box p {
        font-size: 15px;
    }

    .sub-page-inner,
    .sub-visual-inner,
    .search-result-wrap,
    .total-search-wrap,
    .archive-page-inner,
    .assembly-activity-inner {
        width: calc(100% - 32px);
    }

    .sub-visual {
        height: 160px;
        min-height: 160px;
        background-position: center center;
        background-size: cover;
    }

    .sub-visual-inner {
        width: calc(100% - 32px);
    }

    .sub-visual-copy {
        top: 50%;
        left: 50%;
        width: 100%;
        padding: 0 12px;
        transform: translate(-50%, -50%);
    }

    .sub-visual-title {
        margin-bottom: 14px;
        font-size: 28px;
        line-height: 1.25;
        white-space: normal;
        word-break: keep-all;
    }

    .sub-breadcrumb {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
        white-space: normal;
    }

    .breadcrumb-home,
    .breadcrumb-current,
    .breadcrumb-center {
        font-size: 15px;
        line-height: 20px;
    }

    .breadcrumb-home {
        margin-right: 8px;
    }

    .breadcrumb-center {
        margin: 0 8px;
    }

    .breadcrumb-current {
        margin-left: 8px;
    }

    .breadcrumb-separator {
        width: 10px;
        height: 10px;
        flex: 0 0 10px;
    }

    .breadcrumb-separator img {
        width: 10px;
        height: 10px;
    }

    .total-search-section {
        margin-top: 30px;
    }

    .total-search-form {
        gap: 20px;
    }

    .search-box {
        height: auto;
        min-height: 110px;
        padding: 18px 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .search-box-label {
        width: auto;
        margin-right: 0;
        margin-bottom: 12px;
    }

    .search-input {
        height: 46px;
        font-size: 15px;
    }

    .search-result-wrap {
        margin-top: 40px;
        margin: 32px auto 64px;
    }

    .search-result-total {
        margin-bottom: 20px;
        font-size: 15px;
    }

    .result-group {
        padding: 20px 16px 28px;
    }

    .result-group-head {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        margin-bottom: 20px;
    }

    .result-group-head-left {
        flex: 1 1 auto;
        min-width: 0;
    }

    .result-group-title {
        flex: 1 1 auto;
        min-width: 0;
        line-height: 36px;
    }

    .result-more-btn {
        flex: 0 0 auto;
        min-width: 94px;
        height: 36px;
        margin-left: auto;
    }

    .result-group-desc {
        margin-top: 6px;
    }

    .album-member-card {
        width: 150px;
        min-width: 150px;
        max-width: 150px;
        flex: none;
        display: block;
        text-align: left;
    }

    .album-member-link {
        width: 119px;
        min-width: 110px;
        padding: 0 14px;
        margin-top: 12px;
        height: 40px;
        font-size: 14px;
        display: inline-flex;
    }

    .album-card-list {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
        width: 100%;
        min-width: 0;
        max-width: none;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 8px;
    }

    .album-card-item {
        width: 220px;
        flex: 0 0 220px;
        height: auto;
        min-width: 220px;
    }

    .album-card-thumb {
        width: 220px;
        height: 145px;
    }

    .album-card-title {
        margin-top: 16px;
        min-height: 40px;
        font-size: 15px;
        line-height: 20px;
        margin: 12px 0 10px;
    }

    .activity-result-item,
    .activity-result-item.no-des {
        flex-direction: column;
        gap: 14px;
        height: auto;
    }

    .activity-result-thumb,
    .activity-result-item.no-des .activity-result-thumb {
        width: 100%;
        height: auto;
        flex: none;
        aspect-ratio: 16 / 10;
        border-radius: 12px;
    }

    .activity-result-body,
    .activity-result-item.no-des .activity-result-body {
        height: auto;
        padding: 0;
    }

    .activity-result-title {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 12px;
    }

    .activity-result-text {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 12px;
    }

    .activity-result-tags,
    .activity-result-tags.no-des {
        gap: 10px;
        margin-top: 0;
        margin-bottom: 14px;
    }

    .activity-result-tags-label {
        width: 100%;
        font-size: 14px;
    }

    .activity-result-tag {
        height: 28px;
        padding: 0 12px;
        font-size: 13px;
    }

    .archive-page {
        margin: 32px 0 80px;
    }

    .archive-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding-bottom: 14px;
    }

    .archive-toolbar-right {
        width: 100%;
        justify-content: flex-start;
        gap: 10px;
        flex-wrap: wrap;
    }

    .archive-card {
        padding: 16px;
        border-radius: 10px;
    }

    .archive-card-gallery {
        gap: 8px;
    }

    .archive-card-thumb,
    .archive-card-thumb-main,
    .archive-card-thumb-sub {
        border-radius: 12px;
    }

    .archive-card-thumb-main {
        height: 220px;
    }

    .archive-card-thumb-group {
        gap: 8px;
    }

    .archive-card-thumb-sub {
        height: 160px;
    }

    .archive-card-bottom {
        margin-top: 16px;
        gap: 12px;
    }

    .archive-card-title {
        font-size: 20px;
        line-height: 28px;
    }

    .archive-card-title::before {
        top: 3px;
        height: 22px;
    }

    .archive-card-meta-label,
    .archive-card-meta-date,
    .archive-card-meta-item {
        font-size: 14px;
        line-height: 18px;
    }

    .archive-count-select {
        width: 72px;
        height: 39px;
        flex: 0 0 72px;
    }

    .page-input-wrap {
        width: 46px;
        min-width: 46px;
    }

    .history-page {
        padding: 16px 0 80px;
    }

    .history-council-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .member-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
        padding: 20px 0 24px;
    }

    .member-card-thumb {
        border-width: 2px;
    }

    .member-card-name strong,
    .member-card-name em {
        font-size: 16px;
    }

    .assembly-activity-page {
        margin: 32px 0 80px;
    }

    .activity-filter-section {
        margin-bottom: 40px;
    }

    .activity-filter-box {
        padding: 20px 16px;
    }

    .activity-filter-group,
    .activity-filter-group-type,
    .activity-filter-group-date,
    .activity-filter-group-keyword {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .activity-filter-label,
    .activity-filter-group-date .activity-filter-label {
        width: auto;
        flex: none;
        margin-right: 0;
    }

    .activity-filter-control,
    .activity-filter-group-date .activity-filter-control {
        width: 100%;
        min-width: 0;
        max-width: none;
        flex: none;
    }

    .activity-date-range {
        width: 100%;
        height: auto;
    }

    .activity-date-gap {
        display: block;
        flex: 0 0 10px;
        width: 10px;
        min-width: 10px;
        max-width: 10px;
        height: 50px;
    }

    .activity-filter-control-keyword {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .activity-select-wrap {
        width: 100%;
        flex: none;
    }

    .activity-search-btn {
        width: 90px;
        height: 44px;
        margin-top: 20px;
        font-size: 20px;
    }

    .activity-card-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .activity-card-title {
        min-height: auto;
        font-size: 17px;
        line-height: 26px;
    }

    .activity-card-grid.list-view .activity-card {
        flex-direction: column;
        gap: 16px;
    }

    .activity-card-grid.list-view .activity-card-thumb {
        width: 100%;
        min-width: 0;
        max-width: none;
        height: auto;
        aspect-ratio: 1 / 0.6948;
        flex: none;
    }

    .activity-card-grid.list-view .activity-card-body {
        width: 100%;
        min-height: auto;
        padding-top: 0;
        padding-bottom: 0;
    }

    .activity-card-grid.list-view .activity-card-meta {
        margin-top: 15px;
        padding-top: 0;
    }

    .sub-page-inner,
    .sub-visual-inner,
    .search-result-wrap,
    .archive-page-inner,
    .assembly-activity-inner,
    .activity-detail-inner {
        width: calc(100% - 32px);
    }

    .breadcrumb-home,
    .breadcrumb-current {
        font-size: 14px;
        line-height: 18px;
        margin: 0;
    }

    .search-submit-btn {
        width: 100%;
        height: 46px;
    }

    .result-group-title {
        font-size: 15px;
        line-height: 24px;
    }

    .result-group-desc {
        padding-left: 0;
        margin-top: 6px;
        font-size: 13px;
        line-height: 18px;
    }

    .result-group.result-group-album {
        overflow-x: auto;
        overflow-y: hidden;
        overflow: hidden;
    }

    .album-result-row {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        align-items: start;
        gap: 24px;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .album-member-thumb {
        display: block;
        width: 150px;
        height: 185px;
        flex: none;
    }

    .album-member-name {
        margin: 12px 0 0;
        font-size: 16px;
        line-height: 21px;
        display: block;
        width: 100%;
        white-space: normal;
        word-break: keep-all;
    }

    .album-card-badge {
        top: 6px;
        right: 6px;
        min-width: 34px;
        height: 20px;
        font-size: 12px;
    }

    .meta-label,
    .meta-date,
    .meta-view {
        font-size: 13px;
        line-height: 16px;
    }

    .meta-view {
        margin-left: 12px;
    }

    .meta-view::before {
        left: -8px;
    }

    .activity-result-body {
        padding: 0;
    }

    .activity-meta-item {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .activity-mobile-page-btns {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        width: 100%;
        margin: 24px 0 40px;
        padding: 0 16px;
        box-sizing: border-box;
    }

    .activity-mobile-page-btns .activity-mobile-page-btn {
        flex: 1 1 0;
        max-width: calc(50% - 8px);
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #a9a9a9;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
    }

    .activity-mobile-page-btns .activity-mobile-page-btn.prev,
    .activity-mobile-page-btns .activity-mobile-page-btn.next {
        width: auto;
        min-width: 0;
    }

    .activity-mobile-page-btns .activity-mobile-page-btn:disabled {
        opacity: 0.45;
        cursor: default;
    }

    .activity-mobile-page-btns .activity-mobile-page-btn span,
    .activity-mobile-page-btns .activity-mobile-page-btn svg {
        display: none;
    }
    .activity-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .activity-total {
        width: 100%;
    }

    .activity-toolbar-right {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 8px;
        min-width: 0;
    }

    .activity-view-type {
        display: flex;
        align-items: center;
        gap: 4px;
        flex: 0 0 auto;
    }

    .activity-count-select {
        width: 78px;
        height: 39px;
        flex: 0 0 78px;
    }

    .activity-page-inline {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        margin-left: auto;
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .activity-page-arrow {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
    }

    .activity-page-arrow svg {
        width: 20px;
        height: 20px;
    }

    .activity-page-current-wrap {
        width: 46px;
        height: 39px;
        flex: 0 0 46px;
    }

    .activity-page-total {
        flex: 0 0 auto;
        white-space: nowrap;
        font-size: 16px;
    }

    .activity-detail-download {
        padding: 18px 14px;
    }

    .activity-detail-download-options {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .activity-detail-radio {
        width: 100%;
    }

    .activity-detail-download-filetype {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .download-type-btn {
        width: 100%;
        flex: none;
    }

    .sub-visual {
        height: 180px;
        min-height: 180px;
    }

    .sub-visual-inner {
        width: calc(100% - 24px);
    }

    .sub-visual-copy {
        padding: 0 6px;
    }

    .sub-visual-title {
        margin-bottom: 14px;
        font-size: 24px;
        line-height: 1.3;
    }

    .sub-breadcrumb {
        gap: 4px 0;
    }

    .breadcrumb-home,
    .breadcrumb-center,
    .breadcrumb-current {
        font-size: 13px;
        line-height: 18px;
        letter-spacing: 0;
    }

    .breadcrumb-home {
        margin-right: 6px;
    }

    .breadcrumb-center {
        margin: 0 6px;
    }

    .breadcrumb-current {
        margin-left: 6px;
    }

    .breadcrumb-separator,
    .breadcrumb-separator img {
        width: 8px;
        height: 8px;
    }

    .sub-page-inner,
    .sub-visual-inner,
    .search-result-wrap,
    .archive-page-inner,
    .assembly-activity-inner,
    .activity-detail-inner {
        width: calc(100% - 24px);
    }

    .search-box {
        padding: 16px 14px;
    }

    .result-group {
        padding: 18px 14px 24px;
    }

    .album-member-card {
        width: 128px;
        min-width: 128px;
        max-width: 128px;
        flex: none;
        display: block;
        text-align: left;
    }

    .album-card-item {
        width: 176px;
        min-width: 176px;
        flex: 0 0 176px;
    }

    .album-card-thumb {
        width: 100%;
        height: 132px;
    }

    .album-card-title {
        font-size: 14px;
        line-height: 19px;
    }

    .result-group.result-group-album {
        overflow: hidden;
    }

    .album-result-row {
        display: grid;
        grid-template-columns: 128px minmax(0, 1fr);
        align-items: start;
        gap: 18px;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .album-member-thumb {
        display: block;
        width: 128px;
        height: 158px;
        flex: none;
    }

    .album-member-link {
        width: 100%;
        height: 38px;
        font-size: 13px;
    }

    .album-card-list {
        display: flex;
        flex-wrap: nowrap;
        gap: 14px;
        width: 100%;
        min-width: 0;
        max-width: none;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 25px;
    }

    .activity-result-item.no-des .activity-result-thumb {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .activity-result-item.no-des .activity-result-body {
        height: auto;
        padding: 0;
    }
}
