:root{--brown:#9a6741;--dark:#30251e;--muted:#857970;--line:#eadfd7;--cream:#f7f1ec}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#fbf8f5;color:#30251e;font-family:Arial,"Noto Sans KR",sans-serif}button,input,select,textarea{font:inherit}
.friend-page-header{height:112px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;max-width:1220px;margin:auto;padding:0 24px;border-bottom:1px solid #eadfd7;background:#fff}
.friend-page-header>a{justify-self:center}.friend-page-header img{width:164px;height:76px;display:block;object-fit:contain}
.friend-back-button{width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid #e6d9cf;border-radius:50%;background:#fff;color:#825739;cursor:pointer}
.friend-page-shell{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:58px 0 110px}
.friend-page-hero{text-align:center}.friend-page-hero>span{color:#9a6741;font-size:12px;font-weight:900}.friend-page-hero h1{margin:10px 0 12px;font-size:36px}.friend-page-hero p{margin:0;color:#83766d}
.friend-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:40px 0}
.friend-filter-bar>button{min-width:0;min-height:80px;display:flex;align-items:center;gap:13px;padding:15px 18px;border:1px solid #e8dcd3;border-radius:18px;background:#fff;color:#332820;text-align:left;box-shadow:0 8px 22px rgba(72,48,32,.05);cursor:pointer}
.filter-icon{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:14px;background:#f5ece5;color:#9a6741;font-size:23px}.friend-filter-bar strong,.friend-filter-bar small{display:block}.friend-filter-bar strong{margin-bottom:4px}.friend-filter-bar small{max-width:360px;overflow:hidden;color:#877970;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.friend-results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.friend-results-heading h2{margin:0 0 7px;font-size:27px}.friend-results-heading p{margin:0;color:#897a70;font-size:14px}.friend-results-heading button{padding:9px 13px;border:1px solid #ddcec2;border-radius:10px;background:#fff;color:#825739;cursor:pointer}
.friend-list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.friend-list-empty{grid-column:1/-1;margin:0;padding:60px 20px;border:1px dashed #dfd0c5;border-radius:20px;background:#fff;color:#887970;text-align:center}
.friend-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid #eadfd7;border-radius:20px;background:#fff;box-shadow:0 9px 25px rgba(72,48,32,.06)}.friend-card-photo{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f7eee7,#ecddd1);color:#9a6741;font-size:54px;font-weight:900}.friend-card-photo img{width:100%;height:100%;object-fit:cover}.friend-card-body{display:flex;flex:1;flex-direction:column;padding:15px}.friend-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.friend-card-title h3{margin:0;overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.friend-card-title span{flex:none;padding:4px 7px;border-radius:999px;background:#f3e7de;color:#8b5b38;font-size:10px;font-weight:800}.friend-card-public-info{margin:8px 0 0;color:#786a61;font-size:11px}.friend-card-location{margin:8px 0 10px;color:#796d65;font-size:12px}.friend-card-tags{min-height:25px;display:flex;flex-wrap:wrap;gap:5px}.friend-card-tags span{padding:4px 7px;border-radius:999px;background:#faf6f2;color:#6d5a4d;font-size:10px}.friend-card-reason{margin:12px 0;color:#9a6741;font-size:11px;font-weight:800}.friend-card button{width:100%;min-height:40px;margin-top:auto;border:1px solid #9a6741;border-radius:10px;background:#fff;color:#8a5937;font-weight:800;cursor:pointer}.friend-card button:hover{background:#9a6741;color:#fff}
dialog{padding:0;border:0;background:transparent}dialog::backdrop{background:rgba(34,24,18,.5);backdrop-filter:blur(3px)}
.friend-profile-dialog article,.friend-filter-dialog article{position:relative;width:min(480px,calc(100vw - 28px));max-height:88vh;overflow-y:auto;padding:27px;border-radius:23px;background:#fff;box-shadow:0 25px 75px rgba(38,25,17,.28)}.friend-dialog-close,#friendFilterClose{position:absolute;top:19px;right:19px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#f7f2ee;color:#55463d;font-size:25px;cursor:pointer}.friend-dialog-photo{width:150px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;margin:8px auto 18px;border-radius:25px;background:#f3e7de;color:#9a6741;font-size:48px;font-weight:900}.friend-dialog-photo img{width:100%;height:100%;object-fit:cover}.friend-dialog-age{display:table;margin:auto;padding:5px 9px;border-radius:999px;background:#f3e7de;color:#8b5b38;font-size:11px;font-weight:800}.friend-profile-dialog h2{margin:10px 0 6px;text-align:center}.friend-dialog-gender{margin:0 0 7px;text-align:center;color:#64564e;font-size:12px}.friend-dialog-location{margin:0;text-align:center;color:#786c64}.friend-dialog-interests{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:17px 0}.friend-dialog-interests span{padding:6px 9px;border-radius:999px;background:#faf6f2;color:#6c594c;font-size:11px}.friend-dialog-intro{padding:15px;border-radius:14px;background:#faf7f4;color:#61534a;font-size:13px;line-height:1.6}.friend-dialog-action{min-height:48px;display:flex;align-items:center;justify-content:center;margin-top:17px;border-radius:12px;background:#9a6741;color:#fff;font-weight:800;text-decoration:none}
.friend-dialog-photo.zoomable{cursor:zoom-in;box-shadow:0 0 0 3px #fff,0 8px 28px rgba(78,49,31,.16)}
.friend-dialog-photo.zoomable:focus-visible{outline:3px solid rgba(154,103,65,.35);outline-offset:4px}
.friend-photo-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(17,13,10,.96);overflow:hidden}
.friend-photo-viewer::backdrop{background:rgba(17,13,10,.82)}
.friend-photo-viewer-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:grab}
.friend-photo-viewer-stage:active{cursor:grabbing}
.friend-photo-viewer-stage img{max-width:92vw;max-height:88dvh;object-fit:contain;transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none}
.friend-photo-viewer-close{position:absolute;top:max(18px,env(safe-area-inset-top));right:18px;width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer;backdrop-filter:blur(8px)}
.friend-photo-viewer-controls{position:absolute;left:50%;bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:8px;padding:7px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(31,24,20,.7);transform:translateX(-50%);backdrop-filter:blur(10px)}
.friend-photo-viewer-controls button{min-width:45px;height:40px;padding:0 12px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.friend-filter-dialog header{display:flex;justify-content:space-between;margin-bottom:24px}.friend-filter-dialog header span{color:#9a6741;font-size:11px;font-weight:900}.friend-filter-dialog header h2{margin:6px 0 0}.friend-filter-dialog label{display:block;color:#53463e;font-size:13px;font-weight:800}.friend-filter-dialog input{width:100%;height:50px;margin-top:8px;padding:0 14px;border:1px solid #dfd1c7;border-radius:12px;outline:0}.friend-list-gps{width:100%;display:flex;align-items:center;gap:13px;margin-bottom:19px;padding:14px;border:1px solid #a87048;border-radius:14px;background:#faf6f2;color:#68452d;text-align:left;cursor:pointer}.friend-list-gps b{font-size:25px}.friend-list-gps strong,.friend-list-gps small{display:block}.friend-list-gps small{margin-top:4px;color:#8a7b71;font-size:11px}.friend-list-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.friend-list-chips button{padding:9px 11px;border:1px solid #e5d8cf;border-radius:999px;background:#faf7f3;color:#675548;font-size:12px;cursor:pointer}.friend-list-chips button.selected{border-color:#9a6741;background:#9a6741;color:#fff}.friend-panel-help{color:#83766d;font-size:12px}.friend-filter-message{min-height:18px;color:#b2493f;font-size:12px}.friend-filter-dialog footer{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:22px}.friend-filter-dialog footer button{min-height:48px;border:1px solid #ddd1c8;border-radius:12px;background:#fff;color:#67584f;font-weight:800;cursor:pointer}.friend-filter-dialog footer button.primary{border-color:#9a6741;background:#9a6741;color:#fff}
.friend-profile-editor article{width:min(820px,calc(100vw - 30px));max-height:92vh;overflow-y:auto;border-radius:26px;background:#fff;box-shadow:0 25px 75px rgba(38,25,17,.3)}.profile-editor-header{position:relative;padding:28px 78px 23px 30px;border-bottom:1px solid #ecdfd6}.profile-editor-header>div>span{color:#9a6741;font-size:11px;font-weight:900}.profile-editor-header h2{margin:6px 0 7px;font-size:26px}.profile-editor-header p{margin:0;color:#877970;font-size:13px}.profile-editor-close{position:absolute;top:24px;right:26px;width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#f7f2ee;color:#55463d;font-size:25px;cursor:pointer}
.own-profile-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;margin:25px 30px;padding:20px;border:1px solid #e5d7cd;border-radius:20px;background:linear-gradient(145deg,#fff,#fbf6f2);box-shadow:0 9px 24px rgba(72,48,32,.05)}.own-profile-photo{width:150px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border:5px solid #fff;border-radius:22px;background:#f1e3d8;box-shadow:0 7px 20px rgba(88,58,39,.13);color:#9a6741;font-size:48px;font-weight:900}.own-profile-photo img{width:100%;height:100%;object-fit:cover}.own-profile-content{min-width:0;align-self:center}.own-profile-title{display:flex;align-items:center;gap:10px}.own-profile-title h3{margin:0;font-size:24px}.own-profile-title>span{padding:5px 9px;border-radius:999px;background:#f2e5dc;color:#87593a;font-size:11px;font-weight:800}.own-profile-meta{display:flex;flex-wrap:wrap;gap:7px 15px;margin:10px 0;color:#77685f;font-size:12px}.own-profile-tags{display:flex;flex-wrap:wrap;gap:6px}.own-profile-tags span{padding:5px 8px;border-radius:999px;background:#f8f1eb;color:#765c4b;font-size:11px}.own-profile-intro{margin:13px 0 0;color:#574a42;font-size:13px;line-height:1.6;white-space:pre-line}
#friendProfileEditorForm{padding:2px 30px 30px}.profile-photo-field,.profile-editor-grid label,.profile-intro-field{display:block}.profile-photo-field>span,.profile-editor-grid label>span,.profile-intro-field>span{display:block;margin-bottom:8px;color:#4d4038;font-size:13px;font-weight:800}.profile-photo-field input{width:100%;padding:11px;border:1px solid #e2d5cb;border-radius:12px;background:#fbf8f5}.profile-photo-field small,.profile-editor-grid small{display:block;margin-top:7px;color:#8b7e75;font-size:11px}.profile-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.profile-editor-grid input,.profile-editor-grid select{width:100%;height:50px;padding:0 13px;border:1px solid #dfd1c7;border-radius:12px;background:#fff;color:#3f332b;outline:0}.profile-editor-grid input[readonly]{background:#f8f5f2;color:#766960}.profile-interest-field{margin:21px 0 0;padding:0;border:0}.profile-interest-field legend{color:#4d4038;font-size:13px;font-weight:800}.profile-interest-field legend small{margin-left:5px;color:#8c7d74;font-size:10px}.profile-intro-field{position:relative;margin-top:22px}.profile-intro-field textarea{width:100%;min-height:100px;padding:13px 14px 27px;resize:vertical;border:1px solid #dfd1c7;border-radius:12px;color:#40342c;outline:0}.profile-intro-field>small{position:absolute;right:12px;bottom:10px;color:#94877e;font-size:10px}.profile-visibility-field{display:flex;align-items:center;gap:11px;margin-top:17px;padding:14px;border-radius:13px;background:#f9f5f1;cursor:pointer}.profile-visibility-field input{width:20px;height:20px;accent-color:#9a6741}.profile-visibility-field strong,.profile-visibility-field small{display:block}.profile-visibility-field strong{font-size:13px}.profile-visibility-field small{margin-top:4px;color:#897b72;font-size:11px}.profile-editor-message{min-height:18px;margin:13px 0 0;color:#b2493f;font-size:12px}.profile-editor-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:8px}.profile-editor-actions button{min-height:50px;border:1px solid #ded1c7;border-radius:12px;background:#fff;color:#66564c;font-weight:800;cursor:pointer}.profile-editor-actions button.primary{border-color:#9a6741;background:#9a6741;color:#fff}.profile-editor-actions button:disabled{opacity:.55;cursor:wait}
.friend-mobile-nav{display:none}
.friend-mobile-nav svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
@media(max-width:900px){.friend-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){body{padding-bottom:80px}.friend-page-header{height:72px;grid-template-columns:44px 1fr 44px;padding:0 16px;position:sticky;top:0;z-index:50}.friend-page-header img{width:116px;height:54px}.friend-back-button{width:42px;height:42px}.friend-page-shell{width:calc(100% - 28px);padding:32px 0 40px}.friend-page-hero h1{font-size:25px}.friend-page-hero p{font-size:13px;line-height:1.5}.friend-filter-bar{gap:8px;margin:27px 0}.friend-filter-bar>button{min-height:67px;gap:8px;padding:10px;border-radius:15px}.filter-icon{width:36px;height:36px;border-radius:11px;font-size:19px}.friend-filter-bar strong{font-size:12px}.friend-filter-bar small{max-width:105px;font-size:9px}.friend-results-heading h2{font-size:22px}.friend-results-heading p{font-size:12px}.friend-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.friend-card-body{padding:12px}.friend-card-title h3{font-size:14px}.friend-card-public-info,.friend-card-location{font-size:10px}.friend-card-reason{min-height:28px;font-size:10px}.friend-mobile-nav{position:fixed;z-index:60;left:0;right:0;bottom:0;height:72px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #e9dfd7;background:rgba(255,255,255,.97);box-shadow:0 -8px 24px rgba(70,48,33,.07)}.friend-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#6f6259;text-decoration:none}.friend-mobile-nav span{font-size:24px;line-height:1}.friend-mobile-nav b{font-size:10px;font-weight:700}.friend-profile-dialog article,.friend-filter-dialog article{width:100vw;max-height:88vh;padding:23px 19px;border-radius:24px 24px 0 0}dialog.friend-profile-dialog[open],dialog.friend-filter-dialog[open],dialog.friend-profile-editor[open]{max-width:none;width:100%;margin:auto 0 0}.friend-profile-editor article{width:100vw;max-height:92vh;border-radius:24px 24px 0 0}.profile-editor-header{padding:23px 67px 19px 20px}.profile-editor-header h2{font-size:22px}.profile-editor-header p{font-size:11px;line-height:1.45}.profile-editor-close{top:20px;right:18px}.own-profile-preview{grid-template-columns:94px minmax(0,1fr);gap:13px;margin:18px 19px;padding:13px}.own-profile-photo{width:94px;border-width:3px;border-radius:16px;font-size:34px}.own-profile-title{align-items:flex-start;flex-direction:column;gap:5px}.own-profile-title h3{font-size:18px}.own-profile-meta{margin:8px 0;font-size:10px}.own-profile-tags{gap:4px}.own-profile-tags span{padding:4px 6px;font-size:9px}.own-profile-intro{margin-top:9px;font-size:11px;line-height:1.45}#friendProfileEditorForm{padding:0 19px 23px}.profile-editor-grid{grid-template-columns:1fr;gap:14px}.profile-editor-actions{position:sticky;bottom:-23px;margin:12px -19px -23px;padding:12px 19px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -8px 18px rgba(70,48,33,.07)}}
/* 친구찾기 필터 아이콘 */
.filter-icon svg{width:24px;height:24px;display:block;overflow:visible}
.filter-icon svg path,.filter-icon svg circle{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.filter-icon.interest-profile-icon{color:#78513a;background:linear-gradient(145deg,#fff,#f4e7dc);box-shadow:0 6px 16px rgba(92,57,35,.1)}
.filter-icon.interest-profile-icon .spark{fill:currentColor;stroke:none}
.friend-list-gps{padding:10px 14px}
.friend-list-gps .gps-pin-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%;background:#fff;color:#9a6741;box-shadow:0 5px 14px rgba(93,59,35,.1)}
.friend-list-gps .gps-pin-icon svg{width:22px;height:22px;display:block}
.friend-list-gps .gps-pin-icon path,.friend-list-gps .gps-pin-icon circle{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* 친구찾기 상세 공개 프로필 */
.friend-verification-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.friend-verification-badges span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #d8c2b1;border-radius:999px;background:#fff8f1;color:#805232;font-size:10px;font-weight:900}
.friend-verification-badges span.relationship{border-color:#e7b7c7;background:#fff3f7;color:#9b4764}

/* 친구찾기 모바일 하단 메뉴: 홈페이지와 동일한 아이콘·간격 */
.mobile-bottom-bar{display:none}
@media(max-width:700px){
    .friend-mobile-nav{display:none!important}
    .mobile-bottom-bar{
        position:fixed;
        z-index:60;
        left:0;
        right:0;
        bottom:0;
        height:76px;
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
        padding-bottom:env(safe-area-inset-bottom);
        border-top:1px solid #ece6e1;
        background:rgba(255,255,255,.97);
        box-shadow:0 -5px 20px rgba(56,37,24,.07);
        backdrop-filter:blur(10px);
    }
    .mobile-bottom-item{
        min-width:0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        padding:0;
        border:0;
        background:transparent;
        color:#776b63;
        cursor:pointer;
    }
    .mobile-bottom-item svg{width:25px;height:25px;display:block;flex:none}
    .mobile-bottom-item span{font-size:11px;font-weight:700;line-height:1.2}
    .mobile-bottom-item:first-child{color:#8b5e3c}
}

/* 공개 친구 프로필 개인정보 보호 */
.friend-profile-dialog article,
.friend-photo-viewer {
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
}
.friend-profile-dialog img,
.friend-photo-viewer img {
    -webkit-user-drag:none;
    user-select:none;
}
.friend-profile-watermark,
.friend-photo-watermark {
    position:absolute;
    inset:0;
    z-index:6;
    display:grid;
    grid-template-columns:repeat(3,minmax(150px,1fr));
    align-content:space-around;
    gap:42px 18px;
    overflow:hidden;
    pointer-events:none;
}
.friend-profile-watermark span,
.friend-photo-watermark span {
    color:rgba(116,71,40,.13);
    font-size:11px;
    font-weight:800;
    line-height:1;
    text-align:center;
    white-space:nowrap;
    transform:rotate(-24deg);
}
.friend-photo-watermark {
    position:fixed;
    grid-template-columns:repeat(4,minmax(180px,1fr));
}
.friend-photo-watermark span {
    color:rgba(255,255,255,.18);
}
.friend-dialog-close,
.friend-photo-viewer-close,
.friend-photo-viewer-controls {
    z-index:8;
}
.friend-profile-privacy-shield,
.friend-photo-privacy-shield {
    position:absolute;
    inset:0;
    z-index:20;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:28px;
    background:rgba(250,247,243,.97);
    color:#47362b;
    text-align:center;
    backdrop-filter:blur(18px);
}
.friend-photo-privacy-shield {
    position:fixed;
    background:rgba(17,13,10,.98);
    color:#fff;
}
.friend-profile-privacy-shield[hidden],
.friend-photo-privacy-shield[hidden] {
    display:none!important;
}
.friend-profile-privacy-shield strong,
.friend-photo-privacy-shield strong {
    font-size:18px;
}
.friend-profile-privacy-shield span,
.friend-photo-privacy-shield span {
    color:#8a786c;
    font-size:12px;
}
.friend-photo-privacy-shield span { color:#c9beb8; }
.friend-profile-protection-note {
    margin:10px 0 0;
    color:#93847a;
    font-size:10px;
    line-height:1.5;
    text-align:center;
}
@media(max-width:700px) {
    .friend-profile-watermark {
        grid-template-columns:repeat(2,minmax(140px,1fr));
        gap:54px 10px;
    }
    .friend-photo-watermark {
        grid-template-columns:repeat(2,minmax(160px,1fr));
    }
}
@media print {
    .friend-profile-dialog,
    .friend-photo-viewer {
        display:none!important;
    }
}

/* iOS Safari가 닫기 버튼에 기본 파란색을 덮어쓰지 않도록 고정 */
.profile-editor-close{
    color:#211a16!important;
    -webkit-text-fill-color:#211a16!important;
    -webkit-appearance:none;
    appearance:none;
    -webkit-tap-highlight-color:transparent;
    outline:none!important;
}
.profile-editor-close:focus-visible{
    box-shadow:0 0 0 2px rgba(33,26,22,.35);
}
.friend-dialog-name-row{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.friend-dialog-name-row h2{margin:10px 0 6px}
.friend-dialog-name-row .friend-verification-badges{justify-content:center;margin-top:5px}
.friend-dialog-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.friend-dialog-details>div{padding:10px;border-radius:12px;background:#faf7f4}
.friend-dialog-details dt{color:#8b7c72;font-size:10px}
.friend-dialog-details dd{margin:4px 0 0;color:#4b3e36;font-size:12px;font-weight:800}
.profile-input-with-unit{position:relative}.profile-input-with-unit input{padding-right:48px}.profile-input-with-unit b{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#8b7e75;font-size:12px}
.profile-editor-section{margin-top:24px;padding-top:22px;border-top:1px solid #eee2d9}
.profile-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}
.profile-section-heading h3{margin:0;color:#3f332b;font-size:17px}
.profile-section-heading p{margin:0;color:#8b7e75;font-size:11px}
.profile-editor-section .profile-editor-grid{margin-top:0}
.verification-card{position:relative;margin-top:14px;padding:16px;border:1px solid #e5d7cd;border-radius:16px;background:#fbf8f5}
.verification-card>div:first-child{display:flex;align-items:center;gap:10px;padding-right:82px}
.verification-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:#f2e4d9;color:#9a6741;font-weight:900}
.verification-card strong,.verification-card small{display:block}.verification-card strong{font-size:13px}.verification-card small{margin-top:3px;color:#8b7d73;font-size:10px;line-height:1.45}
.verification-status{position:absolute;top:17px;right:16px;padding:5px 8px;border-radius:999px;background:#eee8e3;color:#75675e;font-size:10px;font-weight:900}
.verification-status.pending{background:#fff2d8;color:#916112}.verification-status.verified{background:#e6f5ea;color:#2d7541}.verification-status.rejected{background:#fde8e5;color:#a1483e}
.verification-request-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px;margin-top:14px}
.verification-request-row.marital{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.verification-request-row.document{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
.verification-request-row input,.verification-request-row select{min-width:0;height:44px;padding:0 11px;border:1px solid #ddcfc5;border-radius:11px;background:#fff;color:#493b33;outline:0}
.verification-request-row button{min-height:44px;padding:0 14px;border:0;border-radius:11px;background:#9a6741;color:#fff;font-weight:900;cursor:pointer}
.verification-request-row button:disabled{opacity:.55;cursor:wait}
.verification-file{position:relative;display:flex;align-items:center;min-width:0;min-height:44px;padding:0 12px;border:1px dashed #cfae95;border-radius:11px;background:#fff;color:#6e5543;font-size:12px;font-weight:800;cursor:pointer}
.verification-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.verification-file input{position:absolute;width:1px!important;height:1px!important;padding:0!important;opacity:0}
.verification-file:focus-within{border-style:solid;border-color:#9a6741;box-shadow:0 0 0 3px #9a674118}
.verification-help,.verification-result{margin:9px 0 0;color:#8c7f76;font-size:10px;line-height:1.5}.verification-result{color:#69574a;font-weight:800}

@media(max-width:700px){
    .profile-section-heading{display:block}.profile-section-heading p{margin-top:5px}
    .verification-card>div:first-child{padding-right:0}.verification-status{position:static;display:table;margin:10px 0 0}
    .verification-request-row,.verification-request-row.marital,.verification-request-row.document{grid-template-columns:1fr}
    .friend-dialog-details{grid-template-columns:1fr 1fr}
}

/* 홈·마이페이지 안에서 프로필 편집창만 재사용하는 모드 */
.friend-editor-embed,
.friend-editor-embed body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: transparent;
}
.friend-editor-embed body > :not(#friendProfileEditor) {
    display: none !important;
}
.friend-editor-embed #friendProfileEditor[open] {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
}
.friend-editor-embed #friendProfileEditor::backdrop {
    background: transparent;
    backdrop-filter: none;
}
.friend-editor-embed .friend-profile-editor article {
    width: 100%;
    max-width: none;
    max-height: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
}

.contact-block-card {
    display: grid;
    gap: 13px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fbf8f5;
}
.contact-block-card .profile-visibility-field {
    margin: 0;
    background: #fff;
}
.contact-block-card > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: max-content;
    min-height: 44px;
    padding: 0 17px;
    border: 1px solid var(--brown);
    border-radius: 12px;
    background: #fff;
    color: var(--brown);
    cursor: pointer;
}
.contact-block-card > button span { font-size: 22px; }
.contact-block-card > p,
.contact-block-card > small {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}
.contact-block-card > p {
    color: var(--dark);
    font-weight: 800;
}
@media (max-width: 720px) {
    .contact-block-card > button { width: 100%; }
}

.friend-quota-dialog {
    width: min(92vw, 430px);
    padding: 0;
    border: 0;
    border-radius: 24px;
    background: transparent;
}
.friend-quota-dialog::backdrop {
    background: rgba(42, 33, 27, .48);
    backdrop-filter: blur(3px);
}
.friend-quota-dialog article {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 34px 28px 28px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(56, 39, 28, .2);
}
.friend-quota-dialog .friend-dialog-close {
    position: absolute;
    top: 16px;
    right: 16px;
}
.friend-quota-label {
    width: max-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f4e9df;
    color: var(--brown);
    font-size: 12px;
    font-weight: 800;
}
.friend-quota-dialog h2 {
    margin: 2px 38px 0 0;
    color: var(--dark);
    font-size: 23px;
    line-height: 1.35;
}
.friend-quota-dialog p {
    margin: 0 0 4px;
    color: var(--muted);
    line-height: 1.65;
}
.friend-quota-ad,
.friend-quota-credit {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border-radius: 14px;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
}
.friend-quota-ad {
    gap: 9px;
    border: 0;
    background: var(--brown);
    color: #fff;
    cursor: pointer;
}
.friend-quota-ad:disabled { opacity: .55; cursor: wait; }
.friend-quota-credit {
    border: 1px solid var(--line);
    color: var(--brown);
    background: #fff;
}
@media (min-width: 901px) {
    .friend-quota-ad { display: none !important; }
}

/* 친구 신청 및 인증 뱃지 */
.friend-dialog-action {
    width: 100%;
    border: 0;
    font: inherit;
    cursor: pointer;
}
.friend-dialog-action.accepted { background: #6f4930; }
.friend-dialog-action:disabled {
    background: #d6c7bb;
    color: #fff;
    cursor: default;
}
.friend-dialog-action-note {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}
.friend-dialog-name-row {
    flex-direction: column;
    gap: 0;
}
.friend-dialog-name-row h2 { margin-bottom: 0; }
.friend-dialog-name-row .friend-verification-badges {
    justify-content: center;
}
.friend-request-inbox {
    margin: 0 0 34px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(72, 48, 32, .07);
}
.friend-request-list { display: grid; gap: 10px; }
.friend-request-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #eadfd6;
    border-radius: 15px;
    background: #fcfaf8;
}
.friend-request-avatar {
    display: grid;
    width: 48px;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    border-radius: 14px;
    background: #f3e7de;
    color: var(--brown);
    font-weight: 900;
}
.friend-request-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.friend-request-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}
.friend-request-copy strong {
    overflow: hidden;
    color: var(--dark);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.friend-request-copy span {
    color: var(--muted);
    font-size: 12px;
}
.friend-request-actions {
    display: flex;
    align-items: center;
    justify-self: end;
    width: auto;
    gap: 7px;
}
.friend-request-actions button {
    min-width: 72px;
    height: 34px;
    padding: 0 14px;
    border: 1px solid #9a6741;
    border-radius: 10px;
    background: #9a6741;
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}
.friend-request-actions button.profile {
    min-width: 90px;
    border: 1px solid #cba98f;
    background: #fff;
    color: #825739;
}
.friend-request-actions button.accept {
    border-color: #cba98f !important;
    background: #fff !important;
    color: #825739 !important;
    box-shadow: none;
}
.friend-request-actions button.reject {
    border: 1px solid #dfcfc2;
    background: #fff;
    color: #8a6650;
}
.friend-request-actions button:disabled {
    cursor: wait;
    opacity: .68;
}
.friend-request-actions button.accept:disabled {
    border-color: #cba98f !important;
    background: #fff !important;
    color: #825739 !important;
}
.friend-request-state {
    margin: 0;
    padding: 18px 12px;
    border-radius: 13px;
    background: #f8f3ef;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
}
.friend-request-state.error { color: #a14e45; }
@media (max-width: 700px) {
    .friend-request-inbox {
        margin-bottom: 26px;
        padding: 17px 13px;
        border-radius: 17px;
    }
    .friend-request-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
    }
    .friend-request-avatar { width: 42px; border-radius: 12px; }
    .friend-request-actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }
    .friend-request-actions button {
        min-width: 0;
        width: 100%;
        padding: 0 5px;
        font-size: 11px;
    }
}
.friend-profile-setting-title span{display:inline}
.friend-profile-setting-title span+span::before{content:" "}
@media(max-width:800px){
    .friend-filter-bar .friend-profile-setting-title{
        overflow:visible;
        line-height:1.18;
        text-overflow:clip;
        white-space:normal;
    }
    .friend-filter-bar .friend-profile-setting-title span{display:block}
    .friend-filter-bar .friend-profile-setting-title span+span::before{content:none}
}
