main {
    display: block;
    width: 100%;
    height: auto;
    min-height: 70svh;
    max-width: var(--main-width);
    margin: 0 auto;
    background-color: var(--bg-02);
    position: relative;
    padding: 0 15px;
}

.place_view_section {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--border-color-06);
    margin-bottom: 2rem;
    padding: 1rem;
    box-shadow: 0 1px 2px rgba(111,140,175,.05);
}

.placee_container {
    display: flex;
    width: 100%;
    height: 200px;
    gap: .5em;
    align-items: flex-start;
    justify-content: flex-start;
}
.placee_container > .placee_logo {
    flex: 0 0 20%;
    display: flex;
    width: 100%;
    max-width: 180px;
    min-width: 0;
    height: 100%;
    aspect-ratio: 1/1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.placee_container > .placee_logo > .logo {
    border-radius: 50%;
    display: block;
    width: 100%;
    max-width: 120px;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.placee_container > .place_info_container {
    flex: 1;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: flex-start;
    align-items: center;
}

.place_info_container > .place_info {
    display: block;
    width: 100%;
    height: auto;
    min-width: 0;
    max-width: 100%;
}

.place_info_container > .place_info > .photo_and_title {
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: flex-start;
    gap: 1em;
    flex-wrap: nowrap;
}
.place_info_container > .place_info > .photo_and_title > .place_photo {
    display: none;
    width: 60px;
    height: 60px;
}
.place_info_container > .place_info > .photo_and_title > .place_photo > img {
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    height: auto;
    object-fit: cover;
    border-radius: 50%;
}

.place_info_container > .place_info > .photo_and_title >  .title_and_tags {
    display: block;
    width: 100%;
    height: auto;
}

.place_info_container > .place_info .place_name {
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.25em;
    font-weight: 600;
    padding-left: 0.5rem;
    color: var(--text-01);
    margin-bottom: 0.5rem;
}

.place_info_container > .place_info .place_tags {
    display: flex;
    width: 100%;
    height: auto;
    gap: 0.35rem;
    flex-wrap: wrap;
}
.place_info_container > .place_info .place_tags > .tag {
    display: block;
    padding: 0.25em 0.5em;
    font-size: .875rem;
    color: var(--help);
    border: 1px solid var(--help);
    background-color: var(--help-light);
    border-radius: 0.5em;
    transition: all 0.2s ease;
}
.place_info_container > .place_info .place_tags > .tag:hover {
    color: #000;
    border-color: #000;
    background-color: var(--help-light);
}

.place_info_container > .place_info .place_desc {
    display: grid;
    grid-template-columns: 6em auto;
    grid-template-rows: auto;
    width: 100%;
    height: auto;
    font-size: .875rem;
    line-height: 1.5;
    margin-top: 0.5rem;
}
.place_desc > .attr {
    flex: 0 0 20%;
    display: block;
    width: auto;
    height: auto;
    font-weight: 500;
}
.place_desc > .attr > p {
    display: flex;
    align-items: center;
    gap: 0.25rem;
} 
.place_desc > .value {
    flex: 0 0 auto;
    display: block;
    width: 100%;
    display: block;
    min-width: 0;
    height: auto;
}
.place_desc > .value > a {
    display: block;
    width: 100%;
    height: auto;
}
.place_desc span {
    font-size: inherit;
}
.placee_container > .place_map {
    flex: 0 0 40%;
    display: block;
    width: auto;
    min-width: 0;
    max-width: 430px;
    height: 100%;
    border: 1px solid var(--border-color-06);
    position: relative;
    overflow: hidden;
}
.placee_container > .place_map > div {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.map_info_window {
    position: relative;
    width: auto;
    min-width: 220px;
    max-width: 330px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #dbe4f0;
    box-shadow: 0 8px 24px rgba(31, 41, 55, 0.16);
}

/* 테두리 */
.map_info_window::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -11px;
    transform: translateX(-50%);
    border-width: 11px 11px 0;
    border-style: solid;
    border-color: #dbe4f0 transparent transparent transparent;
}

/* 내부 흰색 */
.map_info_window::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    border-width: 10px 10px 0;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

.map_info_window .place_title {
    display: block;
    font-weight: 700;
    color: #1f2937;
    font-size: 1rem; 
}

.map_info_window .ratings {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.5rem;
    justify-content: flex-start;
}
.map_info_window .ratings > p {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    font-size: 0.875rem;
    padding-left: 8px;
    position: relative;
    white-space: nowrap;
}
.map_info_window .ratings > p::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    background-color: var(--border-color-03);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

#ratings_section_wrapper {
    display: grid;
    width: 100%;
    height: auto;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

#owner_rating_section, #user_rating_section {
    display: block;
    width: auto;
    height: auto;
    padding: 1rem;
}

.place_view_section .section_title {
    display: block;
    width: fit-content;
    font-size: 1.25em;
    line-height: 1;
    font-weight: 600;
    color: var(--text-01);
    margin-bottom: 1rem;
}

.place_view_section .section_title::after {
    content: '';
    display: block;
    width: 100%;
    height: 4px;
    background-color: var(--primary);
    border-radius: 2px;
    margin-top: 3px;
}

.user_info_container {
    display: flex;
    width: 100%;
    height: auto;
    gap: 1rem;
    align-items: flex-start;
}
.user_info_container > .user_profile_photo {
    flex: 0 0 auto;
    display: block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
}
.user_info_container > .user_profile_photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.user_info_container > .user_intro {
    flex: 1;
    display: block;
    width: 100%;
    height: auto;
}
.user_info_container > .user_intro .user_name {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-01);
    line-height: 1.4;
    margin-bottom: 0.5rem;
}
.user_info_container > .user_intro .user_intro_text {
    display: block;
    width: 100%;
    height: auto;
    font-size: 1rem;
    text-align: justify;
    line-height: 1.5;
    color: var(--text-03);
}
.user_info_container > .user_intro .user_link {
    flex: 0 0 auto;
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    color: var(--primary);
}
.user_info_container .user_info_table {
    font-size: 0.875em;
    line-height: 1;
    vertical-align: middle;
}
table {
    table-layout: fixed;
    width: 100%;
    height: auto;
    border-collapse: collapse;
}
.user_link_icon {
    width: 1.95em;
    text-align: center;
}
.place_view_section .rating_value {
    display: flex;
    width: 100%;
    height: auto;
    gap: 0.25rem;
    align-items: center;
    flex-wrap: nowrap;
    font-size: 1.25em;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.place_view_section .rating_summary > p {
    font-size: 1rem;
    color: var(--text-03);
    line-height: 1.5;
    text-align: justify;
}

.place_view_section .user_count_container > p {
    font-size: 1rem;
    color: var(--text-03);
    line-height: 1.5;
}

.evaluation_container {
    display: grid;
    width: 100%;
    height: auto;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
}
.evaluation_container > .evaluation_item {
    display: block;
    width: 100%;
    min-width: 450px;
    height: auto;
    border: 1px solid var(--border-color-06);
    border-radius: 8px;
    padding: 1rem;
    background-color: var(--bg-09);
    font-size: 1.1rem;
}
.evaluation_item > .question_container {
    display: flex;
    width: 100%;
    height: auto;
    align-items: flex-start;
    justify-content: space-between;
}
.evaluation_item > .question_container > .question {
    display: block;
    width: auto;
    height: auto;
    line-height: 1.5;
}
.evaluation_item > .question_container > a {
    transition: all 0.2s ease;
}
.evaluation_item > .question_container > a.closed {
    transform: rotate(180deg);
}

.evaluation_item > .question_container > .question > .question_text {
    display: block;
    font-weight: 500;
    text-align: left;
    word-break: keep-all;
    color: var(--text-01);
}

.evaluation_item > .answer_container {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 0.5rem;
}
.evaluation_item > .answer_container > .answer_text, .evaluation_item > .answer_container > .answer_detail {
    display: block;
    width: 100%;
    height: auto;
    line-height: 1.5;
    text-align: justify;
    color: var(--text-02);
    transition: all 0.2s ease;
}

.evaluation_item > .answer_container > .answer_text, .evaluation_item > .answer_container > .answer_detail .icon {
    font-size: 1.1em;
    line-height: inherit;
    vertical-align: middle;
}
.evaluation_item > .answer_container > .answer_text, .evaluation_item > .answer_container > .answer_detail .example {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.25rem;
}

.evaluation_item > .actions_container {
    display: block;
    width: 100%;
    height: auto;
    font-size: .875rem;
    margin-top: 1rem;
}
.evaluation_item > .actions_container > .action_results {
    display: flex;
    width: 100%;
    height: 2.5em;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    line-height: 1;
    background-color: var(--empty-color);
}
.evaluation_item > .actions_container > .action_results > .both_pie {
    display: flex;
    height: 100%;
    overflow: visible;
    width: var(--percent);
    align-items: center;
    transition: width 0.5s ease;
}
.evaluation_item > .actions_container > .action_results > .both_pie > p {
    white-space: nowrap;
}
.evaluation_item > .actions_container > .action_results > .agree_pie {
    justify-content: flex-start;
    background-color: var(--agree-color);
    color: #fff;
    padding-left: 0.5rem;
}
.evaluation_item > .actions_container > .action_results > .req_pie {
    justify-content: flex-end;
    background-color: var(--req-color);
    color: #fff;
    padding-right: 0.5rem;
}
.evaluation_item > .actions_container > .action_buttons {
    display: flex;
    width: 100%;
    height: 2em;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    margin-top: 0.5rem;
}
.action_btn {
    display: inline-flex;
    align-items: center;
    gap: .35em;
    height: 100%;
    padding: 0 .75em;
    border-radius: 8px;
    border: 1px solid var(--secondary-border);
    background: #f3f7fc;
    font-size: .92rem;
    cursor: pointer;
}

.action_btn.agree_btn {
    color: var(--primary);
    border-color: #d9e4f2;
}

.action_btn.request_btn {
    color: #d88952;
    border-color: #f1d2b8;
    background: #fff6ef;
}

.action_btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(30, 50, 80, .08);
}

.action_btn:active {
    transform: translateY(0);
}

.rating_date {
    display: flex;
    width: 100%;
    height: auto;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--text-03);
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 0.5rem;
}

.rating_date > p {
    display: block;
    width: auto;
    height: auto;
    line-height: 1.5;
}

/* 정정요청 팝업 */
#request_popup {
    position: absolute;
    width: min(96%, 600px);
    height: min(96%, 900px);
}
#request_popup > .iframe_container {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}
#request_popup > .iframe_container > iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
    background-color: var(--bg-02);
}

/* 회원 평점 & 리뷰 작성 */
.rating_write_box {
    display: grid;
    grid-template-columns: 60px auto;
    gap: .5rem;
    grid-template-rows: auto;
    border: 1px solid var(--border-color-06);
    background-color: var(--bg-09);
    width: 100%;
    position: relative;
    min-width: 0;
    height: auto;
    border-radius: 8px;
    padding: 10px;
    font-size: 1rem;
}
.rating_write_box > * {
    width: 100%;
    height: auto; 
    min-width: 0;
    padding: .5rem 0;
}
.rating_write_box > .rating_write_label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-weight: 600;
}
.rating_write_box > .rating_write_label2 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-weight: 600;
    padding-top: 0.75rem;
}

.rating_write_box .profile_photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden; 
}
.rating_write_box .profile_photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rating_write_box .user_profile, .rating_write_box .user_profile_info, #reply_write_form .profile_box > .profile_info  {
    border-bottom: 1px solid var(--border-color-06);
}
.rating_write_box > .rating_write_actions {
    grid-column: 2 / 2;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
}
.rating_write_box .rating-stars {
    display: flex;
    width: 100%;
    height: auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.25rem;
}

.rating-stars > label {
    flex: 0 0 auto;
    display: block;
    width: auto;
    height: auto;
    font-size: 1.125em;
    line-height: 1;
    position: relative;
}
.rating-stars > label > input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    top: 50%;
    left: 50%;
}
.rating-stars > label > .myicon {
    z-index: 1;
}
.rating-stars > label > .star-text {
    display: none;
}
.rating-stars .rating-point {
    display: block;
    width: auto;
    height: auto;
    font-weight: 600;
    font-size: 1.125em;
    color: var(--text-01);
    padding-left: 0.25rem;
}
.rating-stars .full-point {
    display: inline-block;
    width: auto;
    height: auto;
    font-size: .9rem;
    font-weight: 300;
    color: var(--text-03);
}
.rating-stars .rating-desc {
    display: block;
    width: auto;
    height: auto;
    font-size: 0.875rem;
    color: var(--text-03);
    line-height: 1.5;
    padding-left: 0.25rem;
}

.rating_write_box .rating_write_textarea_container, #reply_write_form .reply_write_container {
    display: block;
    width: 100%;
    height: auto;
    min-width: 0;
    border: 1px solid var(--border-color-06);
    padding: 0.5rem;
    border-radius: 4px;
    background-color: var(--bg-02);
}

.rating_write_box textarea, .reply_write_container textarea {
    display: block;
    width: 100%;
    background-color:  none;
    min-width: 0;
    height: auto;
    min-height: 80px;
    max-height: 200px;
    padding: 0 0 .5rem;
    border: none;
    resize: vertical;
    font-size: 1rem;
    background-color: transparent;
}
.rating_write_box textarea::placeholder, .reply_write_container textarea::placeholder {
    color: var(--placeholder);
    font-size: 1rem;
}
.rating_write_box .textarea_desc, #reply_write_form .textarea_desc {
    display: block;
    width: 100%;
    height: auto;
    font-size: 0.875rem;
    color: var(--text-03);
    line-height: 1.5;
    margin-top: 0.25rem;
}

.rating_write_box textarea:focus, .reply_write_container textarea:focus {
    outline: none;
}
.rating_write_box .rating_write_textarea_container:has(textarea:focus-within), #reply_write_form .reply_write_container:has(textarea:focus-within)  {
    outline: 2px solid var(--primary);
}

.upload_box_container {
    display: block;
    width: 100%;
    height: auto;
}
.file_list_box.user_image {
    margin-top: 0;
}
.upload_box {
    display: flex;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid var(--help);
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.5rem;
    background-color: var(--bg-11);
    color: var(--help);
}
.upload_box > .icon {
    line-height: 1;
    font-size: 2rem;
}
.upload_box:hover {
    background-color: var(--bg-10);
    border-color: var(--primary);
    color: var(--primary);
}
.photo_desc {
    display: block;
    width: 100%;
    height: auto;
    font-size: 0.875rem;
    color: var(--text-03);
    line-height: 1.5;
    margin-top: 0.25rem;
}

/* 회원 평점 & 리뷰 리스트 */
.user_rating_container {
    display: flex;
    width: 100%;
    height: auto;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.user_rating_container > * {
    flex: 1 1 100%;
    display: block;
    width: 100%;
    position: relative;
    min-width: 0;
    height: auto;
}
.user_rating_container > .user_rating_item {
    border-radius: 8px;
    padding: 10px;
    font-size: 1rem;
}
.user_rating_container > .user_rating_item.place_reviewer {
    border: 1px solid var(--border-color-06);
    background-color: var(--bg-09);
}

.user_rating_item.place_creator {
    border: 1px solid var(--border-color-08);
    background-color: var(--bg-10);
}

.action_more {
    flex: 0 0 auto;
    display: block;
    width: 1.25em;
    min-width: 0;
    height: auto;
    position: relative;
    overflow: visible;
    cursor: pointer;
}
.action_more > .icon {
    display: inline-block;
    font-size: 1.25em;
    line-height: 1;
    color: #000;
    transition: all 0.2s ease;
}
.action_more > .icon:hover {
    color: var(--primary);
}
.action_more > .action_more_menu {
    display: flex;
    position: absolute;
    top: 0;
    right: 1.25rem;
    width: fit-content;
    min-width: 0;
    height: auto;
    background-color: var(--bg-02);
    border: 1px solid var(--border-color-06);
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(30, 50, 80, .08);
    z-index: 10;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0;
}
.action_more > .action_more_menu > * {
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.25em;
}
.action_more > .action_more_menu a {
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    padding: 0.25em 1em;
    color: var(--text-01);
    text-align: left;
    white-space: nowrap;
    border-bottom: 1px solid var(--border-color-06);
    transition: all 0.2s ease;
}
.action_more > .action_more_menu a:last-child {
    border-bottom: none;
}
.action_more > .action_more_menu a:hover {
    background-color: var(--bg-09);
    color: var(--primary);
}

.user_rating_item > .user_profile {
    display: flex;
    width: 100%;
    height: auto;
    gap: 0.5rem;
    align-items: center;
    justify-content: stretch;
    margin-bottom: 0.5rem;
}
.user_rating_item > .user_profile > .profile_photo {
    flex: 0 0 auto;
    display: block;
    width: 60px;
    min-width: 0;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--border-color-07);
}
.user_rating_item > .user_profile > .profile_photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.user_rating_item > .user_profile > .profile_info, .rating_write_box .profile_info, #reply_write_form .profile_box > .profile_info  {
    flex: 1 1 auto;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: flex-start;
    justify-content: space-evenly;
    flex-direction: column;
    gap: 0.25rem;
}

.profile_info > .user_info, #reply_write_form .user_info {
    display: flex;
    width: 100%;
    height: auto;
    gap: 0.5rem;
    align-items: center;
    justify-content: stretch;
    font-size: 1rem;
}
.profile_info > .user_info .rating_date {
    flex: 1 1 auto;
    margin-top: 0;
}
.profile_info > .user_info > .user_name, #reply_write_form .user_info > .user_name {
    display: block;
    font-weight: 600;
    color: var(--text-01);
    font-size: 1rem;
    white-space: nowrap;
}
.profile_info .user_rating_box {
    width: 100%;
    min-width: 0;
    height: auto;
}
.user_level {
    display: inline-block;
    font-size: 0.875em;
    font-weight: 400;
    color: var(--text-userlevel);
    white-space: nowrap;
}
.profile_info .intro_text_box {
    display: table;
    width: 100%;
    min-width: 0;
    height: auto;
    table-layout: fixed;
    border-collapse: collapse;
}
.profile_info .user_intro_text {
    display: block;
    max-width: 100%;
    min-width: 0;
    height: auto;
    font-size: 0.875rem;
    color: var(--text-03);
    line-height: 1;
    text-align: unset;
}
.user_rating_box {
    display: flex;
    min-width: 0;
    max-width: 100%;
    height: auto;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;
}
 .user_rating_box > .rating_text {
    font-size: .875em;
    font-weight: 600;
 }

 
.user_rating_item  .user_comment {
    display: block;
    width: 100%;
    height: auto;
    text-align: justify;
    line-height: 1.5;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    color: var(--text-02);
}

.user_rating_item .user_photo {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0.5rem;
}

#user_rating_section {
    position: relative;
}

#user_rating_section .btn_write_rating {
    display: inline-block;
    padding: 0.5em 1em;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 4px;
    position: absolute;
    top: 1rem;
    right: 1rem;
}



/* 댓글 관련 스타일 */
.user_reply_action {
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    font-size: 0.875rem;
    line-height: 1;
}
.user_reply_action > .reply_stat {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.25em;
    font-weight: 500;
    color: #000;
}
.user_reply_action .icon {
    font-size: 1.125em;
}
.user_reply_action > .reply_action {
    display: inline-flex;
    align-items: center;
    gap: .25rem;

    padding: .35rem .75rem;

    border: 1px solid #cfdced;
    border-radius: 999px;

    background: #f8fbff;
    color: #5f7fa7;

    font-size: .9rem;
    font-weight: 600;

    transition: .15s ease;
}
.user_reply_action > .reply_action:hover {
    background: #edf4ff;
    border-color: #7d9ad2;
    color: #47688f;
    box-shadow: 0 2px 8px rgba(111,140,175,.12);
}

.user_reply_list {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 0.5rem;
    padding-left: 40px;
}
.reply_list {
    display: flex;
    width: 100%;
    height: auto;
    list-style: none;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.reply_list > .reply_item {
    display: flex;
    position: relative;
    width: 100%;
    height: auto;
    border: 1px solid var(--border-color-06);
    padding: 0.5rem;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 0.5rem;
    background-color: #fafbfd;
}
.reply_list > *:first-child::before {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    top: -8px;
    left: -35px;
    z-index: 1;
    background-image: url('/resources/share/img/reply.png');
    background-size: cover;
} 
.reply_list > .reply_item > .profile_photo {
    flex: 0 0 auto;
    display: block;
    width: 40px;
    min-width: 0;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
}
.reply_list > .reply_item > .profile_photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.reply_list > .reply_item > .reply_info {
    flex: 1 1 auto;
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
}
.reply_list > .reply_item .reply_text {
    display: block;
    width: 100%;
    height: auto;
    line-height: 1.3;
    text-align: justify;
    color: var(--text-02);
    padding-top: .5em ;
    font-size: 0.875rem;
}
.reply_list > .reply_item .reply_photo {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 0.5rem;
}
.user_reply_list > .reply_more, #user_rating_more {
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: center;
    margin-top: 0.5rem;
    padding: 0.5rem 0;
    border-top: 1px solid var(--border-color-06);
    line-height: 1;
    font-size: .875rem;
    gap: 0.5rem;
}
.user_reply_list > .reply_more .icon {
    transform: scale(1.25);
}

.user_reply_list > .reply_more a, .user_reply_list > .reply_more a:visited, #user_rating_more a, #user_rating_more a:visited {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-03);
}
.user_reply_list > .reply_more > a:hover, #user_rating_more > a:hover {
    color: var(--primary);
}
.user_reply_list > .reply_more > a:active, #user_rating_more > a:active {
    transform: translateY(1px);
}
.user_reply_list > .reply_more:has(a:hover), #user_rating_more:has(a:hover) {
    background-color: var(--secondary-hover);
}

/* 댓글 작성 박스 */
.reply_list > .reply_write_box {
    position: relative;
    width: 100%;
    height: auto;
    border: 1px solid var(--border-color-06);
    padding: 0.5rem;
    background-color: var(--bg-02);
}
#reply_write_form .reply_write {
    display: flex;
    width: 100%;
    height: auto;
    gap: 0.5rem;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
}
#reply_write_form .profile_box {
    flex: 1 1 auto;
    display: flex;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
}
#reply_write_form .profile_box > .profile_photo {
    flex: 0 0 auto;
    display: block;
    width: 40px;
    min-width: 0;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
}
#reply_write_form .profile_box > .profile_photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#reply_write_form .reply_btn_box {
    flex: 1 1 auto;
    display: flex;
    width: 100%;
    height: auto;
    gap: 0.5rem;
    align-items: center;
    justify-content: flex-end;
}
#reply_write_form .reply_btn_box > * {
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
}
#reply_write_form  .reply_photo_container {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 1020px) {
    .placee_container {
        height: 180px;
    } 
    .placee_container > .placee_logo {
        display: none;
    }
    .place_info_container > .place_info > .photo_and_title > .place_photo {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .place_info_container > .place_info .place_name {
        padding-left: 0;
    }
}

@media (max-width: 740px) {
    .place_view_section {
        padding: 0;
    }
    #place_evaluation_section {
        padding: 1rem;
    }
    .evaluation_container {
        grid-template-columns: 1fr;
    }
    .evaluation_container > .evaluation_item {
        width: 100%;
        min-width: 0;
        padding: .5rem;
    }

    .placee_container {
        height: auto;
        flex-wrap: wrap;
        gap: 0 1rem;
    } 
    .placee_container > .placee_logo {
        flex: 0 0 30%;
        display: flex;
        padding: 1rem;
    }
    .place_info_container > .place_info > .photo_and_title > .place_photo {
        display: none;
    }
    .placee_container > .placee_logo, .placee_container > .place_info_container {
        height: auto;
        min-height: 170px;
        padding: 1rem;
    }
    .placee_container > .place_map {
        flex: 1 1 100%;
        height: 300px;
        width: 100%;
        max-width: unset;
    }
    .place_info_container > .place_info .place_name {
        padding-left: 0.5rem;
    }
}

@media (max-width: 540px) {
    .place_view_section {
        padding: 0;
        border: none;
        margin-bottom: 2rem;
    }
    #owner_rating_section, #user_rating_section {
        padding: 0;
    }
    #place_evaluation_section {
        padding: 0;
    }
    #ratings_section_wrapper {
        gap: 0;
    }
    .placee_container > .placee_logo, .placee_container > .place_info_container {
        min-height: 180px;
    }
    .placee_container > .placee_logo {
        display: none;
    }
    .place_info_container > .place_info > .photo_and_title > .place_photo {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .wide_only {
        display: none !important;
    }
    .place_info_container > .place_info .place_name {
        padding-left: 0;
        font-size: 1.125em;
    }
    .evaluation_container > .evaluation_item {
        padding: 10px;
    }
    .evaluation_item > .actions_container  {
        font-size: 0.875rem;
    }
    .evaluation_item > .actions_container > .action_buttons {
        font-size: 0.75rem;
    }
    .evaluation_item > .actions_container > .action_results {
        height: 2em;
        font-size: 0.75rem;
    }
    .evaluation_item > .actions_container > .action_results .icon {
        font-size: 1.05em;
    }
}

@media (max-width: 450px) {
    .placee_container > .placee_logo, .placee_container > .place_info_container {
        min-height: 190px;
    }
    .map_info_window {
        min-width: 180px;
        max-width: 280px;
    }
    .map_info_window .ratings {
        flex-direction: column;
        gap: 0.25rem;
    }
}