@charset "UTF-8";
/* =========================================================
   무지개정원 감성 테마 (리디자인 사본 전용, 로컬 시안)
   컨셉: "비 갠 뒤의 조용한 정원"
   - 흰 바탕 대신 따뜻한 종이색, 검정 대신 부드러운 갈색 잉크
   - 헤드라인은 손글씨 느낌의 명조(고운바탕), 본문은 Pretendard 유지
   - 색 바랜 파스텔 무지개를 포인트 모티프로
   ========================================================= */

:root {
    --rg-paper: #FBF7F1;
    --rg-paper-2: #F4ECE2;
    --rg-card: #FFFDF9;
    --rg-ink: #3A302B;
    --rg-ink-2: #6E625A;
    --rg-muted: #9C8F85;
    --rg-line: #EADFD3;
    --rg-accent: #CF6F55;
    --rg-accent-deep: #B55B43;
    --rg-accent-soft: #F7E3D9;
    --rg-rose: #EFC4B8;
    --rg-peach: #F4D6B0;
    --rg-butter: #F1E4B3;
    --rg-sage: #CFDCC4;
    --rg-sky: #C8DAE2;
    --rg-lavender: #D7CBE3;
    --rg-serif: 'Gowun Batang', 'Nanum Myeongjo', serif;
    --rg-shadow: 0 1px 2px rgba(90, 60, 40, .05), 0 8px 24px rgba(90, 60, 40, .07);
    --rg-shadow-soft: 0 4px 14px rgba(90, 60, 40, .06);
    --rg-radius: 20px;
    --rg-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .25  0 0 0 0 .18  0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- 바탕 (종이 질감) ---------- */
html { background: var(--rg-paper-2); }
body {
    background-color: var(--rg-paper);
    background-image: var(--rg-grain);
    color: var(--rg-ink);
    -webkit-font-smoothing: antialiased;
    word-break: keep-all;
}
@media (min-width: 651px) {
    body { box-shadow: 0 0 0 1px var(--rg-line), 0 0 60px rgba(90, 60, 40, .06); }
}
#content_main, .container, section.container, .list_controller, .fliter_li_wrap { background-color: transparent !important; }
::selection { background: var(--rg-accent-soft); color: var(--rg-ink); }

/* ---------- 상단 헤더 ---------- */
/* 홈 헤더만 종이 질감 (다른 헤더는 기존 배경 유지: 로그인처럼 사진 위에 겹치는 투명 헤더가 있음) */
header.main { background: var(--rg-paper) var(--rg-grain) !important; border-bottom: 0; box-shadow: none; }
header.main::after { content: none; }
header .header_title > p, header .header_title p {
    font-family: var(--rg-serif); font-weight: 700; letter-spacing: -0.01em; color: var(--rg-ink);
}

/* ---------- 제목류는 명조로 ---------- */
.main_top_wrap .title h3,
.how_list_num h3,
.fliter_cata_title h3,
.trial_main_title h2, .trial_main_title h3,
.section_title h3, .sub_title h3,
.popup .tit, .popup_boxn h4 {
    font-family: var(--rg-serif) !important;
    letter-spacing: -0.02em;
}

/* ---------- 하단 메뉴: 종이색 유리 ---------- */
footer.foot_menu {
    background-color: rgba(251, 247, 241, .72) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    backdrop-filter: blur(14px) saturate(1.2);
    box-shadow: 0 -1px 0 var(--rg-line), 0 -8px 24px rgba(90, 60, 40, .06) !important;
}
footer.foot_menu > ul { background: transparent !important; }
footer.foot_menu > ul > li a span { color: var(--rg-ink-2); letter-spacing: -0.01em; }
footer.foot_menu > ul > li.on a span { color: var(--rg-accent); font-weight: 700; }
footer.foot_menu > ul > li a i { transition: transform .2s ease; }
/* 검정 아이콘(PNG)을 따뜻한 갈색 잉크 톤으로 */
footer.foot_menu > ul > li:not(.on) a i,
header .header_top .top_search img,
header .header_title > .btn_back {
    filter: invert(36%) sepia(12%) saturate(640%) hue-rotate(338deg) brightness(88%);
}
/* 사진 위에 흰 아이콘을 쓰는 페이지(로그인 등)는 제외 */
.page_join header .header_title > .btn_back { filter: none; }
footer.foot_menu > ul > li a:active i { transform: scale(.9); }

/* ---------- 사업자 정보 ---------- */
.footer_info { background: var(--rg-paper-2) !important; color: var(--rg-muted); }

/* ---------- 공통 버튼 톤 ---------- */
.btn_list, button, .btn { -webkit-tap-highlight-color: transparent; }
.btn { border-radius: 14px !important; }
/* 하단 버튼이 2개일 때: 보조 동작은 잉크색, 주 동작(마지막)은 테라코타 */
footer.foot_btn .btn:not(:last-child) { background-color: var(--rg-ink) !important; border-color: var(--rg-ink) !important; color: #fff !important; }
footer.foot_btn .btn:last-child { background-color: var(--rg-accent) !important; border-color: var(--rg-accent) !important; color: #fff !important; box-shadow: 0 6px 16px rgba(207, 111, 85, .25); }

/* 하단 고정 버튼 바 (후기 작성하기 / 상담사 둘러보기 등) */
footer.foot_btn, footer.foot_btn_mt {
    background-color: rgba(251, 247, 241, .82) !important;
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    box-shadow: 0 -1px 0 var(--rg-line);
}

/* 페이지 안 탭 (베스트후기 / 전체후기 등) */
ul.tab { background: transparent !important; }
ul.tab li button, ul.tab li a, ul.tab li span { color: var(--rg-muted); }
ul.tab li button.active, ul.tab li a.active, ul.tab li span.active,
ul.tab li.active button, ul.tab li.on a { color: var(--rg-accent) !important; }

/* 후기 카드 */
.reivew_list > li { background: transparent !important; border-color: var(--rg-line) !important; }

/* =========================================================
   메인(홈)
   ========================================================= */

/* 상단 문구 + 파스텔 무지개 */
.page_main .main_top_wrap { position: relative; overflow: hidden; padding-top: 28px; }
.page_main .main_top_wrap::before {
    content: ""; position: absolute; z-index: 0; pointer-events: none;
    right: -70px; top: -40px; width: 260px; height: 260px; border-radius: 50%;
    background:
        radial-gradient(circle, transparent 54%, var(--rg-lavender) 54.5%, var(--rg-lavender) 59%, transparent 59.5%),
        radial-gradient(circle, transparent 60%, var(--rg-sky) 60.5%, var(--rg-sky) 65%, transparent 65.5%),
        radial-gradient(circle, transparent 66%, var(--rg-sage) 66.5%, var(--rg-sage) 71%, transparent 71.5%),
        radial-gradient(circle, transparent 72%, var(--rg-butter) 72.5%, var(--rg-butter) 77%, transparent 77.5%),
        radial-gradient(circle, transparent 78%, var(--rg-peach) 78.5%, var(--rg-peach) 83%, transparent 83.5%),
        radial-gradient(circle, transparent 84%, var(--rg-rose) 84.5%, var(--rg-rose) 89%, transparent 89.5%);
    opacity: .75;
    -webkit-mask-image: linear-gradient(200deg, #000 30%, transparent 75%);
    mask-image: linear-gradient(200deg, #000 30%, transparent 75%);
}
.page_main .main_top_wrap .title { position: relative; z-index: 1; }
.page_main .main_top_wrap .title strong {
    background: var(--rg-accent-soft) !important; color: var(--rg-accent-deep) !important;
    border-radius: 999px !important; padding: 5px 12px 4px !important;
    font-weight: 600; letter-spacing: 0;
}
.page_main .main_top_wrap .title h3 {
    margin-top: 16px; font-size: 22px !important; font-weight: 700; line-height: 1.5; color: var(--rg-ink);
}
@media (min-width: 481px) { .page_main .main_top_wrap .title h3 { font-size: 26px !important; } }
.page_main .main_top_wrap .title p { margin-top: 12px; color: var(--rg-ink-2); line-height: 1.75; }

/* 검사 카드: 관리자가 정한 배경색은 유지하고 종이빛을 살짝 덧입힘 */
.page_main .main_top_cont .swiper-slide > a.a {
    position: relative; overflow: hidden;
    border: 0 !important; border-radius: 22px !important;
    box-shadow: var(--rg-shadow);
}
.page_main .main_top_cont .swiper-slide > a.a::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(120% 90% at 0% 0%, rgba(255, 253, 249, .55), transparent 60%),
        linear-gradient(180deg, rgba(255, 253, 249, .25), rgba(255, 253, 249, 0));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);
    border-radius: inherit;
}
.page_main .main_top_cont .swiper-slide > a.a > div { position: relative; }
.page_main .main_top_cont ul li .a strong {
    font-family: var(--rg-serif) !important; font-size: 18px !important; letter-spacing: -0.02em;
}
.page_main .main_top_cont ul li .a p { color: var(--rg-ink-2) !important; line-height: 1.55 !important; }
.page_main .item_subtitle1 em { background: rgba(255, 253, 249, .75) !important; }
.page_main .item_subtitle2 em { color: var(--rg-ink) !important; }

/* 배너 */
.page_main .main_banner { background: transparent !important; }
.page_main .main_banner .swiper-slide { background: transparent !important; }
.page_main .main_banner .swiper-slide img { border-radius: 22px !important; }
.page_main .main_banner_bg { display: none; }
.page_main .main_banner .custom-pagination { background: rgba(58, 48, 43, .45) !important; }

/* 탭 */
.page_main .list_tab_w { background: var(--rg-paper) var(--rg-grain) !important; }
.page_main .list_tab_w ul.list_tab {
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    box-shadow: var(--rg-shadow-soft) !important;
}
.page_main ul.list_tab li span { background: var(--rg-paper-2) !important; color: var(--rg-ink-2) !important; }
.page_main ul.list_tab li span.active { background: var(--rg-accent) !important; color: #fff !important; box-shadow: 0 6px 14px rgba(207, 111, 85, .28); }

/* 안내 한 줄 */
.page_main .how_list_num h3 { font-size: 16px !important; color: var(--rg-ink) !important; font-weight: 400 !important; }
.page_main .how_list_num h3 b { color: var(--rg-accent) !important; font-weight: 700; }

/* 정렬 버튼 */
.page_main .in_filter { background: var(--rg-card) !important; border-color: var(--rg-line) !important; border-radius: 12px !important; }

/* 상담사 카드 */
.page_main #cont_list1 > li .item_box_w {
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    border-radius: var(--rg-radius) !important; box-shadow: var(--rg-shadow-soft);
    padding: 12px !important;
}
.page_main #cont_list1 .item_box, .page_main #cont_list1 .item_box_w > .style { background: transparent !important; }
.page_main #cont_list1 .item_img, .page_main #cont_list1 .item_img img { border-radius: 16px !important; }
.page_main #cont_list1 .item_img { background: var(--rg-paper-2) !important; border-color: transparent !important; }
.page_main #cont_list1 .name em { font-family: var(--rg-serif); font-size: 18px; letter-spacing: -0.02em; }
.page_main #cont_list1 .name span { color: var(--rg-accent) !important; }
.page_main #cont_list1 .cont .style p { color: var(--rg-ink-2) !important; }
.page_main #cont_list1 .tel_btn_wrap .btn_list {
    background: var(--rg-accent-soft) !important; border: 0 !important; border-radius: 999px !important;
    color: var(--rg-accent-deep) !important; font-weight: 700;
}
.page_main #cont_list1 .tel_btn_wrap .btn_list span { color: var(--rg-accent-deep) !important; }
.page_main #cont_list1 .tel_btn_wrap .btn_list:active { background: var(--rg-accent) !important; }
.page_main #cont_list1 .tel_btn_wrap .btn_list:active span { color: #fff !important; }
.page_main #cont_list1 .tag_list span, .page_main #cont_list1 .tag_list a { color: var(--rg-accent-deep) !important; }

/* 후기 탭 */
.page_main #main_review_wrap .reivew_list > li { border-color: var(--rg-line) !important; }

/* =========================================================
   심리검사 (trial/main)
   ========================================================= */
.trial_main { background: transparent !important; }
.trial_intro { position: relative; }
.trial_intro_badge {
    background: var(--rg-accent-soft) !important; color: var(--rg-accent-deep) !important;
    border-radius: 999px !important; padding: 5px 12px 4px !important; font-weight: 600 !important;
}
.trial_intro_title, .trial_section_title {
    font-family: var(--rg-serif) !important; color: var(--rg-ink) !important; letter-spacing: -0.02em !important;
}
.trial_intro_title { font-size: 24px !important; line-height: 1.5 !important; }
.trial_intro_text { color: var(--rg-ink-2) !important; line-height: 1.8 !important; }
.trial_section_title { font-size: 19px !important; }

/* 카드 배경색(관리자 설정)은 li 에 있음 → li 에 종이빛 광택을 덧입힘 (isolation 으로 글자 아래에 깔림) */
.trial_test_item {
    position: relative; isolation: isolate; overflow: hidden;
    border: 0 !important; border-radius: 22px !important; box-shadow: var(--rg-shadow);
}
.trial_test_item::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
    background: radial-gradient(120% 90% at 0% 0%, rgba(255, 253, 249, .55), transparent 60%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);
}
.trial_test_item > a { background: transparent !important; }
.trial_test_title strong { font-family: var(--rg-serif); font-size: 17px; letter-spacing: -0.02em; color: var(--rg-ink); }
.trial_test_title span {
    background: rgba(255, 253, 249, .8) !important; color: var(--rg-accent-deep) !important;
    border-radius: 999px !important; font-weight: 600 !important;
}
.trial_test_info p { color: var(--rg-ink-2) !important; }
.trial_test_link { color: var(--rg-accent-deep) !important; white-space: nowrap; }

.trial_review_item {
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    border-radius: 18px !important; box-shadow: var(--rg-shadow-soft);
}
.trial_review_item p, .trial_review_item [class*=text], .trial_review_item [class*=memo] {
    font-family: var(--rg-serif); color: var(--rg-ink) !important; line-height: 1.75 !important;
}

.trial_reason_item {
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    border-radius: 18px !important;
}
.trial_reason_num {
    background: var(--rg-accent-soft) !important; color: var(--rg-accent-deep) !important;
    font-family: var(--rg-serif); font-weight: 700;
}
.trial_reason_info strong { font-family: var(--rg-serif); color: var(--rg-ink) !important; letter-spacing: -0.02em; }
.trial_reason_info p { color: var(--rg-ink-2) !important; line-height: 1.7 !important; }
.trial_review_meta { color: var(--rg-muted) !important; }
.trial_faq_item { border-color: var(--rg-line) !important; }
.trial_faq_answer { background: var(--rg-paper-2) !important; border-radius: 14px !important; color: var(--rg-ink-2) !important; }

/* =========================================================
   마이페이지
   ========================================================= */
.sc_title { font-family: var(--rg-serif) !important; letter-spacing: -0.02em; color: var(--rg-ink) !important; }
/* 흰 사각 배경이 들어간 PNG 아이콘: 종이색에 자연스럽게 녹도록 */
.mymenu_box .ico_img, .mymenu_box .ico_img img { background: transparent !important; }
.mymenu_box .ico_img img { mix-blend-mode: multiply; }
.mymenu_box { transition: transform .15s ease; }
.mymenu_box:active { transform: scale(.96); }
.coinbox {
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    border-radius: 20px !important; box-shadow: var(--rg-shadow-soft);
}
.coinbox a, .coinbox .btn { border-radius: 999px !important; }

/* =========================================================
   상담사 상세
   ========================================================= */
.profile_id_left h5 { font-family: var(--rg-serif) !important; font-size: 21px !important; letter-spacing: -0.02em; color: var(--rg-ink) !important; }
.profile_id_left h5 span { font-family: 'Pretendard', sans-serif; color: var(--rg-accent) !important; }
.profile_con_box > h3.title { font-family: var(--rg-serif) !important; letter-spacing: -0.02em; color: var(--rg-ink) !important; }
.profile_con_box { border-radius: 20px !important; }

/* 후기 본문은 편지처럼 명조로 */
.reivew_list .con_box .txt, .reivew_list .con_box > p, .reivew_list .review_txt {
    font-family: var(--rg-serif); line-height: 1.8 !important; color: var(--rg-ink) !important;
}

/* ---------- 부드럽게 나타나기 ---------- */
@keyframes rg-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.page_main .main_top_wrap .title > *,
.page_main .main_top_cont,
.page_main .main_banner,
.page_main .list_tab_w { animation: rg-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
.page_main .main_top_wrap .title > *:nth-child(2) { animation-delay: .08s; }
.page_main .main_top_wrap .title > *:nth-child(3) { animation-delay: .16s; }
.page_main .main_top_cont { animation-delay: .24s; }
.page_main .main_banner { animation-delay: .32s; }
.page_main .list_tab_w { animation-delay: .4s; }
@media (prefers-reduced-motion: reduce) {
    .page_main * { animation: none !important; }
}

/* =========================================================
   정렬·가독성 정리 (최종본 v1) - 과한 효과 없이 칸 맞춤 위주
   ========================================================= */
:root {
    --v1-g: 15px;             /* 화면 좌우 여백 (모바일) */
    --v1-space-section: 28px; /* 섹션 사이 */
    --v1-space-block: 14px;   /* 제목↔내용, 블록 사이 */
    --v1-space-card: 12px;    /* 카드 사이 */
    --v1-card-pad: 14px;      /* 카드 안쪽 */
}
@media (min-width: 481px) { :root { --v1-g: 20px; } }

/* ---------- 헤더: 로고·돋보기 한 줄, 본문과 같은 여백선 ---------- */
header.main {
    display: flex !important; align-items: center; justify-content: space-between;
    height: 64px !important; min-height: 0 !important; padding: 0 var(--v1-g) !important;
}
header.main h1 { float: none !important; margin: 0 !important; padding: 0 !important; line-height: 0; height: auto !important; }
header.main h1 a { display: inline-flex; align-items: center; padding: 0 !important; }
header.main h1 img { height: 44px !important; width: auto !important; max-width: none !important; margin: 0 !important; }
header.main .header_top { float: none !important; display: flex !important; align-items: center; height: auto !important; padding: 0 !important; margin: 0 !important; }
header.main .header_top .top_search {
    display: grid !important; place-items: center; box-sizing: border-box;
    width: 40px; height: 40px; padding: 0 !important; margin: 0 -8px 0 0 !important; line-height: 0;
}
header.main .header_top .top_search img { display: block; width: 24px !important; height: 24px !important; margin: 0 !important; object-fit: contain; }

/* ---------- 상담사 영역: 모든 탭 같은 간격 ---------- */
.page_main .list_tab_w { padding-top: var(--v1-space-block) !important; padding-bottom: var(--v1-space-block) !important; margin: 0 !important; }
.page_main .list_tab_w ul.list_tab { margin: 0 !important; }
.page_main .list_tab_w.is-stuck { padding-top: 8px !important; padding-bottom: 8px !important; }

/* 안내줄(왼쪽) + 정렬 버튼(오른쪽) 한 줄 */
.page_main #counselor_list_wrap .container_inner {
    display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; padding: 0 var(--v1-g) !important;
}
.page_main #counselor_list_wrap .how_list_num { flex: 1 1 0; min-width: 0; width: auto !important; padding: 0 !important; margin: 0 !important; }
.page_main #counselor_list_wrap .list_controller { flex: 0 0 auto; width: auto !important; padding: 0 !important; margin: 0 !important; }
.page_main #counselor_list_wrap .fliter_li_wrap, .page_main #counselor_list_wrap .right_filter_w,
.page_main #counselor_list_wrap .right_filter { margin: 0 !important; padding: 0 !important; width: auto !important; }
.page_main #counselor_list_wrap .fliter_li_wrap > .l:not(:has(*)) { display: none !important; }
.page_main #counselor_list_wrap #cont_list1 {
    flex: 0 0 calc(100% + var(--v1-g) * 2); width: auto !important; min-width: 0 !important; max-width: calc(100% + var(--v1-g) * 2) !important;
    margin: var(--v1-space-block) calc(var(--v1-g) * -1) 0 !important;
}
.page_main .how_list_num h3 {
    display: block !important; text-align: left !important; font-size: 14px !important; line-height: 20px !important;
    background-position: 0 50% !important; padding-left: 26px !important;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.page_main .in_filter { height: 34px; padding: 0 10px !important; display: flex !important; align-items: center; }

/* 상담사 카드 */
.page_main #cont_list1 > li { padding: 0 var(--v1-g) !important; margin: 0 0 var(--v1-space-card) !important; }
.page_main #cont_list1 > li .item_box_w { padding: var(--v1-card-pad) !important; }
.page_main #cont_list1 .item_box_w > .style { margin-top: 10px !important; padding: 0 !important; }
.page_main #cont_list1 .item_box_w > .style .box { display: flex; align-items: center; justify-content: space-between; min-height: 26px; margin: 0 !important; }
.page_main #cont_list1 > li.no_listbox .no_listbox_ico {
    display: block; margin: 0 !important; padding: 28px 16px !important; border-radius: 20px;
    background: var(--rg-card) !important; border: 1px solid var(--rg-line); text-align: center;
}
.page_main #cont_list1 > li.no_listbox .no_listbox_ico p { margin: 0 !important; font-size: 13.5px; color: var(--rg-ink-2); }

/* 홈 후기 탭 */
.page_main #main_review_wrap { padding: 0 var(--v1-g) !important; }
.page_main #main_review_wrap .how_list_num { padding: 0 !important; margin: 0 0 var(--v1-space-block) !important; }
.page_main #main_review_wrap .container_inner, .page_main #main_review_wrap .reivew_box { padding: 0 !important; margin: 0 !important; }

/* ---------- 후기 카드 (홈 후기 탭 + 후기 페이지): 빈 여백 줄이기 ---------- */
.reivew_list { padding: 0 !important; margin: 0 !important; }
.reivew_list > li {
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important; border-radius: 20px !important;
    padding: var(--v1-card-pad) !important; margin: 0 0 var(--v1-space-card) !important;
}
.reivew_list > li:last-child { margin-bottom: 0 !important; }
.reivew_list > li .info_box { padding: 0 !important; margin: 0 !important; align-items: center; }
.reivew_list > li .info_box .img, .reivew_list > li .info_box .img img { width: 44px !important; height: 44px !important; }
.reivew_list > li .info_box .cont .name { margin-bottom: 2px !important; }
.reivew_list > li .con_box { margin-top: 12px !important; padding: 0 !important; border: 0 !important; }
.reivew_list > li .con_box > .info { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 10px; height: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
.reivew_list > li .con_box > .info::before, .reivew_list > li .con_box > .info::after,
.reivew_list > li .con_box .info_bar::before, .reivew_list > li .con_box .info_bar::after { content: none !important; display: none !important; }
.reivew_list > li .item_field_box { height: auto !important; margin: 0 !important; display: inline-flex !important; }
.reivew_list > li .item_field_box a { margin: 0 !important; padding: 4px 10px 3px !important; border-radius: 999px !important; font-size: 11.5px !important; line-height: 1.3 !important; }
.reivew_list > li .con_box .info_bar { margin: 0 !important; display: inline-flex !important; width: auto !important; height: auto !important; }
.reivew_list > li .con_box .info_bar .name, .reivew_list > li .con_box .info_bar span { font-size: 12px !important; color: var(--rg-muted) !important; }
.reivew_list > li .text .l { margin-top: 8px !important; }
.reivew_list > li .text .l > div { margin-bottom: 0 !important; }
.reivew_list > li .reple_box { margin-top: 10px !important; display: flex; gap: 10px; align-items: flex-start; }
.reivew_list > li .reple_box .img { margin: 0 !important; flex: none; }
.reivew_list > li .reple_box .img img { width: 32px !important; height: 32px !important; }
.reivew_list > li .reple_box .r { flex: 1; min-width: 0; padding: 10px 12px !important; border-radius: 14px !important; background: var(--rg-paper-2) !important; border: 0 !important; }
.reivew_list > li .reple_box .r .info_bar { margin: 0 0 4px !important; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; height: auto !important; }
.reivew_list > li .reple_box .r .info_bar p { line-height: 1.4 !important; height: auto !important; font-size: 12px !important; }
.list_reivew:not(.main_reivew) .reivew_box { padding: var(--v1-space-block) var(--v1-g) var(--v1-space-section) !important; }

/* ---------- 심리검사 목록 (trial/main) ---------- */
.trial_main .in_warp { padding: 0 var(--v1-g) !important; margin: 0 !important; }
.trial_test_wrap, .trial_review_wrap, .trial_reason_wrap, .trial_faq_wrap { padding: var(--v1-space-section) 0 0 !important; margin: 0 !important; }
.trial_test_wrap { padding-top: 20px !important; }
.trial_faq_wrap { padding-bottom: var(--v1-space-section) !important; }
.trial_section_title { margin: 0 0 var(--v1-space-block) !important; padding: 0 !important; }
.trial_reason_list, .trial_faq_list { margin: 0 !important; padding: 0 !important; }

/* 검사 카드: 한 줄 가로 스와이프 */
.trial_test_list {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: stretch;
    gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 var(--v1-g);
    margin: 0 calc(var(--v1-g) * -1) !important; padding: 4px var(--v1-g) 12px !important;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; overscroll-behavior-x: contain;
}
.trial_test_list::-webkit-scrollbar { display: none; }
.trial_test_item { flex: 0 0 min(78%, 290px) !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; display: flex !important; }
.trial_test_item > a { display: flex !important; flex-direction: column; align-items: flex-start; width: 100%; padding: 18px !important; min-height: 0 !important; }
.trial_test_img { width: 56px !important; height: 56px !important; margin: 0 0 14px !important; display: grid !important; place-items: center; border-radius: 16px !important; }
.trial_test_img img { width: 32px !important; height: 32px !important; object-fit: contain; }
.trial_test_info { display: flex !important; flex-direction: column; gap: 6px; width: 100%; padding: 0 !important; margin: 0 !important; }
.trial_test_title { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 !important; padding: 0 !important; }
.trial_test_title strong { font-size: 16.5px !important; line-height: 1.35 !important; margin: 0 !important; }
.trial_test_title span { font-size: 11px !important; line-height: 1 !important; padding: 5px 9px 4px !important; margin: 0 !important; }
.trial_test_info p { margin: 0 0 14px !important; font-size: 13px !important; line-height: 1.55 !important; }
.trial_test_link {
    position: static !important; align-self: flex-start; display: inline-flex !important; align-items: center; gap: 4px;
    margin: auto 0 0 !important; padding: 7px 12px 6px !important; border-radius: 999px;
    font-size: 12.5px !important; line-height: 1 !important; font-weight: 700 !important; background: rgba(255, 253, 249, .85);
}
.trial_test_link i { position: static !important; margin: 0 !important; }

/* 후기 슬라이드는 여백선에서 시작 */
.trial_review_slide { padding: 0 var(--v1-g) !important; box-sizing: border-box; }
.trial_review_item { padding: var(--v1-card-pad) 16px !important; height: 100%; box-sizing: border-box; }

/* 다른 이유: 번호를 제목 줄에 맞춘 작은 원 */
.trial_reason_item {
    display: grid !important; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; align-items: start;
    padding: 16px !important; margin: 0 0 var(--v1-space-card) !important; list-style: none;
}
.trial_reason_item:last-child { margin-bottom: 0 !important; }
.trial_reason_num {
    position: static !important; width: 28px !important; height: 28px !important; border-radius: 50%;
    display: grid !important; place-items: center; margin: 0 !important; padding: 0 !important;
    font-size: 13px !important; line-height: 1 !important; font-weight: 700 !important;
}
.trial_reason_info { padding: 0 !important; margin: 0 !important; }
.trial_reason_info strong { display: block; font-size: 15.5px !important; line-height: 28px !important; }
.trial_reason_info p { margin: 4px 0 0 !important; font-size: 13px !important; line-height: 1.65 !important; }
.trial_faq_question { width: 100%; padding: 14px 0 !important; }

/* ---------- 검사 소개 (trial/detail) ---------- */
.trial_detail .in_warp { padding-left: var(--v1-g) !important; padding-right: var(--v1-g) !important; margin: 0 !important; }
.trial_detail_info_box {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
    padding: 14px 4px !important; border-radius: 20px !important; background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
}
.trial_detail_info_item { text-align: center; padding: 2px 4px !important; margin: 0 !important; border: 0 !important; }
.trial_detail_info_item + .trial_detail_info_item { box-shadow: -1px 0 0 var(--rg-line); }
.trial_detail_section_title { margin: var(--v1-space-section) 0 var(--v1-space-block) !important; padding: 0 !important; }
.trial_detail_recommend_list { padding: 0 !important; margin: 0 !important; }
.trial_detail_recommend_item {
    display: grid !important; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; align-items: center;
    min-height: 0 !important; height: auto !important; padding: 14px 16px !important; margin: 0 0 var(--v1-space-card) !important;
    border-radius: 18px !important; background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    font-size: 14px !important; line-height: 1.6 !important;
}
.trial_detail_recommend_num {
    position: static !important; width: 28px !important; height: 28px !important; border-radius: 50%;
    display: grid !important; place-items: center; margin: 0 !important;
    font-size: 13px !important; line-height: 1 !important; font-weight: 700 !important;
    background: var(--rg-accent-soft) !important; color: var(--rg-accent-deep) !important;
}

/* ---------- 문항 (trial/start): 답을 카드로, 체크 표시가 잘 보이게 ---------- */
.petloss_inner { padding-left: var(--v1-g) !important; padding-right: var(--v1-g) !important; }
.petloss_answer_list { display: grid !important; gap: 10px; }
.petloss_answer_item {
    display: flex !important; align-items: center; gap: 12px; margin: 0 !important;
    padding: 15px 16px !important; border-radius: 16px !important; cursor: pointer;
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    transition: background-color .15s ease, border-color .15s ease;
}
/* 실제 입력칸은 항상 흐름에서 제외 (선택 시 기존 CSS가 자리를 차지하게 해 원·글자가 밀리던 문제) */
.petloss_answer_item input, .petloss_answer_item input:checked {
    position: absolute !important; opacity: 0 !important; pointer-events: none;
    width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; display: block !important;
}
.petloss_answer_text { margin: 0 !important; padding: 0 !important; }
.petloss_answer_radio {
    flex: none; position: relative; width: 20px !important; height: 20px !important; margin: 0 !important;
    border-radius: 50%; background: #fff !important; border: 2px solid #CDBFB2 !important; box-sizing: border-box; filter: none !important;
}
.petloss_answer_radio::after { content: none !important; }
.petloss_answer_item:has(input:checked) { background: var(--rg-accent-soft) !important; border-color: var(--rg-accent) !important; }
.petloss_answer_item input:checked + .petloss_answer_radio { border: 6px solid var(--rg-accent) !important; background: #fff !important; }
.petloss_answer_item input:checked ~ .petloss_answer_text { font-weight: 700; color: var(--rg-ink) !important; }
.petloss_answer_text { font-size: 15px !important; }
.petloss_name_input {
    width: 100%; height: 54px !important; padding: 0 16px !important; box-sizing: border-box;
    border: 1px solid var(--rg-line) !important; border-radius: 14px !important; background: var(--rg-card) !important;
}
.petloss_name_input:focus { outline: none; border-color: var(--rg-accent) !important; }
.petloss_question_notice { border-radius: 16px !important; }

/* ---------- 마이페이지: 한 겹 더 감싼 상자의 중복 여백 ---------- */
.container_mymenu .mymenu_list_ww .mymenu_list_w { padding-left: 0 !important; padding-right: 0 !important; }

/* ---------- 홈: 지금 마음은 어떤가요? (효과 없이 단순하게) ---------- */
.page_main .v1-mood { position: relative; z-index: 1; margin-top: 22px; }
.page_main .v1-mood-title { font-family: var(--rg-serif); font-size: 17px !important; font-weight: 700; color: var(--rg-ink); margin: 0 0 10px !important; }
.page_main .v1-mood-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.page_main .v1-mood-chip {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
    min-width: 0; padding: 11px 4px 10px; border-radius: 14px; cursor: pointer;
    font: inherit; font-size: 12px; font-weight: 600; line-height: 1.35; letter-spacing: -0.03em; text-align: center;
    word-break: keep-all; overflow-wrap: anywhere;
    color: var(--rg-ink); background: var(--rg-card); border: 1px solid var(--rg-line);
    transition: background-color .15s ease, border-color .15s ease;
}
.page_main .v1-mood-chip span { font-size: 18px; line-height: 1; }
.page_main .v1-mood-chip.on { background: var(--rg-accent-soft); border-color: var(--rg-accent); color: var(--rg-accent-deep); }
.page_main .v1-mood-answer { margin: 10px 0 0 !important; font-size: 13px; color: var(--rg-ink-2); }
.page_main .v1-mood-answer:empty { display: none; }
.page_main .v1-mood-answer a { font-weight: 700; color: var(--rg-accent-deep) !important; text-decoration: none; }
@media (max-width: 360px) { .page_main .v1-mood-chip { font-size: 11.5px; padding: 10px 3px 9px; } .page_main .v1-mood-list { gap: 6px; } }

/* ---------- 상담사 카드 글자 정렬 ---------- */
.page_main #cont_list1 .item_box { align-items: flex-start !important; }
.page_main #cont_list1 .item_img { margin-top: 0 !important; }
.page_main #cont_list1 .cont { padding-top: 0 !important; }
.page_main #cont_list1 .name_top { margin: 0 !important; min-height: 0 !important; }
/* 이름(명조)과 번호를 같은 기준선에 */
.page_main #cont_list1 .name { display: flex !important; align-items: baseline; gap: 6px; margin: 0 !important; line-height: 1.3 !important; height: auto !important; }
.page_main #cont_list1 .name em { font-size: 18px !important; line-height: 1.3 !important; }
.page_main #cont_list1 .name span { font-size: 14px !important; line-height: 1.3 !important; padding-left: 6px !important; margin: 0 !important; border-left: 1px solid var(--rg-line); }
.page_main #cont_list1 .name span::before, .page_main #cont_list1 .name span::after { content: none !important; }
/* 한 줄 소개·가격 */
.page_main #cont_list1 .cont .style { margin: 6px 0 0 !important; height: auto !important; }
.page_main #cont_list1 .cont .style p {
    font-size: 13px !important; line-height: 1.45 !important; margin: 0 !important; height: auto !important;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important;
}
.page_main #cont_list1 .cont ul.info { margin: 6px 0 0 !important; }
.page_main #cont_list1 .won dt { font-size: 13.5px !important; line-height: 1.4 !important; }
/* 상담하기 버튼 */
.page_main #cont_list1 .tel_btn_wrap { margin-top: 10px !important; }
.page_main #cont_list1 .tel_btn_wrap .btn_list { height: 36px !important; line-height: 36px !important; border-radius: 999px !important; }
.page_main #cont_list1 .tel_btn_wrap .btn_list span { font-size: 13.5px !important; }
/* 아래 줄(태그 · 상담후기): 빈 틈 줄이기 */
.page_main #cont_list1 .item_box_w > .style { margin-top: 10px !important; }
.page_main #cont_list1 .item_box_w > .style .box { min-height: 24px !important; }
.page_main #cont_list1 .review_more { font-size: 12px !important; line-height: 24px !important; }

/* ---------- 상담하기 버튼 전화 아이콘: 잘리거나 비뚤어지지 않게 (홈·결과·상세 공통) ---------- */
.tel_btn_wrap .btn_list, .petloss_counselor_section .btn_list {
    display: inline-flex !important; align-items: center; justify-content: center;
}
.tel_btn_wrap .btn_list > span, .petloss_counselor_section .btn_list > span {
    display: inline-flex !important; align-items: center;
    min-height: 16px; line-height: 1.2 !important;
    padding: 0 0 0 21px !important; margin: 0 !important;
    background-size: 15px 15px !important; background-position: 0 50% !important; background-repeat: no-repeat !important;
}

/* =========================================================
   검사 결과 (trial/result) - 차분하게 정리
   ========================================================= */
.petloss_result_page .petloss_inner { padding-top: 20px !important; padding-bottom: var(--v1-space-section) !important; }
.petloss_result_page .petloss_badge {
    background: var(--rg-accent-soft) !important; color: var(--rg-accent-deep) !important;
    border-radius: 999px !important; padding: 5px 11px 4px !important; font-weight: 600 !important;
}
.petloss_result_title {
    margin-top: 14px !important; font-family: var(--rg-serif) !important; font-weight: 700 !important;
    font-size: 22px !important; line-height: 1.45 !important; letter-spacing: -0.02em; color: var(--rg-ink) !important;
}
.petloss_result_page p.petloss_result_intro { margin-top: 10px !important; font-size: 13.5px !important; line-height: 1.7 !important; color: var(--rg-ink-2) !important; }

/* 섹션 간격 통일 */
.petloss_result_summary, .petloss_result_detail, .petloss_share_section, .petloss_review_section, .petloss_counselor_section, .petloss_result_guide {
    margin: var(--v1-space-section) 0 0 !important;
}
.petloss_result_summary { margin-top: 20px !important; }

/* 점수 카드 */
.petloss_result_card { border: 1px solid var(--rg-line) !important; border-radius: 20px !important; background: var(--rg-card) !important; padding: 20px 16px !important; box-shadow: none !important; }
.petloss_score_header strong { font-family: var(--rg-serif); }
.petloss_score_bar { height: 8px !important; border-radius: 999px !important; background: var(--rg-paper-2) !important; overflow: hidden; }
.petloss_score_bar span { border-radius: 999px !important; background: var(--rg-accent) !important; }
.petloss_score_item h3 { font-family: var(--rg-serif) !important; font-size: 15.5px !important; line-height: 1.5 !important; }
.petloss_score_item p { font-size: 13.5px !important; line-height: 1.75 !important; color: var(--rg-ink-2) !important; }

/* 결과 자세히 확인하기 */
.petloss_result_detail_toggle { padding: 4px 2px !important; }
.petloss_result_detail_toggle > span:first-child { font-family: var(--rg-serif); font-size: 17px !important; }

/* 공유: 뒤쪽 네모 상자 없이 둥근 카드 하나만 */
.petloss_share_section, .petloss_review_section { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.petloss_share_box { margin: 0 !important; padding: 20px 16px !important; border: 1px solid var(--rg-line) !important; border-radius: 20px !important; background: var(--rg-card) !important; }
.petloss_share_title { font-family: var(--rg-serif) !important; font-size: 17px !important; }
.petloss_share_description { font-size: 13px !important; line-height: 1.65 !important; color: var(--rg-ink-2) !important; }
.petloss_share_buttons { gap: 8px; }
.petloss_share_button { border-radius: 999px !important; height: 46px !important; font-weight: 700 !important; }
.petloss_share_buttons .petloss_share_button:first-child { background: var(--rg-accent) !important; border-color: var(--rg-accent) !important; color: #fff !important; }
.petloss_share_buttons .petloss_share_button:not(:first-child) { background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important; color: var(--rg-ink) !important; }

/* 함께한 분들의 후기 */
.petloss_review_inner { padding: 0 !important; }
.petloss_review_title { font-family: var(--rg-serif) !important; font-size: 18px !important; margin: 0 0 var(--v1-space-block) !important; }
.petloss_review_item {
    margin: 0 0 var(--v1-space-card) !important; padding: 16px !important;
    border: 1px solid var(--rg-line) !important; border-radius: 18px !important; background: var(--rg-card) !important;
}
.petloss_review_item:has(.petloss_review_badge) { background: var(--rg-accent-soft) !important; border-color: rgba(207, 111, 85, .35) !important; }
.petloss_review_badge { font-size: 12px !important; color: var(--rg-accent-deep) !important; margin-bottom: 6px !important; }
.petloss_review_content { font-size: 14px !important; line-height: 1.75 !important; color: var(--rg-ink) !important; }
.petloss_review_writer, .petloss_review_date, .petloss_review_dash { font-size: 12px !important; color: var(--rg-muted) !important; }

/* 지금 바로 상담 가능 (홈과 같은 카드) */
.petloss_counselor_title { display: flex; align-items: center; justify-content: space-between; margin: 0 0 var(--v1-space-block) !important; }
.petloss_counselor_title h3 { font-family: var(--rg-serif) !important; font-size: 18px !important; margin: 0 !important; }
.petloss_counselor_section #cont_list1 { padding: 0 !important; margin: 0 !important; }
.petloss_counselor_section #cont_list1 > li { padding: 0 !important; margin: 0 0 var(--v1-space-card) !important; }
.petloss_counselor_section #cont_list1 > li .item_box_w {
    padding: var(--v1-card-pad) !important; border: 1px solid var(--rg-line) !important; border-radius: 20px !important; background: var(--rg-card) !important;
}
.petloss_counselor_section #cont_list1 .item_box { background: transparent !important; align-items: flex-start !important; }
.petloss_counselor_section #cont_list1 .item_img, .petloss_counselor_section #cont_list1 .item_img img { border-radius: 16px !important; }
.petloss_counselor_section #cont_list1 .name { display: flex !important; align-items: baseline; gap: 6px; margin: 0 !important; }
.petloss_counselor_section #cont_list1 .name em { font-family: var(--rg-serif); font-size: 18px !important; }
.petloss_counselor_section #cont_list1 .name span { font-size: 14px !important; padding-left: 6px !important; border-left: 1px solid var(--rg-line); color: var(--rg-accent) !important; }
.petloss_counselor_section #cont_list1 .cont .style p { font-size: 13px !important; line-height: 1.45 !important; }
.petloss_counselor_section #cont_list1 .tel_btn_wrap .btn_list {
    height: 36px !important; border: 0 !important; border-radius: 999px !important; background: var(--rg-accent-soft) !important;
}
.petloss_counselor_section #cont_list1 .tel_btn_wrap .btn_list span { font-size: 13.5px !important; color: var(--rg-accent-deep) !important; }

/* 안내·다시 점검 */
/* 안내 영역은 본문 상자 밖에 있어 여백을 따로 지정 (좌우 여백선 맞춤, 위 간격 중복 제거) */
.petloss_result_guide { background: transparent !important; margin-top: 0 !important; padding: 0 var(--v1-g) var(--v1-space-section) !important; }
.petloss_result_guide_inner { padding: 0 !important; margin: 0 !important; }
.petloss_result_notice { padding: 14px 16px !important; border-radius: 16px !important; background: var(--rg-paper-2) !important; font-size: 12.5px !important; line-height: 1.65 !important; color: var(--rg-ink-2) !important; }
.petloss_result_links { display: flex !important; gap: 8px; margin-top: 12px !important; }
.petloss_result_link {
    flex: 1; display: flex !important; align-items: center; justify-content: center; height: 46px;
    border-radius: 999px !important; border: 1px solid var(--rg-line) !important; background: var(--rg-card) !important;
    font-size: 14px !important; font-weight: 700 !important; color: var(--rg-ink) !important; text-decoration: none;
}

/* ---------- 상담사 카드: 태그·소개 길이와 상관없이 같은 높이 ---------- */
/* 한 줄 소개는 항상 두 줄 자리를 차지 */
.page_main #cont_list1 .cont .style p { height: calc(13px * 1.45 * 2) !important; }
/* 아래 줄(태그 · 상담후기)은 한 줄 고정: 태그가 없거나 많아도 높이 동일 */
.page_main #cont_list1 .item_box_w > .style .box { height: 26px !important; min-height: 0 !important; gap: 10px; }
.page_main #cont_list1 .main_rating { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.page_main #cont_list1 > li, .page_main #cont_list1 .item_box_w, .page_main #cont_list1 .item_box_w > .style { min-width: 0; max-width: 100%; box-sizing: border-box; }
.page_main #cont_list1 .tag_list { display: flex !important; flex-wrap: nowrap !important; gap: 8px; height: 26px; align-items: center; overflow: hidden; white-space: nowrap; margin: 0 !important; padding: 0 !important; }
.page_main #cont_list1 .tag_list a { flex: none; margin: 0 !important; padding: 0 !important; font-size: 12px !important; line-height: 26px !important; }
.page_main #cont_list1 .review_more { flex: none; margin: 0 !important; }
/* 사진 위 분야 표시: 작고 둥글게 */
.page_main #cont_list1 .item_img > a > i {
    top: 6px !important; left: 6px !important; padding: 3px 8px 2px !important; border-radius: 999px !important;
    font-size: 10.5px !important; line-height: 1.4 !important; font-style: normal; max-width: calc(100% - 12px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box;
}

/* =========================================================
   상담사 개인페이지 (cont/detail_profile)
   ========================================================= */
/* 상단 뒤로·홈 버튼: 같은 크기·같은 높이, 흰 원 그대로 */
.page_detail header.detail_header .header_title {
    display: flex !important; align-items: center; justify-content: space-between;
    height: 62px !important; padding: 0 var(--v1-g) !important; box-sizing: border-box;
}
.page_detail header.detail_header .header_title > .btn_back,
.page_detail header.detail_header .btn_home {
    position: static !important; top: auto !important; left: auto !important; right: auto !important; float: none !important;
    display: block !important; flex: none; filter: none !important; width: 38px !important; height: 38px !important; margin: 0 !important;
    background-size: 38px 38px !important; background-position: center !important; background-repeat: no-repeat !important;
    box-shadow: 0 2px 8px rgba(58, 48, 43, .12); border-radius: 50%;
}
.page_detail header.detail_header .btn_home { margin-left: auto !important; }
/* 보고 있는 사람 수 */
.page_detail .active_user_count > * {
    background: rgba(58, 48, 43, .55) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    border-radius: 999px !important; font-size: 12px !important;
}
.page_detail .active_user_count span { color: #FFE2B8 !important; }

/* 이름 카드 */
.page_detail .detail_profile .profile_top > .padding_in { padding-left: var(--v1-g) !important; padding-right: var(--v1-g) !important; }
.page_detail .profile_id {
    padding: 18px 18px 18px !important; background: var(--rg-card) !important;
    border: 1px solid var(--rg-line); box-shadow: var(--rg-shadow-soft);
}
.page_detail .profile_id_top { display: flex !important; align-items: flex-start; justify-content: space-between; gap: 12px; }
.page_detail .profile_id_left { flex: 1 1 auto; min-width: 0; }
.page_detail .profile_id_right { flex: none; }
.page_detail .profile_id_left .cat {
    display: inline-block; padding: 3px 9px 2px !important; border-radius: 999px !important;
    font-size: 11px !important; line-height: 1.4 !important; font-weight: 600;
}
.page_detail .profile_id_left h5 {
    display: flex !important; align-items: baseline; flex-wrap: wrap; gap: 0 8px; margin: 8px 0 0 !important; padding: 0 !important;
    font-size: 21px !important; line-height: 1.3 !important; color: var(--rg-ink) !important;
}
/* 이름 */
.page_detail .profile_id_left h5 > span {
    position: static !important; padding: 0 !important; margin: 0 !important; border: 0 !important;
    font-family: var(--rg-serif) !important; font-size: 21px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--rg-ink) !important;
}
/* 번호 */
.page_detail .profile_id_left h5 > em {
    position: static !important; display: inline-block; padding: 0 0 0 8px !important; margin: 0 !important; border-left: 1px solid var(--rg-line);
    font-style: normal; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--rg-accent) !important;
}
.page_detail .profile_id_left h5 > em i { display: none !important; }
.page_detail .profile_id_left h5 span::before, .page_detail .profile_id_left h5 span::after,
.page_detail .profile_id_left h5 em::before, .page_detail .profile_id_left h5 em::after { content: none !important; }
.page_detail .profile_id_right .share_btn { width: 40px !important; height: 40px !important; background-size: 18px !important; background-position: center !important; }
.page_detail .flex_won { margin: 12px 0 0 !important; }
.page_detail .profile_id p.txt { margin: 10px 0 0 !important; font-size: 14px !important; line-height: 1.6 !important; color: var(--rg-ink-2) !important; }
.page_detail .detail_profile .profile_id .style { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 10px 0 0 !important; }
.page_detail .detail_profile .profile_id .style a { margin: 0 !important; font-size: 12.5px !important; color: var(--rg-accent-deep) !important; }

/* 섹션: 같은 여백선·같은 간격 */
.page_detail .profile_top_box { padding: var(--v1-space-block) 0 0 !important; }
.page_detail .profile_top_box .best_rivew_wrap { padding: 0 !important; margin: 0 !important; }
.page_detail .best_rivew_wrap .profile_con_box,
.page_detail .profile_conw, .page_detail .detail_simple .profile_con { padding: 0 !important; margin: 0 var(--v1-g) !important; width: auto !important; }
.page_detail .profile_con.padding_in.profile_conw { padding: var(--v1-space-section) 0 0 !important; }
.page_detail .detail_simple { padding: var(--v1-space-section) 0 0 !important; }
.page_detail .profile_con_box { margin: 0 !important; }

/* 섹션 제목: 모두 같은 모양 (아이콘 + 명조) */
.page_detail .profile_con_box > h3.title,
.page_detail .best_rivew_wrap h3.title,
.page_detail .profile_tap h3.title {
    display: flex !important; align-items: center; min-height: 22px; margin: 0 0 10px !important;
    padding: 0 0 0 24px !important; background-position: 0 50% !important; background-size: 18px auto !important; background-repeat: no-repeat !important;
    font-family: var(--rg-serif) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important;
    color: var(--rg-ink) !important; letter-spacing: -0.02em;
}
.page_detail .profile_tap h3.title span { font-family: 'Pretendard', sans-serif; font-size: 13px; font-weight: 400; color: var(--rg-muted); margin-left: 4px; }
.page_detail .best_rivew_wrap .title_wrap { display: flex !important; align-items: center; justify-content: space-between; margin: 0 0 10px !important; }
.page_detail .best_rivew_wrap .title_wrap h3.title { margin: 0 !important; }
.page_detail .best_btn { width: 30px !important; height: 30px !important; background: var(--rg-accent) !important; }

/* 내용 상자: 둥근 카드 하나로 통일 */
.page_detail .profile_con_box .txtbox,
.page_detail .best_review_cont {
    padding: var(--v1-card-pad) 16px !important; margin: 0 !important; border-radius: 18px !important;
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important; box-shadow: none !important;
    font-size: 13.5px !important; line-height: 1.7 !important; color: var(--rg-ink-2) !important;
}
.page_detail .best_review_cont .top_id { margin: 0 0 6px !important; font-size: 12px !important; color: var(--rg-muted) !important; }
.page_detail .best_review_cont .memo { font-size: 13.5px !important; line-height: 1.7 !important; }
/* 탭 안 소개 글은 상자 없이 */
.page_detail .profile_tap1 .profile_con_box .txtbox { background: transparent !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }

/* 상담 분야·스타일 태그 */
.page_detail .detail_more_w1 { margin: 0 !important; padding: 0 !important; }
.page_detail .detail_tag { width: auto !important; box-sizing: border-box; margin: var(--v1-space-section) var(--v1-g) 0 !important; padding: 6px 16px !important; border-radius: 18px !important; background: var(--rg-card) !important; }
.page_detail .detail_profile ~ * .padding_in:has(> .detail_tag), .page_detail .padding_in:has(> .detail_tag) { padding: 0 !important; }
.page_detail .detail_tag_box { display: flex !important; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 10px 0 !important; }
.page_detail .detail_tag_box + .detail_tag_box { border-top: 1px solid var(--rg-line); }
.page_detail .detail_tag_box > strong, .page_detail .detail_tag_box > .l { flex: 0 0 56px; line-height: 26px; font-size: 12.5px !important; font-weight: 700; color: var(--rg-ink) !important; }
.page_detail .detail_tag_box .r { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; min-width: 0; }
.page_detail .detail_tag_box .r a {
    margin: 0 !important; padding: 0 10px !important; height: 26px; line-height: 26px !important; border-radius: 999px !important;
    background: var(--rg-paper-2) !important; color: var(--rg-ink-2) !important; font-size: 12px !important;
}

/* 소개 / 후기 / 문의 탭: 홈 탭과 같은 모양 */
.page_detail .profile_tap_wrap { margin: var(--v1-space-section) 0 0 !important; }
.page_detail .profile_tap_menu_wrap { padding: 0 var(--v1-g) !important; }
.page_detail .profile_tap_menu {
    margin: 0 !important; padding: 5px !important; border-radius: 999px !important;
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important; box-shadow: var(--rg-shadow-soft);
}
.page_detail .profile_tap_menu ul { display: flex !important; gap: 6px; background: transparent !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.page_detail .profile_tap_menu li { flex: 1 1 0; min-width: 0; margin: 0 !important; padding: 0 !important; list-style: none; }
.page_detail .profile_tap_menu li span {
    display: flex !important; align-items: center; justify-content: center; height: 38px; padding: 0 4px !important;
    border-radius: 999px !important; font-size: 13.5px !important; font-weight: 700; white-space: nowrap; cursor: pointer;
    background: transparent !important; color: var(--rg-ink-2) !important;
}
.page_detail .profile_tap_menu li.on span { background: var(--rg-accent) !important; color: #fff !important; }
.page_detail .profile_tap_box { background: transparent !important; }
.page_detail .profile_tap .padding_box { padding: var(--v1-space-section) var(--v1-g) 0 !important; border: 0 !important; }
.page_detail .profile_tap .review_top_box, .page_detail .profile_tap .review_li_box, .page_detail .profile_tap .qna_box_top { padding: var(--v1-space-section) var(--v1-g) 0 !important; margin: 0 !important; }
.page_detail #reivew_list { margin-top: 10px !important; }
.page_detail .detail_profile_bottom_memo { padding: var(--v1-space-section) var(--v1-g) !important; font-size: 12px !important; color: var(--rg-muted) !important; }
/* 상담문의 탭 */
.page_detail .qna_box { padding: 0 var(--v1-g) !important; }
.page_detail .qna_box ul.tab { display: flex !important; gap: 6px; padding: 0 !important; margin: 0 0 var(--v1-space-block) !important; }
.page_detail .qna_box ul.tab li { margin: 0 !important; }
.page_detail .qna_box ul.tab li button { height: 34px !important; padding: 0 14px !important; font-size: 13px !important; background: var(--rg-card) !important; color: var(--rg-ink-2) !important; border: 1px solid var(--rg-line) !important; }
.page_detail .qna_box ul.tab li button.active { background: var(--rg-accent) !important; border-color: var(--rg-accent) !important; color: #fff !important; font-weight: 700; }
.page_detail .qna_list > li { margin: 0 0 var(--v1-space-card) !important; }
.page_detail .qna_list .guest_box {
    padding: 12px 14px !important; border-radius: 16px !important;
    background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
}
.page_detail .qna_list .counselor_box { margin-top: 6px !important; padding: 12px 14px !important; border-radius: 16px !important; background: var(--rg-paper-2) !important; }
.page_detail .qna_list .use_nick_li { margin-top: 4px !important; font-size: 12px !important; }
.page_detail .profile_tap .mymenu_list_review_w .btn {
    display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 46px; padding: 0 !important;
    border-radius: 999px !important; background: var(--rg-card) !important; border: 1px solid var(--rg-line) !important;
    color: var(--rg-ink) !important; font-size: 14px !important; font-weight: 700;
}
/* =========================================================
   전체 검수 (배경 통일 · 여백 · 어긋난 요소)
   ========================================================= */
/* 검사 화면 배경: 홈과 같은 종이색 + 결 (흰 카드색으로 덮이던 문제) */
.trial_detail, .petloss_test_page, .petloss_result_page, .trial_main { background: transparent !important; }
header.header_sub { background: var(--rg-paper) var(--rg-grain) !important; border-bottom: 0 !important; box-shadow: 0 1px 0 var(--rg-line) !important; }
.petloss_fixed_button_wrap {
    background: rgba(251, 247, 241, .9) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: 0 -1px 0 var(--rg-line) !important; border-top: 0 !important;
}
/* 서브 헤더: 뒤로 버튼을 본문 여백선에 */
header.header_sub .header_title > .btn_back { margin-left: calc(var(--v1-g) - 10px) !important; }

/* 작은 라벨(배지): 모두 같은 연한 알약 모양 */
.petloss_badge, .petloss_question_badge, .trial_detail_badge {
    display: inline-flex !important; align-items: center; width: auto !important; height: auto !important;
    padding: 5px 11px 4px !important; border-radius: 999px !important; line-height: 1.2 !important;
    background: var(--rg-accent-soft) !important; color: var(--rg-accent-deep) !important;
    font-size: 11px !important; font-weight: 700 !important;
}

/* 주 버튼(검사 시작하기 / 다음 / 결과 보기): 하단 버튼과 같은 모서리·높이 */
.petloss_primary_button, .trial_detail_start_btn {
    height: 54px !important; min-height: 0 !important; border-radius: 14px !important; font-size: 16px !important; font-weight: 700 !important;
    display: flex !important; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(207, 111, 85, .22);
}
.petloss_fixed_button_wrap { padding: 12px var(--v1-g) calc(12px + env(safe-area-inset-bottom)) !important; }

/* 이름 입력 단계: 간격 정리 */
.petloss_step { padding-top: 20px !important; }
.petloss_step .trial_start_input_item { margin-bottom: 0 !important; }
.petloss_name_title, .petloss_question_title { margin-top: 12px !important; font-family: var(--rg-serif) !important; font-size: 22px !important; line-height: 1.45 !important; letter-spacing: -0.03em; color: var(--rg-ink) !important; }
.petloss_name_description { margin-top: 10px !important; font-size: 13px !important; line-height: 1.6 !important; color: var(--rg-ink-2) !important; }
.petloss_name_input_wrap { margin-top: 24px !important; }

/* 문항 단계: 안내 상자 → 번호 → 질문 → 답 간격 */
.petloss_question_notice { background: var(--rg-paper-2) !important; border: 0 !important; padding: 14px 16px !important; }
.petloss_question_notice strong { font-size: 12px !important; color: var(--rg-accent-deep) !important; }
.petloss_question_notice p { margin-top: 6px !important; font-size: 12.5px !important; line-height: 1.6 !important; color: var(--rg-ink-2) !important; }
.petloss_question_badge { margin-top: 24px !important; }
.petloss_answer_list { margin-top: 22px !important; }

/* 카카오 안내 팝업 */
.petloss_login_popup { border-radius: 22px !important; padding: 36px 22px 26px !important; background: var(--rg-card) !important; }
.petloss_login_popup h3 { font-family: var(--rg-serif) !important; font-size: 18px !important; line-height: 1.45 !important; color: var(--rg-ink) !important; }
.petloss_login_popup p { color: var(--rg-ink-2) !important; line-height: 1.65 !important; }
.petloss_login_popup .petloss_review_button { border-radius: 14px !important; height: 50px; margin-top: 22px !important; }
.petloss_login_popup .petloss_modal_close { margin-top: 12px !important; color: var(--rg-muted) !important; }

/* 검사 소개: 제목·정보·시작 버튼 간격 */
.trial_detail_title { margin-top: 12px !important; font-size: 22px !important; }
.trial_detail_start_btn { margin-top: var(--v1-space-block) !important; }

/* 검사 목록 FAQ 답변 사이 */
.trial_faq_answer { margin-bottom: var(--v1-space-card) !important; }

/* 마이페이지: 메뉴 묶음 사이 큰 공백 */
.container_mymenu .coin_infobox { margin: 0 !important; padding-bottom: 0 !important; }
.container_mymenu .mymenu_list_w { margin-top: 0 !important; padding-top: var(--v1-space-section) !important; }
.container_mymenu .mymenu_list_ww .mymenu_list_w { margin-top: 8px !important; }

/* 사업자 정보: 본문과 같은 여백선 */
.footer_info { padding-left: var(--v1-g) !important; padding-right: var(--v1-g) !important; }
/* 카드 목록: gap 과 margin 이 겹쳐 간격이 두 배로 벌어지던 문제 → gap 하나로 */
.trial_reason_list, .trial_detail_recommend_list { display: flex !important; flex-direction: column; gap: var(--v1-space-card) !important; }
.trial_reason_list > li, .trial_detail_recommend_list > li { margin: 0 !important; }.trial_detail_title { font-family: var(--rg-serif) !important; letter-spacing: -0.03em; color: var(--rg-ink) !important; }
.petloss_name_input { font-size: 16px !important; font-weight: 500 !important; }
.petloss_name_input::placeholder { color: var(--rg-muted); font-weight: 400; }
/* 심리검사 탭 헤더: 홈 헤더와 똑같이 (배경·로고·돋보기 위치) */
header.trial {
    background: var(--rg-paper) var(--rg-grain) !important; border-bottom: 0 !important; box-shadow: none !important;
    display: flex !important; align-items: center; justify-content: space-between;
    height: 64px !important; min-height: 0 !important; padding: 0 var(--v1-g) !important; box-sizing: border-box;
}
header.trial h1 { float: none !important; margin: 0 !important; padding: 0 !important; line-height: 0; height: auto !important; }
header.trial h1 a { display: inline-flex; align-items: center; padding: 0 !important; }
header.trial h1 img { height: 44px !important; width: auto !important; max-width: none !important; margin: 0 !important; }
header.trial .header_top { position: static !important; float: none !important; display: flex !important; align-items: center; height: auto !important; width: auto !important; padding: 0 !important; margin: 0 0 0 auto !important; }
header.trial::before, header.trial::after { content: none !important; }
header.trial .header_top .top_search {
    display: grid !important; place-items: center; box-sizing: border-box;
    width: 40px; height: 40px; padding: 0 !important; margin: 0 -8px 0 0 !important; line-height: 0;
}
header.trial .header_top .top_search img {
    display: block; width: 24px !important; height: 24px !important; margin: 0 !important; object-fit: contain;
    filter: invert(36%) sepia(12%) saturate(640%) hue-rotate(338deg) brightness(88%);
}
/* ---------- 상담하기 팝업: 우리 아이 사진 ---------- */
.pet_consult_box {
    display: flex; align-items: center; gap: 14px; margin: 0 0 14px; padding: 14px;
    border-radius: 16px; background: var(--rg-paper-2); border: 1px solid var(--rg-line);
}
.pet_consult_txt { flex: 1; min-width: 0; text-align: left; }
.pet_consult_txt p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--rg-ink); word-break: keep-all; }
.pet_consult_msg { display: block; margin-top: 4px; font-size: 12px; line-height: 1.4; color: var(--rg-accent-deep); }
.pet_consult_msg:empty { display: none; }
.pet_consult_msg.is_bad { color: #C0392B; }
.pet_consult_del { display: none; width: auto !important; height: auto !important; margin: 6px 0 0 !important; float: none !important; padding: 0; border: 0; background: none; font-size: 12px; color: var(--rg-muted); text-decoration: underline; cursor: pointer; }
.pet_consult_box.has_photo .pet_consult_del { display: inline-block; }
.pet_consult_photo {
    position: relative; flex: none; width: 76px; height: 76px; border-radius: 16px; overflow: hidden; cursor: pointer;
    background: var(--rg-card); border: 1.5px dashed #D9C8B8; display: grid; place-items: center;
}
.pet_consult_photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.pet_consult_box.has_photo .pet_consult_photo { border-style: solid; border-color: var(--rg-line); }
.pet_consult_box.has_photo .pet_consult_photo img { display: block; }
.pet_consult_plus { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 11.5px; font-weight: 600; color: var(--rg-accent-deep); }
.pet_consult_plus i { font-style: normal; font-size: 22px; line-height: 1; font-weight: 400; }
.pet_consult_box.has_photo .pet_consult_plus { display: none; }
.pet_consult_change {
    display: none; position: absolute; left: 0; right: 0; bottom: 0; padding: 3px 0 4px; text-align: center;
    font-size: 11px; font-weight: 600; color: #fff; background: rgba(58, 48, 43, .55);
}
.pet_consult_box.has_photo .pet_consult_change { display: block; }
.pet_consult_box.is_loading .pet_consult_photo::after {
    content: ""; position: absolute; inset: 0; background: rgba(255, 253, 249, .55);
}
/* ---------- 상담사 화면: 상담 중 · 상담 예정 ---------- */
.pet_queue_note { margin-left: 6px; font-family: 'Pretendard', sans-serif; font-size: 12px; font-weight: 400; color: var(--rg-muted); }
.pet_queue { margin: 10px 0 0; }
.pet_queue_list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pet_queue_item {
    display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 16px;
    background: var(--rg-card); border: 1px solid var(--rg-line);
}
.pet_queue_item.is_now { border-color: var(--rg-accent); box-shadow: 0 0 0 3px var(--rg-accent-soft); }
.pet_queue_img {
    flex: none; width: 88px; height: 88px; border-radius: 14px; overflow: hidden; background: var(--rg-paper-2);
    display: grid; place-items: center;
}
.pet_queue_img img { width: 100%; height: 100%; object-fit: cover; }
.pet_queue_img em { font-style: normal; font-size: 11.5px; color: var(--rg-muted); }
.pet_queue_info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pet_queue_info strong { font-size: 15px; color: var(--rg-ink); }
.pet_queue_info strong small { font-size: 13px; font-weight: 500; color: var(--rg-ink-2); }
.pet_queue_state { font-size: 12.5px; color: var(--rg-ink-2); }
.pet_queue_item.is_now .pet_queue_state { color: var(--rg-accent-deep); font-weight: 700; }
.pet_queue_empty { margin: 0; padding: 18px 14px; border-radius: 16px; background: var(--rg-card); border: 1px dashed var(--rg-line); font-size: 13px; color: var(--rg-muted); text-align: center; }