/*
 * 비정사진담 responsive layer v92
 * ------------------------------------------------------------
 * 원칙
 *  - 기존 모바일 UI/기능을 기준으로 유지한다.
 *  - 768px 이상에서만 레이아웃을 확장한다.
 *  - app.js / server.js / DB / NAS 미디어 구조를 건드리지 않는다.
 *  - 기존 DOM과 버튼을 그대로 사용해 PC에서도 모든 기능이 동일하게 동작한다.
 */

/* 공통: 폭이 작은 화면에서 긴 문자열/첨부파일명이 레이아웃을 밀지 않게 한다. */
img, video, canvas { max-width: 100%; }
.bp-resource-file,
.bp-comment-body,
.bp-q-body,
.bp-feed-info,
.bp-profile-meta { min-width: 0; overflow-wrap: anywhere; }

/* 관리자 화면은 작은 화면에서도 표/차트가 페이지 전체 폭을 깨지 않게 한다. */
body.bp-page-admin main { min-width: 0; }
body.bp-page-admin table { width: 100%; }
body.bp-page-admin .overflow-x-auto { -webkit-overflow-scrolling: touch; }

/* --------------------------------------------------------------------------
   Tablet 768 ~ 1023
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1023px) {
  /* 430px 모바일 프레임을 태블릿부터 해제해 실제 화면 폭을 사용한다. */
  body.bp-responsive-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-shadow: none !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
  }

  body.bp-responsive-page > main {
    width: 100% !important;
    max-width: 900px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.bp-responsive-page > header {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  /* 피드백 개인 화면은 원본 DOM에 fixed 클래스가 남아 있어 mobile.css의
     430px 중앙 고정값이 적용될 수 있다. 태블릿부터 해당 값을 완전히 해제한다. */
  body.bp-responsive-page > header[class~="fixed"][class~="w-full"] {
    left: auto !important;
    right: auto !important;
    transform: none !important;
    max-width: none !important;
  }

  .viewfinder-frame,
  .bp-topic,
  .bp-feed-search,
  .bp-vote-status,
  .bp-bijeong-archive-search,
  .bp-admin-preview-note {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .bp-feed-card {
    width: min(100%, 640px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .bp-host-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  body.bp-page-qna main > .grid,
  body.bp-page-resources main > .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.bp-page-upload main form,
  body.bp-page-qna-write main form,
  body.bp-page-resource-upload main form {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }

  .bp-guide {
    width: min(760px, calc(100vw - 72px)) !important;
  }
}

/* --------------------------------------------------------------------------
   Desktop 1024+
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  :root {
    --bp-desktop-nav: 236px;
    --bp-desktop-content: 1180px;
    --bp-desktop-reading: 760px;
    --bp-desktop-feed: 700px;
  }

  html { min-width: 1024px; }

  /* mobile.css 의 430px 앱 프레임 값을 PC에서는 완전히 해제한다.
     이 리셋이 없으면 1024px 전후 창에서 body가 가운데 430px로 남고,
     좌측 메뉴의 translateX(-50%)까지 겹쳐 메뉴 절반이 화면 밖으로 잘린다. */
  body.bp-responsive-page {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 1024px;
    min-height: 100vh;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--bp-desktop-nav);
    background: #f7f6f5 !important;
    box-shadow: none !important;
    overflow-x: hidden;
  }

  /* 상단 앱바 */
  body.bp-responsive-page > header {
    position: sticky !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    max-width: none !important;
    width: 100% !important;
    min-height: 72px !important;
    height: 72px !important;
    padding-left: 38px !important;
    padding-right: 38px !important;
    box-sizing: border-box;
    justify-content: flex-start !important;
    gap: 10px !important;
    background: rgba(250,249,249,.96) !important;
    border-bottom: 1px solid rgba(27,28,28,.10) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  body.bp-responsive-page > header > h1 {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap;
    cursor: pointer;
    text-align: center !important;
  }

  body.bp-responsive-page > header > button:first-child { margin-left: -6px !important; }
  body.bp-responsive-page > header > button:last-child { margin-left: auto !important; margin-right: -6px !important; }

  /* 기존 모바일 하단 메뉴를 PC 좌측 메뉴로 재사용한다. 버튼 DOM/이벤트는 그대로다. */
  body.bp-responsive-page > nav.fixed.bottom-0 {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: var(--bp-desktop-nav) !important;
    max-width: none !important;
    height: 100dvh !important;
    transform: none !important;
    min-height: 620px;
    padding: 30px 18px 22px !important;
    box-sizing: border-box;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 6px !important;
    background: #fff !important;
    border-top: 0 !important;
    border-right: 1px solid rgba(27,28,28,.10) !important;
    box-shadow: 8px 0 26px rgba(27,28,28,.025);
    z-index: 70 !important;
  }

  /* v79: PC 좌측 상단의 별도 브랜드 문구는 제거한다. */
  body.bp-responsive-page > nav.fixed.bottom-0::before {
    content: none !important;
    display: none !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0::after {
    content: "귤커뮤니티";
    display: block;
    margin: auto 10px 2px;
    padding-top: 18px;
    border-top: 1px solid rgba(27,28,28,.08);
    color: #9a9d9d;
    font-family: "Space Grotesk", Manrope, sans-serif;
    font-size: 9px;
    line-height: 1.4;
    letter-spacing: .02em;
    font-weight: 600;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > button {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box;
    flex: 0 0 48px !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    border: 0 !important;
    border-left: 3px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #686b6b !important;
    transition: background .15s ease, color .15s ease, transform .15s ease !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > button:hover {
    background: #f2f1f0 !important;
    color: #1b1c1c !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > button.border-t-2,
  body.bp-responsive-page > nav.fixed.bottom-0 > button.font-bold {
    border-left-color: #1b1c1c !important;
    background: #1b1c1c !important;
    color: #fff !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > button > .material-symbols-outlined {
    width: 25px;
    margin: 0 !important;
    flex: 0 0 25px;
    font-size: 22px !important;
    text-align: center;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > button > span:last-child {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    text-transform: none !important;
  }

  /* 본문 */
  body.bp-responsive-page > main {
    width: 100% !important;
    max-width: var(--bp-desktop-content) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 34px 44px 64px !important;
    box-sizing: border-box;
    min-width: 0;
  }

  body.bp-responsive-page > main.safe-pb,
  body.bp-responsive-page .safe-pb { padding-bottom: 64px !important; }

  /* 피드 / 비정사진담 */
  body.bp-page-feed .viewfinder-frame {
    width: 100% !important;
    max-width: var(--bp-desktop-feed) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px !important;
  }

  .bp-feed-card {
    width: min(100%, 660px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px 12px 16px !important;
    border-radius: 10px !important;
    box-shadow: 0 11px 30px rgba(0,0,0,.08) !important;
  }

  .bp-feed-card h3 { font-size: 15px !important; line-height: 21px !important; }
  .bp-feed-card .bp-feed-info > p { font-size: 12px !important; line-height: 18px !important; }
  .bp-feed-card .bp-author { font-size: 12px !important; }
  .bp-feed-card .bp-time { font-size: 10px !important; }
  .bp-feed-actions { gap: 18px !important; }

  .bp-topic,
  .bp-feed-search,
  .bp-vote-status,
  .bp-bijeong-archive-search,
  .bp-admin-preview-note {
    width: min(100%, var(--bp-desktop-feed)) !important;
    max-width: var(--bp-desktop-feed) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .bp-topic h2 { font-size: 38px !important; }
  .bp-feed-search-row { min-height: 48px !important; }
  .bp-feed-search-row input,
  .bp-feed-search-row button { height: 48px !important; }

  /* 업로드 / 글쓰기 / 프로필 편집은 읽기 좋은 폭으로 제한 */
  body.bp-page-upload > main,
  body.bp-page-profile-edit > main,
  body.bp-page-qna-write > main,
  body.bp-page-qna-detail > main,
  body.bp-page-resource-upload > main,
  body.bp-page-comments > main,
  body.bp-page-archive > main {
    max-width: 980px !important;
  }

  body.bp-page-upload .viewfinder-frame,
  body.bp-page-profile-edit .viewfinder-frame,
  body.bp-page-qna-write .viewfinder-frame,
  body.bp-page-qna-detail .viewfinder-frame,
  body.bp-page-resource-upload .viewfinder-frame,
  body.bp-page-comments .viewfinder-frame,
  body.bp-page-archive .viewfinder-frame {
    width: min(100%, 820px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.bp-page-upload main form,
  body.bp-page-qna-write main form,
  body.bp-page-resource-upload main form {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 프로필 */
  body.bp-page-profile .viewfinder-frame {
    width: min(100%, 760px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.bp-page-profile .bp-account-area,
  body.bp-page-profile .bp-account-detail {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 진행자 */
  .bp-host-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  body.bp-page-host-feed .viewfinder-frame {
    width: min(100%, var(--bp-desktop-feed)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* v82: Q&A / 자료실의 본문 축을 피드와 동일하게 "사이드바를 제외한 영역의 정중앙"에 고정한다.
     기존처럼 거의 전체 폭을 채우면 왼쪽에 붙어 보일 수 있어, PC에서는 읽기 폭도 함께 제한한다. */
  body.bp-page-qna > main,
  body.bp-page-resources > main {
    width: min(860px, calc(100% - 72px)) !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }

  body.bp-page-qna > main > *,
  body.bp-page-resources > main > * {
    box-sizing: border-box;
    max-width: 100% !important;
    margin-left: auto;
    margin-right: auto;
  }

  body.bp-page-qna .bp-cat-title,
  body.bp-page-qna .bp-cat-scroll-shell,
  body.bp-page-qna main > .viewfinder-frame,
  body.bp-page-qna main > .grid,
  body.bp-page-qna main > .mb-lg,
  body.bp-page-qna main > .mb-md,
  body.bp-page-qna main > .mb-sm,
  body.bp-page-resources .bp-cat-scroll-shell,
  body.bp-page-resources main > .grid,
  body.bp-page-resources main > .mb-lg,
  body.bp-page-resources main > .mb-md,
  body.bp-page-resources main > .mb-sm {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Q&A / 자료실: PC에서는 카드형 2~3열 */
  body.bp-page-qna main > .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  body.bp-page-resources main > .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  /* v79: PC에서는 Q&A / 자료실의 페이지 제목을 화면 중앙 축에 맞춘다. */
  body.bp-page-qna > main > .mb-lg {
    position: relative;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  body.bp-page-qna > main > .mb-lg > div:first-child {
    width: 100%;
    text-align: center !important;
  }

  body.bp-page-resources > main > .mb-sm:first-child {
    text-align: center !important;
  }

  .bp-cat-scroll-shell {
    grid-template-columns: 30px minmax(0,1fr) 30px !important;
    gap: 8px !important;
  }

  .bp-cat-scroll-btn { width: 30px !important; }

  /* 동적 팝업/패널 */
  .bp-noti {
    top: 78px !important;
    right: 26px !important;
    width: min(420px, calc(100vw - var(--bp-desktop-nav) - 52px)) !important;
    max-height: calc(100dvh - 100px) !important;
  }

  .bp-profile { width: min(520px, calc(100vw - 320px)) !important; }
  .bp-ask { width: min(520px, calc(100vw - 320px)) !important; }

  .bp-guide {
    width: min(900px, calc(100vw - var(--bp-desktop-nav) - 90px)) !important;
    max-height: min(880px, calc(100dvh - 64px)) !important;
  }

  /* 피드 사진 확대창: JS가 계산한 실제 사진 폭을 그대로 사용해
     사진 오른쪽과 내용/댓글 패널 사이에 빈 공간이 생기지 않게 한다. */
  .bp-lightbox .bp-lb-inner {
    width: var(--bp-lb-width, min(1200px, calc(100vw - 40px))) !important;
    max-width: min(1200px, calc(100vw - 40px)) !important;
    gap: 0 !important;
  }

  .bp-lightbox .bp-lb-media,
  .bp-lightbox .bp-lb-side {
    margin: 0 !important;
  }

  /* X와 좌/우 화살표를 실제 사진 가장자리에서 같은 16px 간격으로 정렬한다. */
  .bp-lightbox .bp-lb-close {
    top: 16px !important;
    right: 16px !important;
  }

  .bp-lightbox .bp-arrow.prev { left: 16px !important; }
  .bp-lightbox .bp-arrow.next { right: 16px !important; }

  .bp-mention-suggest { max-width: 360px !important; }

  /* 데스크톱 hover는 터치 화면에 영향 없이 보조 피드백만 추가 */
  @media (hover: hover) {
    .bp-feed-card,
    .polaroid-card { transition: box-shadow .16s ease, transform .16s ease; }
    .bp-feed-card:hover { box-shadow: 0 14px 34px rgba(0,0,0,.105) !important; }
  }

  /* 로그인/가입 페이지는 사이드 메뉴가 없으므로 중앙 카드만 넉넉하게. */
  body.bp-page-login,
  body.bp-page-signup {
    padding-left: 0 !important;
    min-width: 1024px;
  }

  body.bp-page-login > main,
  body.bp-page-signup > main {
    max-width: 760px !important;
    padding-left: 44px !important;
    padding-right: 44px !important;
  }
}


/* v91: 내 댓글 화면의 ㄱ/ㄴ 형태 뷰파인더 코너 장식 제거 */
body.bp-page-comments .viewfinder-frame::before,
body.bp-page-comments .viewfinder-frame::after {
  display: none !important;
  content: none !important;
}

/* v91: 내 게시글 제목/설명이 왼쪽 뷰파인더 코너에 붙지 않도록 살짝 간격 확보 */
body.bp-page-archive .bp-archive-heading-copy {
  padding-left: 10px;
}

/* --------------------------------------------------------------------------
   Compact desktop 1024 ~ 1199
   - 분할 화면/작은 PC 창에서도 좌측 메뉴가 잘리지 않고 본문 폭을 확보한다.
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) and (max-width: 1199px) {
  :root {
    --bp-desktop-nav: 196px;
    --bp-desktop-content: 100%;
    --bp-desktop-reading: 720px;
    --bp-desktop-feed: 650px;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > button {
    padding-left: 11px !important;
    padding-right: 11px !important;
    gap: 9px !important;
  }

  body.bp-responsive-page > main {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  body.bp-responsive-page > header {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

/* --------------------------------------------------------------------------
   Wide desktop 1440+
   -------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  :root {
    --bp-desktop-nav: 252px;
    --bp-desktop-content: 1280px;
    --bp-desktop-feed: 740px;
  }

  body.bp-responsive-page > main {
    padding-left: 56px !important;
    padding-right: 56px !important;
  }

  .bp-feed-card { width: min(100%, 690px) !important; }

  body.bp-page-qna main > .grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  body.bp-page-resources main > .grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}

/* --------------------------------------------------------------------------
   Admin responsive - 사용자 데이터/통계 로직은 그대로 두고 레이아웃만 조정
   -------------------------------------------------------------------------- */
body.bp-page-admin { overflow-x: hidden; }
body.bp-page-admin #analytics-chart,
body.bp-page-admin #analytics-tags,
body.bp-page-admin #analytics-members { min-width: 0; }

@media (max-width: 767px) {
  body.bp-page-admin > header > div {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.bp-page-admin > header h1 { font-size: 20px !important; }
  body.bp-page-admin > header nav { display: none !important; }
  body.bp-page-admin > header a[href="/feed"] { padding: 7px 10px !important; font-size: 11px !important; }

  body.bp-page-admin > main {
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-top: 26px !important;
  }

  body.bp-page-admin .polaroid-card { padding: 16px !important; }
  body.bp-page-admin #analytics-section .grid { min-width: 0; }
  body.bp-page-admin input,
  body.bp-page-admin select,
  body.bp-page-admin textarea { max-width: 100%; }

  body.bp-page-admin .host-crop-dialog { width: calc(100vw - 16px); }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.bp-page-admin > main {
    max-width: 1080px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

}

@media (min-width: 1200px) {
  body.bp-page-admin > main {
    max-width: 1320px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* ========================================================================== 
   v83 - PC 반응형 정렬 보정
   1) 내 게시글(/archive)의 좌측 메뉴는 <a>, 프로필 화면은 <button>을 사용한다.
      두 DOM을 완전히 같은 사이드바 스타일로 통일한다.
   2) Q&A / 자료실의 빈 상태와 실제 등록 카드가 항상 본문 중앙 축에 놓이게 한다.
   ========================================================================== */
@media (min-width: 1024px) {
  /* 내 게시글 화면의 <a> 메뉴를 일반 프로필 화면의 <button> 메뉴와 동일하게 표시 */
  body.bp-responsive-page > nav.fixed.bottom-0 > a {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box;
    flex: 0 0 48px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    border: 0 !important;
    border-left: 3px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #686b6b !important;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease, transform .15s ease !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > a:hover {
    background: #f2f1f0 !important;
    color: #1b1c1c !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > a.border-t-2,
  body.bp-responsive-page > nav.fixed.bottom-0 > a.font-bold {
    border-left-color: #1b1c1c !important;
    background: #1b1c1c !important;
    color: #fff !important;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > a > .material-symbols-outlined {
    width: 25px;
    margin: 0 !important;
    flex: 0 0 25px;
    font-size: 22px !important;
    text-align: center;
  }

  body.bp-responsive-page > nav.fixed.bottom-0 > a > span:last-child {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .035em !important;
    text-transform: none !important;
  }

  /* Q&A 질문 목록과 자료실 카드 영역 자체를 본문 중앙에 고정한다. */
  body.bp-page-qna main > .viewfinder-frame,
  body.bp-page-resources main > .grid {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 380px)) !important;
    justify-content: center !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 22px !important;
  }

  /* 데이터가 0개일 때도 점선 안내창이 왼쪽 셀에 붙지 않고 정확히 중앙에 표시된다. */
  body.bp-page-qna main > .viewfinder-frame > .bp-empty,
  body.bp-page-resources main > .grid > .bp-empty {
    grid-column: 1 / -1 !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* 실제 글이 1개만 있어도 첫 칸 왼쪽으로 붙지 않고 가운데 오도록 카드 폭을 통일한다. */
  body.bp-page-qna main > .viewfinder-frame > article,
  body.bp-page-resources main > .grid > article {
    width: 100% !important;
    max-width: 380px !important;
    justify-self: center !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  body.bp-responsive-page > nav.fixed.bottom-0 > a {
    padding-left: 11px !important;
    padding-right: 11px !important;
    gap: 9px !important;
  }

  body.bp-page-qna main > .viewfinder-frame,
  body.bp-page-resources main > .grid {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 360px)) !important;
  }

  body.bp-page-qna main > .viewfinder-frame > article,
  body.bp-page-resources main > .grid > article {
    max-width: 360px !important;
  }
}



/* ========================================================================== 
   v84 - PC Q&A / 자료실 카테고리 중앙 정렬 + 사이드바 하단 문구 변경
   ========================================================================== */
@media (min-width: 1024px) {
  /* 카테고리 영역 자체를 Q&A/자료실 카드 축과 동일한 중앙 폭으로 맞춘다. */
  body.bp-page-qna .bp-cat-scroll-shell,
  body.bp-page-resources .bp-cat-scroll-shell {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 버튼이 한 줄에 모두 들어가는 경우 카테고리 버튼 묶음을 정확히 중앙에 배치한다.
     실제로 넘치는 경우에는 기존 가로 스크롤/휠/화살표 동작을 유지한다. */
  body.bp-page-qna .bp-cat-scroll-shell.bp-no-overflow .bp-category-scroll,
  body.bp-page-resources .bp-cat-scroll-shell.bp-no-overflow .bp-category-scroll {
    justify-content: center !important;
  }

  /* Q&A의 '전체 질문 n개' 상태 문구도 카테고리 축과 맞춘다. */
  body.bp-page-qna .bp-cat-title {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  body.bp-page-qna .bp-cat-scroll-shell,
  body.bp-page-resources .bp-cat-scroll-shell,
  body.bp-page-qna .bp-cat-title {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
  }
}

/* ========================================================================== 
   v93 - 피드백 / 프로필 둥근 사각형 디자인 통일
   ========================================================================== */
:root {
  --bp-rounded-card: 16px;
  --bp-rounded-inner: 12px;
}

/* 피드백 목록: 각 인원 카드를 둥근 사각형 카드로 통일 */
body.bp-page-hosts .bp-host-grid > article {
  border-radius: var(--bp-rounded-card) !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(18,18,18,.055) !important;
}
body.bp-page-hosts .bp-host-grid > article > div:first-child {
  border-radius: var(--bp-rounded-inner) !important;
  overflow: hidden !important;
}
body.bp-page-hosts .bp-host-grid > article button {
  border-radius: 10px !important;
}

/* 개별 피드백 화면: 진행자 소개 영역을 뷰파인더 대신 둥근 사각형 패널로 */
body.bp-page-host-feed main > section:first-of-type {
  box-sizing: border-box !important;
  width: 100% !important;
  padding: 18px 16px !important;
  border: 1px solid rgba(18,18,18,.12) !important;
  border-radius: var(--bp-rounded-card) !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(18,18,18,.045) !important;
  overflow: hidden !important;
}
body.bp-page-host-feed main > section:first-of-type > div.absolute {
  display: none !important;
}

/* 피드백 게시글 카드와 내부 사진도 같은 라운드 계열로 */
body.bp-page-host-feed .bp-feed-card,
body.bp-page-host-feed .bp-feedback-card,
body.bp-page-host-feed main > .flex.flex-col.gap-md > article {
  border-radius: var(--bp-rounded-card) !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(18,18,18,.055) !important;
}
body.bp-page-host-feed .bp-feed-card .bp-feed-photo,
body.bp-page-host-feed .bp-feedback-card .bp-feed-photo,
body.bp-page-host-feed .bp-feed-card img,
body.bp-page-host-feed .bp-feedback-card img {
  border-radius: var(--bp-rounded-inner) !important;
}

/* 메모형 피드백 노트도 둥근 사각형으로 정리 */
body.bp-page-host-feed .bp-feedback-comments {
  border-radius: var(--bp-rounded-card) !important;
  overflow: hidden !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form input,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button {
  border-radius: 10px !important;
}

/* 프로필 메인 패널: 뷰파인더 장식 대신 둥근 사각형 */
body.bp-page-profile .viewfinder-frame {
  box-sizing: border-box !important;
  border: 1px solid rgba(18,18,18,.12) !important;
  border-radius: var(--bp-rounded-card) !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(18,18,18,.045) !important;
  overflow: hidden !important;
  padding: 18px !important;
}
body.bp-page-profile .viewfinder-frame::before,
body.bp-page-profile .viewfinder-frame::after {
  display: none !important;
  content: none !important;
}

/* 프로필 메뉴 항목도 동일한 둥근 카드 디자인 */
body.bp-page-profile main nav > a.polaroid-card,
body.bp-page-profile main nav > button,
body.bp-page-profile .bp-profile-guide-link {
  border: 1px solid rgba(18,18,18,.12) !important;
  border-radius: var(--bp-rounded-inner) !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
body.bp-page-profile main nav > a.polaroid-card:hover,
body.bp-page-profile main nav > button:hover,
body.bp-page-profile .bp-profile-guide-link:hover {
  background: #f6f4f3 !important;
}

/* 프로필 수정의 바깥 카드와 계정/보안 패널도 같은 라운드 계열.
   이름/이메일/소개 입력칸은 이전 요청대로 직각/밑줄 형태를 유지한다. */
body.bp-page-profile-edit main > div.w-full.bg-surface-container-lowest,
body.bp-page-profile-edit .bp-auth-panel,
body.bp-page-profile-edit .bp-account-menu button {
  border-radius: var(--bp-rounded-card) !important;
}
body.bp-page-profile-edit main > div.w-full.bg-surface-container-lowest {
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(18,18,18,.045) !important;
}
body.bp-page-profile-edit main > div.w-full.bg-surface-container-lowest > .viewfinder-corner {
  display: none !important;
}
body.bp-page-profile-edit .bp-account-menu button {
  border-radius: var(--bp-rounded-inner) !important;
}

@media (max-width: 767px) {
  body.bp-page-host-feed main > section:first-of-type,
  body.bp-page-profile .viewfinder-frame,
  body.bp-page-profile-edit main > div.w-full.bg-surface-container-lowest {
    border-radius: 14px !important;
  }
}


/* ==========================================================================
   v94 - Q&A / 자료실 라운드 UI + 피드백 포스트잇 노트/확대창
   ========================================================================== */

/* Q&A / 자료실 카테고리: 각진 탭 대신 둥근 사각형 칩 */
body.bp-page-qna .bp-cat,
body.bp-page-resources .bp-cat {
  border-radius: 12px !important;
  min-height: 38px !important;
  padding: 8px 15px !important;
  box-shadow: 0 2px 7px rgba(18,18,18,.035) !important;
}
body.bp-page-qna .bp-cat.on,
body.bp-page-qna .bp-cat[aria-pressed=\"true\"],
body.bp-page-resources .bp-cat.on,
body.bp-page-resources .bp-cat[aria-pressed=\"true\"] {
  border-radius: 12px !important;
  box-shadow: 0 4px 10px rgba(18,18,18,.10) !important;
}
body.bp-page-qna .bp-cat-scroll-btn,
body.bp-page-resources .bp-cat-scroll-btn {
  border-radius: 10px !important;
}

/* Q&A 질문 카드 / 자료실 카드도 같은 둥근 사각형 언어로 통일 */
body.bp-page-qna main > .viewfinder-frame,
body.bp-page-qna main > .grid,
body.bp-page-resources main > .grid {
  border-radius: 18px !important;
}
body.bp-page-qna main > .viewfinder-frame > article,
body.bp-page-qna main > .grid > article,
body.bp-page-resources main > .grid > article {
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(18,18,18,.11) !important;
  box-shadow: 0 6px 18px rgba(18,18,18,.05) !important;
}
body.bp-page-qna main article > div,
body.bp-page-resources main article > div {
  border-radius: 12px !important;
}
body.bp-page-qna main article span[class*=\"border\"],
body.bp-page-resources main article span[class*=\"border\"] {
  border-radius: 9px !important;
}
body.bp-page-resources main article .aspect-\\[4\\/3\\],
body.bp-page-resources main article .relative.overflow-hidden {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* 피드백 카드 안의 노트를 실제 포스트잇처럼 재디자인 */
body.bp-page-host-feed .bp-feedback-comments {
  position: relative !important;
  margin-top: 14px !important;
  padding: 25px 18px 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff3a6 !important;
  background-image: none !important;
  box-shadow: 0 10px 22px rgba(83,68,24,.16), 0 2px 4px rgba(83,68,24,.10) !important;
  overflow: visible !important;
  transform: rotate(-.18deg);
}
body.bp-page-host-feed .bp-feedback-comments::before {
  content: \"\" !important;
  position: absolute !important;
  top: -8px !important;
  left: 50% !important;
  bottom: auto !important;
  width: 72px !important;
  height: 18px !important;
  transform: translateX(-50%) rotate(.8deg) !important;
  background: rgba(239,220,151,.72) !important;
  border: 0 !important;
  box-shadow: 0 1px 2px rgba(70,58,20,.08) !important;
  pointer-events: none !important;
}
body.bp-page-host-feed .bp-feedback-comments::after {
  content: \"\";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 22px;
  height: 22px;
  border-radius: 12px 0 12px 0;
  background: linear-gradient(135deg, rgba(215,194,91,.16) 0 49%, rgba(210,187,74,.30) 50% 100%);
  pointer-events: none;
}
body.bp-page-host-feed .bp-feedback-note-title {
  display: grid !important;
  grid-template-columns: 24px 1fr !important;
  color: #4b421e !important;
  margin-bottom: 12px !important;
}
body.bp-page-host-feed .bp-feedback-note-title .material-symbols-outlined {
  color: #78691f !important;
}
body.bp-page-host-feed .bp-feedback-note-title small {
  color: #786d3e !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment {
  padding: 10px 3px 11px !important;
  border-bottom: 1px dashed rgba(104,88,32,.22) !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment:last-child {
  border-bottom: 0 !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form {
  border-top: 1px dashed rgba(104,88,32,.30) !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form input {
  border: 1px solid rgba(116,98,37,.28) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.44) !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button {
  border-radius: 8px !important;
  background: #6c5c20 !important;
}

/* 피드백 사진 확대창: 사진 오른쪽에 포스트잇 보드를 표시 */
.bp-lightbox.bp-lightbox-feedback .bp-lb-inner {
  border-radius: 16px !important;
  background: #eee9de !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-media {
  border-radius: 16px 0 0 16px !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-side {
  flex-basis: 380px !important;
  border-left: 0 !important;
  background: #ece7dc !important;
  padding: 14px !important;
  gap: 10px !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-head {
  border: 0 !important;
  border-radius: 12px !important;
  padding: 13px 14px !important;
  background: rgba(255,255,255,.72) !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 4px 5px 12px !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-list > .bp-comment-hint {
  margin: 8px 0 !important;
  padding: 28px 18px !important;
  border-radius: 10px !important;
  background: #fff3a6 !important;
  color: #786d3e !important;
  box-shadow: 0 8px 18px rgba(83,68,24,.13) !important;
  text-align: center !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky {
  position: relative !important;
  margin: 0 !important;
  padding: 16px 15px 15px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #fff3a6 !important;
  color: #41391a !important;
  box-shadow: 0 8px 18px rgba(83,68,24,.14), 0 1px 3px rgba(83,68,24,.08) !important;
  transform: rotate(-.45deg);
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky-2 {
  background: #ffe7a8 !important;
  transform: rotate(.38deg);
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky-3 {
  background: #f6efad !important;
  transform: rotate(-.12deg);
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky::before {
  content: \"\";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 48px;
  height: 12px;
  transform: translateX(-50%);
  background: rgba(238,218,151,.62);
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-head {
  color: #8a7c44 !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-head strong,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-body {
  color: #41391a !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-body {
  margin-top: 7px !important;
  line-height: 1.7 !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot {
  border: 0 !important;
  border-radius: 12px !important;
  padding: 12px !important;
  background: #fff3a6 !important;
  box-shadow: 0 8px 18px rgba(83,68,24,.12) !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form {
  gap: 7px !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form input {
  border-color: rgba(116,98,37,.30) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.50) !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button {
  border-radius: 8px !important;
  background: #6c5c20 !important;
}

@media (max-width: 820px) {
  .bp-lightbox.bp-lightbox-feedback .bp-lb-media {
    border-radius: 14px 14px 0 0 !important;
  }
  .bp-lightbox.bp-lightbox-feedback .bp-lb-side {
    flex-basis: auto !important;
    padding: 10px !important;
    border-top: 0 !important;
  }
  .bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky {
    transform: none !important;
  }
}


/* ==========================================================================
   v95 - 지정 화면 라운드 통일 / 피드백 이름 중앙 / PC 피드 정렬 위치
   ========================================================================== */

:root {
  --bp-v95-card-radius: 18px;
  --bp-v95-inner-radius: 12px;
  --bp-v95-control-radius: 10px;
}

/* 업로드: 바깥 카드, 사진 선택 영역, 피드 선택, 입력/버튼의 남은 각진 모서리 정리 */
body.bp-page-upload .viewfinder-frame,
body.bp-page-upload .polaroid-card,
body.bp-page-upload #upload-zone,
body.bp-page-upload #upload-zone > div,
body.bp-page-upload .bp-upload-feed-select,
body.bp-page-upload .bp-upload-progress-card {
  border-radius: var(--bp-v95-card-radius) !important;
  overflow: hidden;
}
body.bp-page-upload .bp-upload-feed-select {
  border-radius: 14px !important;
}
body.bp-page-upload .bp-upload-feed-select button,
body.bp-page-upload input:not([type="file"]),
body.bp-page-upload textarea,
body.bp-page-upload select,
body.bp-page-upload form button:not(.bp-emoji-btn),
body.bp-page-upload .bp-tag,
body.bp-page-upload [class*="border-dashed"] {
  border-radius: var(--bp-v95-control-radius) !important;
}
body.bp-page-upload #upload-zone > .border-dashed {
  border-radius: 14px !important;
}

/* Q&A 목록/작성/상세: 카드 안쪽과 컨트롤까지 둥근 사각형으로 통일 */
body.bp-page-qna .viewfinder-frame,
body.bp-page-qna main > .grid,
body.bp-page-qna .polaroid-card,
body.bp-page-qna .bp-empty,
body.bp-page-qna-write form,
body.bp-page-qna-detail .polaroid-card {
  border-radius: var(--bp-v95-card-radius) !important;
}
body.bp-page-qna main article,
body.bp-page-qna main article > div,
body.bp-page-qna .bp-cat,
body.bp-page-qna .bp-cat-scroll-btn,
body.bp-page-qna-write input,
body.bp-page-qna-write textarea,
body.bp-page-qna-write select,
body.bp-page-qna-write form button,
body.bp-page-qna-detail input,
body.bp-page-qna-detail textarea,
body.bp-page-qna-detail button,
body.bp-page-qna-detail .bp-q-cat,
body.bp-page-qna-detail .bp-comment,
body.bp-page-qna-detail .bp-answer-list > div {
  border-radius: var(--bp-v95-inner-radius) !important;
}
body.bp-page-qna main article span[class*="border"] {
  border-radius: 999px !important;
}

/* 자료실 목록/업로드: 카드, 파일, 태그, 사진 선택과 폼 컨트롤 라운드 통일 */
body.bp-page-resources main > .grid,
body.bp-page-resources .bp-empty,
body.bp-page-resource-upload form {
  border-radius: var(--bp-v95-card-radius) !important;
}
body.bp-page-resources main article,
body.bp-page-resources main article > div,
body.bp-page-resources .bp-resource-file,
body.bp-page-resources .bp-cat,
body.bp-page-resources .bp-cat-scroll-btn,
body.bp-page-resource-upload input,
body.bp-page-resource-upload textarea,
body.bp-page-resource-upload select,
body.bp-page-resource-upload form button,
body.bp-page-resource-upload form [class*="border-dashed"],
body.bp-page-resource-upload form span[class*="border"] {
  border-radius: var(--bp-v95-inner-radius) !important;
}
body.bp-page-resources main article .aspect-\[4\/3\],
body.bp-page-resources main article .relative.overflow-hidden,
body.bp-page-resource-upload form [class*="overflow-hidden"] {
  border-radius: var(--bp-v95-inner-radius) !important;
  overflow: hidden !important;
}
body.bp-page-resource-upload form span[class*="border"] {
  border-radius: 999px !important;
}

/* 프로필 > 내 댓글: 원문 카드/댓글 카드/답글 입력까지 모두 둥근 사각형 */
body.bp-page-comments .viewfinder-frame,
body.bp-page-comments .bp-my-comment,
body.bp-page-comments .polaroid-card,
body.bp-page-comments .bp-empty {
  border-radius: var(--bp-v95-card-radius) !important;
  overflow: hidden !important;
}
body.bp-page-comments .bp-my-comment-context,
body.bp-page-comments .bp-my-comment-thumb,
body.bp-page-comments .bp-my-comment-reply-to,
body.bp-page-comments .bp-comment,
body.bp-page-comments .bp-reply-form input,
body.bp-page-comments .bp-reply-form > button,
body.bp-page-comments .bp-comment-inline-editor,
body.bp-page-comments .bp-comment-inline-editor textarea,
body.bp-page-comments .bp-comment-inline-editor button,
body.bp-page-comments article > div {
  border-radius: var(--bp-v95-inner-radius) !important;
}
body.bp-page-comments .bp-my-comment-context {
  overflow: hidden !important;
}

/* 피드백 목록: 각 인원의 이름은 카드의 정확한 가운데에 정렬 */
body.bp-page-hosts .bp-host-grid article h2,
.bp-host-grid article h2 {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* PC: 최신순/좋아요순(비정사진담에서는 투표순) 버튼의 오른쪽 끝을 피드 프레임과 정확히 맞춘다. */
@media (min-width: 1024px) {
  body.bp-page-feed .bp-feed-sort-row {
    box-sizing: border-box !important;
    width: min(100%, var(--bp-desktop-feed)) !important;
    max-width: var(--bp-desktop-feed) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: flex-end !important;
  }
  body.bp-page-feed #feed-sort {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  body.bp-page-upload .viewfinder-frame,
  body.bp-page-upload .polaroid-card,
  body.bp-page-qna .viewfinder-frame,
  body.bp-page-qna .polaroid-card,
  body.bp-page-resources main article,
  body.bp-page-comments .bp-my-comment {
    border-radius: 14px !important;
  }
}

/* ==========================================================================
   v96 - 텍스트 입력칸 직각 / 버튼·카드·창만 라운드 / 자료실 오렌지 통일
   ========================================================================== */

/* 텍스트를 직접 입력하는 필드는 라운드를 사용하지 않는다. */
body.bp-page-upload input[type="text"],
body.bp-page-upload input[type="email"],
body.bp-page-upload input[type="password"],
body.bp-page-upload input[type="search"],
body.bp-page-upload textarea,
body.bp-page-qna input[type="text"],
body.bp-page-qna input[type="search"],
body.bp-page-qna textarea,
body.bp-page-qna-write input[type="text"],
body.bp-page-qna-write textarea,
body.bp-page-qna-detail input[type="text"],
body.bp-page-qna-detail textarea,
body.bp-page-resources input[type="text"],
body.bp-page-resources input[type="search"],
body.bp-page-resources textarea,
body.bp-page-resource-upload input[type="text"],
body.bp-page-resource-upload textarea,
body.bp-page-profile-edit input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
body.bp-page-profile-edit textarea,
body.bp-page-comments input[type="text"],
body.bp-page-comments textarea,
body.bp-page-comments [contenteditable="true"] {
  border-radius: 0 !important;
}

/* 버튼류와 카드/창류는 기존 라운드 디자인을 유지한다. */
body.bp-page-upload button,
body.bp-page-qna button,
body.bp-page-qna-write button,
body.bp-page-qna-detail button,
body.bp-page-resources button,
body.bp-page-resource-upload button,
body.bp-page-profile-edit button,
body.bp-page-comments button {
  border-radius: 12px !important;
}

body.bp-page-upload .polaroid-card,
body.bp-page-upload .viewfinder-frame,
body.bp-page-qna .polaroid-card,
body.bp-page-qna .viewfinder-frame,
body.bp-page-qna-write form,
body.bp-page-qna-detail .polaroid-card,
body.bp-page-resources main article,
body.bp-page-resources .bp-empty,
body.bp-page-resource-upload form,
body.bp-page-profile-edit .polaroid-card,
body.bp-page-profile-edit .viewfinder-frame,
body.bp-page-comments .bp-my-comment,
body.bp-page-comments .polaroid-card,
body.bp-page-comments .bp-empty {
  border-radius: 18px !important;
}

/* 자료실의 작성 진입 + 버튼과 최종 업로드 버튼은 오렌지색으로 고정 */
body.bp-page-resources button[aria-label="자료 올리기"],
body.bp-page-resources .bp-resource-add-button,
body.bp-page-resource-upload .bp-primary-create-action,
body.bp-page-resource-upload form > .w-full.pt-lg > button {
  background: #FF7A00 !important;
  color: #fff !important;
  border-color: #FF7A00 !important;
  box-shadow: 0 4px 14px rgba(255,122,0,.25) !important;
}
body.bp-page-resources button[aria-label="자료 올리기"]:hover,
body.bp-page-resources .bp-resource-add-button:hover,
body.bp-page-resource-upload .bp-primary-create-action:hover,
body.bp-page-resource-upload form > .w-full.pt-lg > button:hover {
  background: #E96F00 !important;
  border-color: #E96F00 !important;
}


/* ==========================================================================
   v97 - 피드백 댓글을 개별 포스트잇으로 표시 / 색상 선택 / 이모티콘 시인성
   ========================================================================== */

:root {
  --bp-feedback-orange: #ff7a00;
  --bp-feedback-orange-hover: #e96f00;
}

/* 피드백 노트는 포스트잇을 붙이는 보드처럼 보이게 하고, 댓글 자체를 포스트잇으로 분리한다. */
body.bp-page-host-feed .bp-feedback-comments {
  transform: none !important;
  padding: 18px !important;
  border: 1px solid rgba(78, 68, 45, .13) !important;
  border-radius: 16px !important;
  background: #f5f1e8 !important;
  box-shadow: 0 8px 22px rgba(57, 48, 28, .08) !important;
  overflow: hidden !important;
}
body.bp-page-host-feed .bp-feedback-comments::before,
body.bp-page-host-feed .bp-feedback-comments::after {
  display: none !important;
}
body.bp-page-host-feed .bp-feedback-note-title {
  display: grid !important;
  grid-template-columns: 24px 1fr !important;
  align-items: center !important;
  margin: 0 0 15px !important;
  color: #3f3a2f !important;
}
body.bp-page-host-feed .bp-feedback-note-title .material-symbols-outlined {
  color: var(--bp-feedback-orange) !important;
}
body.bp-page-host-feed .bp-feedback-note-title small {
  grid-column: 2 !important;
  margin-top: 2px !important;
  color: #777062 !important;
}

body.bp-page-host-feed .bp-feedback-comments .bp-comment-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 2px 2px 16px !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-comment-hint {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 20px 16px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.62) !important;
  color: #7a7468 !important;
  text-align: center !important;
}

/* 모든 피드백 댓글은 독립 포스트잇 */
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky {
  --bp-sticky-bg: #fff3a6;
  --bp-sticky-tape: rgba(225, 205, 136, .62);
  position: relative !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 20px 14px 14px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--bp-sticky-bg) !important;
  color: #39352b !important;
  box-shadow: 0 8px 18px rgba(69, 58, 34, .13), 0 1px 3px rgba(69, 58, 34, .08) !important;
  overflow: visible !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky::before,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -6px !important;
  left: 50% !important;
  width: 50px !important;
  height: 13px !important;
  transform: translateX(-50%) rotate(-1deg) !important;
  border: 0 !important;
  background: var(--bp-sticky-tape) !important;
  box-shadow: 0 1px 2px rgba(64, 52, 26, .05) !important;
  pointer-events: none !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky:nth-child(3n+1) { transform: rotate(-.35deg) !important; }
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky:nth-child(3n+2) { transform: rotate(.4deg) !important; }
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky:nth-child(3n) { transform: rotate(-.12deg) !important; }

.bp-sticky-yellow { --bp-sticky-bg: #fff3a6 !important; --bp-sticky-tape: rgba(225,205,136,.64) !important; }
.bp-sticky-pink { --bp-sticky-bg: #ffdce6 !important; --bp-sticky-tape: rgba(235,181,197,.66) !important; }
.bp-sticky-mint { --bp-sticky-bg: #dff5df !important; --bp-sticky-tape: rgba(176,219,177,.66) !important; }
.bp-sticky-sky { --bp-sticky-bg: #dfefff !important; --bp-sticky-tape: rgba(176,205,231,.68) !important; }
.bp-sticky-lavender { --bp-sticky-bg: #ece2ff !important; --bp-sticky-tape: rgba(204,187,231,.68) !important; }

body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky .bp-comment-head,
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky .bp-comment-head strong,
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky .bp-comment-body,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-head,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-head strong,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-body {
  color: #39352b !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky .bp-comment-body,
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky .bp-comment-body {
  margin-top: 7px !important;
  line-height: 1.65 !important;
  white-space: pre-wrap !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky .bp-comment-replies {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky .bp-feedback-sticky {
  transform: none !important;
}

/* 포스트잇 색상 선택기 */
.bp-feedback-comments .bp-comment-form,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  padding-top: 13px !important;
  border-top: 1px solid rgba(91, 78, 50, .12) !important;
}
.bp-feedback-color-picker {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  min-height: 30px !important;
}
.bp-feedback-color-label {
  margin-right: 3px !important;
  font: 600 11px/1.2 "Space Grotesk", Manrope, sans-serif !important;
  color: #706a5e !important;
  letter-spacing: .02em !important;
}
.bp-feedback-color-choice {
  position: relative !important;
  width: 34px !important;
  height: 30px !important;
  flex: 0 0 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--bp-sticky-bg, #fff3a6) !important;
  box-shadow: 0 3px 7px rgba(44,38,26,.10) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease !important;
}
/* 색상 선택 버튼 자체가 실제 포스트잇 색상으로 보이게 고정 */
.bp-feedback-color-choice.bp-sticky-yellow { background: #fff3a6 !important; }
.bp-feedback-color-choice.bp-sticky-pink { background: #ffdce6 !important; }
.bp-feedback-color-choice.bp-sticky-mint { background: #dff5df !important; }
.bp-feedback-color-choice.bp-sticky-sky { background: #dfefff !important; }
.bp-feedback-color-choice.bp-sticky-lavender { background: #ece2ff !important; }
.bp-feedback-color-choice::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 8px !important;
  height: 8px !important;
  background: rgba(255,255,255,.42) !important;
  clip-path: polygon(100% 0, 0 100%, 100% 100%) !important;
}
.bp-feedback-color-choice:hover { transform: translateY(-1px) scale(1.04) !important; }
.bp-feedback-color-choice.on {
  border-color: var(--bp-feedback-orange) !important;
  box-shadow: 0 0 0 2px rgba(255,122,0,.20), 0 3px 7px rgba(44,38,26,.10) !important;
  transform: translateY(-1px) scale(1.05) !important;
}

.bp-feedback-write-row {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.bp-feedback-write-row .bp-comment-input-wrap {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
/* 사용자가 직접 텍스트를 쓰는 곳은 이전 요청대로 라운드 없음 */
.bp-feedback-write-row input,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form input,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form input {
  height: 42px !important;
  border: 1px solid rgba(73, 65, 48, .24) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #292722 !important;
}

/* 남기기 버튼과 이모티콘 버튼을 같은 오렌지색으로 통일 */
.bp-feedback-write-row > button[type="submit"],
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"],
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"] {
  min-width: 66px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--bp-feedback-orange) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.bp-feedback-write-row > button[type="submit"]:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"]:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"]:hover {
  background: var(--bp-feedback-orange-hover) !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn {
  width: 30px !important;
  height: 30px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--bp-feedback-orange) !important;
  color: #fff !important;
  opacity: 1 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:focus,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:focus {
  background: var(--bp-feedback-orange-hover) !important;
  color: #fff !important;
}

body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:active,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:active {
  background: var(--bp-feedback-orange) !important;
  color: #fff !important;
}

body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn .material-symbols-outlined,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn .material-symbols-outlined {
  color: #fff !important;
  font-variation-settings: "FILL" 1, "wght" 500, "opsz" 20 !important;
}

/* 확대 화면도 저장된 포스트잇 색상 그대로 사용 */
.bp-lightbox.bp-lightbox-feedback .bp-lb-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 13px !important;
  align-content: start !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-lb-list > .bp-comment-hint {
  grid-column: 1 / -1 !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky {
  transform: none !important;
}
.bp-lightbox.bp-lightbox-feedback .bp-feedback-tilt-1 { transform: rotate(-.4deg) !important; }
.bp-lightbox.bp-lightbox-feedback .bp-feedback-tilt-2 { transform: rotate(.35deg) !important; }
.bp-lightbox.bp-lightbox-feedback .bp-feedback-tilt-3 { transform: rotate(-.1deg) !important; }
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot {
  background: #f5f1e8 !important;
  border-radius: 14px !important;
}

@media (max-width: 640px) {
  body.bp-page-host-feed .bp-feedback-comments .bp-comment-list,
  .bp-lightbox.bp-lightbox-feedback .bp-lb-list {
    grid-template-columns: 1fr !important;
  }
  .bp-feedback-color-label { width: 100% !important; }
  .bp-feedback-write-row { gap: 6px !important; }
  .bp-feedback-write-row > button[type="submit"] { min-width: 60px !important; }
  body.bp-page-host-feed .bp-feedback-comments .bp-feedback-sticky,
  .bp-lightbox.bp-lightbox-feedback .bp-feedback-sticky {
    transform: none !important;
  }
}


/* ==========================================================================
   v99 - Q&A/자료실/피드백 + 버튼 통일 · 피드백 제목 제거 보조 · 포스트잇 색상 가시성 강화
   ========================================================================== */

/* 작성 진입 + 버튼: Q&A를 기준으로 세 영역 모두 동일한 56px 원형 버튼 */
.bp-create-fab,
body.bp-page-qna .bp-qna-add-button,
body.bp-page-resources .bp-resource-add-button,
body.bp-page-host-feed #bp-host-feedback-add,
body.bp-page-host-feed .bp-feedback-add-button {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border: 2px solid #121212 !important;
  border-radius: 999px !important;
  background: #ff7a00 !important;
  color: #fff !important;
  box-shadow: 2px 2px 0 0 rgba(0,0,0,1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.bp-create-fab:hover,
body.bp-page-qna .bp-qna-add-button:hover,
body.bp-page-resources .bp-resource-add-button:hover,
body.bp-page-host-feed #bp-host-feedback-add:hover,
body.bp-page-host-feed .bp-feedback-add-button:hover {
  background: #e96f00 !important;
  color: #fff !important;
}
.bp-create-fab .material-symbols-outlined,
body.bp-page-host-feed #bp-host-feedback-add .material-symbols-outlined {
  font-size: 24px !important;
  line-height: 1 !important;
  color: #fff !important;
}


/* 예전 템플릿이 남아 있어도 피드백 목록의 "진행자 소개" 머리말은 표시하지 않는다. */
body.bp-page-hosts main > .mb-sm.pb-xs {
  display: none !important;
}

/* 포스트잇 색상은 미니 포스트잇 자체와 색상명까지 함께 보여 즉시 구분 */
.bp-feedback-color-picker {
  gap: 8px !important;
}
.bp-feedback-color-choice {
  width: 52px !important;
  height: 38px !important;
  flex: 0 0 52px !important;
  border: 0 !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #403a30 !important;
  text-shadow: 0 1px rgba(255,255,255,.35) !important;
}
.bp-feedback-color-choice.bp-sticky-yellow { background-color: #fff3a6 !important; }
.bp-feedback-color-choice.bp-sticky-pink { background-color: #ffdce6 !important; }
.bp-feedback-color-choice.bp-sticky-mint { background-color: #dff5df !important; }
.bp-feedback-color-choice.bp-sticky-sky { background-color: #dfefff !important; }
.bp-feedback-color-choice.bp-sticky-lavender { background-color: #ece2ff !important; }
.bp-feedback-color-name {
  position: relative !important;
  z-index: 2 !important;
  font: 700 10px/1 "Manrope", sans-serif !important;
  color: #403a30 !important;
  pointer-events: none !important;
}
.bp-feedback-color-choice.on {
  border-color: #ff7a00 !important;
  box-shadow: 0 0 0 2px rgba(255,122,0,.24), 0 4px 8px rgba(44,38,26,.12) !important;
}

/* 이모티콘과 남기기: 배경/테두리/아이콘 색까지 같은 오렌지 액션 스타일 */
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"],
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"] {
  height: 42px !important;
  border: 1px solid #ff7a00 !important;
  border-radius: 10px !important;
  background-color: #ff7a00 !important;
  color: #fff !important;
  opacity: 1 !important;
}
.bp-feedback-write-row .bp-emoji-btn,
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn {
  width: 42px !important;
  min-width: 42px !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"]:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"]:hover {
  border-color: #e96f00 !important;
  background-color: #e96f00 !important;
  color: #fff !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn .material-symbols-outlined,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn .material-symbols-outlined {
  color: #fff !important;
  opacity: 1 !important;
}


/* ==========================================================================
   v100 - 자료실 + 버튼을 기준으로 Q&A / 피드백 FAB 디자인 완전 통일
   ========================================================================== */

/* 기준: 자료실 FAB = 56x56, #FF7A00, 검정 2px 테두리, 2px 하드 섀도, 완전 원형 */
body.bp-page-resources .bp-resource-add-button,
body.bp-page-qna .bp-qna-add-button,
body.bp-page-host-feed #bp-host-feedback-add,
body.bp-page-host-feed .bp-feedback-add-button {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border: 2px solid #000 !important;
  border-radius: 9999px !important;
  background: #FF7A00 !important;
  color: #fff !important;
  box-shadow: 2px 2px 0 0 #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: background-color .15s ease, transform .15s ease !important;
}
body.bp-page-resources .bp-resource-add-button:hover,
body.bp-page-qna .bp-qna-add-button:hover,
body.bp-page-host-feed #bp-host-feedback-add:hover,
body.bp-page-host-feed .bp-feedback-add-button:hover {
  background: #E96F00 !important;
  border-color: #000 !important;
  color: #fff !important;
}
body.bp-page-resources .bp-resource-add-button .material-symbols-outlined,
body.bp-page-qna .bp-qna-add-button .material-symbols-outlined,
body.bp-page-host-feed #bp-host-feedback-add .material-symbols-outlined,
body.bp-page-host-feed .bp-feedback-add-button .material-symbols-outlined {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #fff !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}


/* ==========================================================================
   v101 - 포스트잇 색상 아이콘 실색 표시 / 피드백 액션색 통일 / 자료실 FAB를 Q&A 디자인으로
   ========================================================================== */

/* 포스트잇 선택 버튼 자체가 해당 포스트잇의 실제 색으로 확실히 보이게 한다. */
.bp-feedback-color-choice {
  --bp-choice-color: #fff3a6;
  background-color: var(--bp-choice-color) !important;
  background-image: none !important;
  border: 0 !important;
  color: #39352b !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
}
.bp-feedback-color-choice.bp-sticky-yellow { --bp-choice-color: #fff3a6; background-color: #fff3a6 !important; }
.bp-feedback-color-choice.bp-sticky-pink { --bp-choice-color: #ffdce6; background-color: #ffdce6 !important; }
.bp-feedback-color-choice.bp-sticky-mint { --bp-choice-color: #dff5df; background-color: #dff5df !important; }
.bp-feedback-color-choice.bp-sticky-sky { --bp-choice-color: #dfefff; background-color: #dfefff !important; }
.bp-feedback-color-choice.bp-sticky-lavender { --bp-choice-color: #ece2ff; background-color: #ece2ff !important; }
.bp-feedback-color-choice::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border-radius: 5px !important;
  background: var(--bp-choice-color) !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
.bp-feedback-color-choice::after {
  z-index: 1 !important;
}
.bp-feedback-color-choice .bp-feedback-color-name {
  position: relative !important;
  z-index: 2 !important;
  color: #39352b !important;
}
.bp-feedback-color-choice.on {
  border-color: #ff7a00 !important;
  box-shadow: 0 0 0 2px rgba(255,122,0,.28), 0 4px 8px rgba(44,38,26,.12) !important;
}

/* 이모티콘과 남기기 버튼은 기본/hover/focus/active까지 정확히 같은 색을 사용한다. */
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"],
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"] {
  background: #ff7a00 !important;
  background-color: #ff7a00 !important;
  border-color: #ff7a00 !important;
  color: #fff !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:focus,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"]:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"]:focus,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:focus,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"]:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"]:focus {
  background: #e96f00 !important;
  background-color: #e96f00 !important;
  border-color: #e96f00 !important;
  color: #fff !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn:active,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button[type="submit"]:active,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn:active,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button[type="submit"]:active {
  background: #ff7a00 !important;
  background-color: #ff7a00 !important;
  border-color: #ff7a00 !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn .material-symbols-outlined,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn .material-symbols-outlined {
  color: #fff !important;
  opacity: 1 !important;
}

/* 자료실 + 버튼: 클릭 기능/aria-label은 그대로 두고 Q&A + 버튼과 같은 시각 규칙을 공유한다. */
body.bp-page-qna .bp-qna-add-button,
body.bp-page-resources .bp-resource-add-button {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border: 2px solid #000 !important;
  border-radius: 9999px !important;
  background: #ff7a00 !important;
  color: #fff !important;
  box-shadow: 2px 2px 0 0 #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
body.bp-page-qna .bp-qna-add-button:hover,
body.bp-page-resources .bp-resource-add-button:hover {
  background: #e96f00 !important;
  border-color: #000 !important;
  color: #fff !important;
}
body.bp-page-qna .bp-qna-add-button .material-symbols-outlined,
body.bp-page-resources .bp-resource-add-button .material-symbols-outlined {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #fff !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}

/* ==========================================================================
   v102 - 포스트잇 색상 선택 테두리 제거 / 이모티콘 내부 갈색 요소 제거
   ========================================================================== */

/* 포스트잇 색상 선택 아이콘은 실제 색만 보이도록 외곽선/안쪽 테두리를 모두 제거한다. */
.bp-feedback-color-choice,
.bp-feedback-color-choice:hover,
.bp-feedback-color-choice:focus,
.bp-feedback-color-choice:active,
.bp-feedback-color-choice.on {
  border: 0 !important;
  outline: 0 !important;
}
.bp-feedback-color-choice::before {
  box-shadow: none !important;
}
.bp-feedback-color-choice.on {
  box-shadow: 0 4px 9px rgba(44, 38, 26, .18) !important;
  transform: translateY(-2px) scale(1.04) !important;
}

/* 기존 이모티콘 글리프/내부 색상 요소를 숨기고 흰색 선 아이콘만 표시한다. */
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn {
  position: relative !important;
  overflow: hidden !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn > *,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn > * {
  display: none !important;
}
body.bp-page-host-feed .bp-feedback-comments .bp-emoji-btn::before,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-emoji-btn::before {
  content: "" !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: auto !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='9' cy='10' r='0.8' fill='%23ffffff' stroke='none'/%3E%3Ccircle cx='15' cy='10' r='0.8' fill='%23ffffff' stroke='none'/%3E%3Cpath d='M8.5 14.5c1 1.4 2.1 2 3.5 2s2.5-.6 3.5-2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
  pointer-events: none !important;
}

/* ==========================================================================
   v103 - 포스트잇 색상칩 테두리 완전 제거 / 라벨 위·칩 아래 / 이모티콘을 입력칸 안으로
   ========================================================================== */

/* 1) 테두리 제거.
   앞쪽에 같은 선택자가 세 번 나오고 각각 border 를 다시 넣고 있어서,
   그 선언들을 직접 지운 뒤 여기서 한 번 더 못박는다.
   선택 표시는 테두리 대신 주황 링(box-shadow)으로만 한다. */
.bp-feedback-color-choice,
.bp-feedback-color-choice:hover,
.bp-feedback-color-choice:focus,
.bp-feedback-color-choice:focus-visible,
.bp-feedback-color-choice:active,
.bp-feedback-color-choice.on {
  border: 0 !important;
  border-color: transparent !important;
  outline: 0 !important;
}
.bp-feedback-color-choice::before {
  box-shadow: none !important;
}
.bp-feedback-color-choice {
  box-shadow: 0 2px 5px rgba(44, 38, 26, .12) !important;
}
.bp-feedback-color-choice.on {
  box-shadow: 0 0 0 2px #ff7a00, 0 3px 7px rgba(44, 38, 26, .16) !important;
  transform: translateY(-1px) !important;
}

/* 2) "포스트잇 색상" 글씨를 한 줄 차지하게 해 색상칩이 그 아래로 내려오게 한다. */
.bp-feedback-color-picker {
  flex-wrap: wrap !important;
  align-items: center !important;
  row-gap: 7px !important;
}
.bp-feedback-color-label {
  flex: 0 0 100% !important;
  width: 100% !important;
  margin-right: 0 !important;
  margin-bottom: 1px !important;
}

/* 3) 이모티콘 아이콘을 입력칸 안에 넣는다.
   앞에서 position:relative 로 바꿔 놓아 입력칸 밖 별도 버튼처럼 보였다.
   다시 절대 배치로 되돌리고, 주황 덩어리 대신 칸 안의 아이콘으로 보이게 한다. */
/* 앞쪽에 "...bp-comment-form button { background:#6c5c20 }" 이 있어 선택자 우선순위가 더 높다.
   이모티콘도 button 이라 그 갈색이 먹었으므로, 여기서는 button.bp-emoji-btn 으로 더 좁게 잡는다. */
.bp-feedback-write-row button.bp-emoji-btn,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button.bp-emoji-btn,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button.bp-emoji-btn {
  position: absolute !important;
  right: 7px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  z-index: 3 !important;
}
.bp-feedback-write-row button.bp-emoji-btn:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button.bp-emoji-btn:hover,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button.bp-emoji-btn:focus,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button.bp-emoji-btn:hover,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button.bp-emoji-btn:focus {
  background: rgba(255, 122, 0, .12) !important;
  background-color: rgba(255, 122, 0, .12) !important;
}
/* 아이콘 선 색을 흰색에서 주황으로 바꾼다. 배경이 흰 입력칸이라 흰 선은 보이지 않는다. */
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form button.bp-emoji-btn::before,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form button.bp-emoji-btn::before {
  width: 20px !important;
  height: 20px !important;
  background-size: 20px 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ff7a00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='9' cy='10' r='0.8' fill='%23ff7a00' stroke='none'/%3E%3Ccircle cx='15' cy='10' r='0.8' fill='%23ff7a00' stroke='none'/%3E%3Cpath d='M8.5 14.5c1 1.4 2.1 2 3.5 2s2.5-.6 3.5-2'/%3E%3C/svg%3E") !important;
}
/* 아이콘이 글자를 가리지 않도록 입력칸 오른쪽을 비워 둔다. */
.bp-feedback-write-row input,
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form input,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form input {
  padding-right: 42px !important;
}

/* ==========================================================================
   v104 - 포스트잇 색 즉시 미리보기 / 자료실 + 버튼을 Q&A 와 완전히 동일하게
   ========================================================================== */

/* 1) 색을 고르는 즉시 쓰는 칸이 그 포스트잇 색이 된다.
   app.js 가 폼에 .bp-feedback-compose 와 .bp-sticky-<색> 을 붙여 주고,
   .bp-sticky-<색> 이 --bp-sticky-bg 를 정하므로 그 값을 그대로 쓴다. */
.bp-feedback-compose .bp-feedback-write-row {
  padding: 9px !important;
  border-radius: 10px !important;
  background: var(--bp-sticky-bg, #fff3a6) !important;
  box-shadow: 0 3px 9px rgba(69, 58, 34, .13) !important;
  transition: background .18s ease !important;
}
/* 고른 색이 비쳐 보이도록 입력칸은 반투명 흰색으로 둔다.
   앞쪽 규칙이 흰색을 못박고 있어 선택자를 더 좁게 잡는다. */
body.bp-page-host-feed .bp-feedback-comments .bp-comment-form.bp-feedback-compose .bp-feedback-write-row input,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot .bp-comment-form.bp-feedback-compose .bp-feedback-write-row input {
  border-color: rgba(69, 58, 34, .22) !important;
  background: rgba(255, 255, 255, .68) !important;
  transition: background .18s ease !important;
}
/* 색 고르는 줄도 같은 카드 안에 있는 것처럼 여백을 맞춘다. */
.bp-feedback-compose .bp-feedback-color-picker {
  margin-bottom: 2px !important;
}

/* 2) 자료실 + 버튼.
   body 클래스에 기대지 않고 버튼 클래스만으로도 Q&A 와 같은 모양이 되게 한다.
   페이지마다 body 클래스가 빠져 있어도 두 버튼이 어긋나지 않는다. */
.bp-create-fab.bp-qna-add-button,
.bp-create-fab.bp-resource-add-button {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border: 2px solid #000 !important;
  border-radius: 9999px !important;
  background: #ff7a00 !important;
  color: #fff !important;
  box-shadow: 2px 2px 0 0 #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.bp-create-fab.bp-qna-add-button:hover,
.bp-create-fab.bp-resource-add-button:hover {
  background: #e96f00 !important;
  border-color: #000 !important;
  color: #fff !important;
}
.bp-create-fab.bp-qna-add-button .material-symbols-outlined,
.bp-create-fab.bp-resource-add-button .material-symbols-outlined {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #fff !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}

/* 색을 고르면 피드백 노트(포스트잇 판) 바탕도 함께 바뀐다.
   판의 노란색이 CSS 에 고정돼 있어 색을 골라도 판은 그대로였다. */
body.bp-page-host-feed .bp-feedback-comments.bp-feedback-tinted,
.bp-lightbox.bp-lightbox-feedback .bp-lb-foot.bp-feedback-tinted {
  background: var(--bp-sticky-bg, #fff3a6) !important;
  transition: background .18s ease !important;
}

/* ==========================================================================
   v105 - + 버튼 전부 자료실과 동일 / 삭제 확인창 둥근 모서리 / 수정칸 크기 고정
   ========================================================================== */

/* Q&A · 피드백(진행자 피드) · 자료실의 + 버튼을 하나의 모양으로 맞춘다.
   앞쪽 규칙들은 body 클래스를 요구해서, 페이지에 그 클래스가 없으면 어긋났다.
   여기서는 버튼 클래스만으로 잡아 어느 화면에서든 같은 모양이 되게 한다. */
.bp-create-fab.bp-resource-add-button,
.bp-create-fab.bp-qna-add-button,
.bp-create-fab.bp-feedback-add-button,
#bp-host-feedback-add {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  padding: 0 !important;
  border: 2px solid #000 !important;
  border-radius: 9999px !important;
  background: #ff7a00 !important;
  color: #fff !important;
  box-shadow: 2px 2px 0 0 #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: background-color .15s ease, transform .15s ease !important;
}
.bp-create-fab.bp-resource-add-button:hover,
.bp-create-fab.bp-qna-add-button:hover,
.bp-create-fab.bp-feedback-add-button:hover,
#bp-host-feedback-add:hover {
  background: #e96f00 !important;
  border-color: #000 !important;
  color: #fff !important;
}
.bp-create-fab.bp-resource-add-button .material-symbols-outlined,
.bp-create-fab.bp-qna-add-button .material-symbols-outlined,
.bp-create-fab.bp-feedback-add-button .material-symbols-outlined,
#bp-host-feedback-add .material-symbols-outlined {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #fff !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}

/* 삭제 확인창은 모서리를 둥글게. 안쪽 버튼도 창 모양을 따라 깎는다. */
.bp-ask {
  border-radius: 16px !important;
  overflow: hidden !important;
}
.bp-ask-actions .bp-ask-cancel { border-bottom-left-radius: 16px !important; }
.bp-ask-actions .bp-ask-ok { border-bottom-right-radius: 16px !important; }

/* 수정칸은 끌어서 늘리지 않는다. */
.bp-edit-box textarea,
.bp-comment-edit-input {
  resize: none !important;
}

/* ==========================================================================
   v106 - 삭제 계열 버튼의 빨강을 오렌지로
   ========================================================================== */

/* 삭제 버튼과 삭제 확인창의 삭제 버튼. 다른 곳의 빨강(알림 개수 배지,
   닉네임 중복 경고 등)은 삭제와 무관하므로 그대로 둔다. */
.bp-danger,
.bp-mini-btn.bp-danger,
.bp-ask-actions .bp-ask-ok,
.bp-account-delete-button {
  background: #ff7a00 !important;
  border-color: #ff7a00 !important;
  color: #fff !important;
}
.bp-danger:hover,
.bp-mini-btn.bp-danger:hover,
.bp-ask-actions .bp-ask-ok:hover,
.bp-account-delete-button:hover {
  background: #e96f00 !important;
  border-color: #e96f00 !important;
  color: #fff !important;
}
/* 글자만 있는 삭제 버튼들 */
.bp-comment-actions .bp-comment-delete,
.bp-trash,
.bp-file-list button,
.bp-account-menu button.danger strong,
.bp-account-menu button.danger .material-symbols-outlined,
.bp-account-danger h3 {
  color: #ff7a00 !important;
}
.bp-comment-actions .bp-comment-delete:hover,
.bp-file-list button:hover {
  color: #e96f00 !important;
}

/* ==========================================================================
   v107 - 수정 버튼은 회색 유지 / 저장 버튼은 오렌지
   ========================================================================== */

/* 피드의 수정(연필) 버튼은 .bp-trash 클래스를 함께 달고 있어서
   삭제용 오렌지 규칙에 같이 걸렸다. 수정은 원래대로 회색으로 되돌린다. */
.bp-pencil,
.bp-edit.bp-trash.bp-pencil,
.bp-feed-actions .bp-pencil,
.bp-feed-actions .bp-pencil .material-symbols-outlined {
  color: #444748 !important;
}
.bp-pencil:hover,
.bp-feed-actions .bp-pencil:hover,
.bp-feed-actions .bp-pencil:hover .material-symbols-outlined {
  color: #1b1c1c !important;
}
/* 댓글의 "수정" 글자 버튼도 회색 */
.bp-comment-actions .bp-comment-edit {
  color: #444748 !important;
}

/* 수정 중 나타나는 저장 버튼은 오렌지로. */
.bp-comment-edit-controls .bp-comment-save {
  color: #ff7a00 !important;
  font-weight: 700 !important;
}
.bp-comment-edit-controls .bp-comment-save:hover {
  color: #e96f00 !important;
}
.bp-edit-actions .save {
  background: #ff7a00 !important;
  border-color: #ff7a00 !important;
  color: #fff !important;
}
.bp-edit-actions .save:hover {
  background: #e96f00 !important;
  border-color: #e96f00 !important;
}

/* ==========================================================================
   v108 - 프로필 사진이 없을 때 사람 아이콘을 원 한가운데로
   ========================================================================== */

/* 사진이 없으면 img 를 감추는데, Tailwind 가 img 에 display:block 을 주기 때문에
   hidden 속성만으로는 사라지지 않고 원 안을 그대로 차지했다.
   그 탓에 사람 아이콘이 왼쪽 위로 밀려 있었다. */
.bp-profile-avatar[hidden] {
  display: none !important;
}
.bp-profile-avatar-box {
  position: relative !important;
}
/* 아이콘을 원 전체에 겹쳐 두고 가로·세로 가운데로 맞춘다. */
.bp-profile-avatar-fallback {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  font-size: 42px !important;
  line-height: 1 !important;
  color: #747878 !important;
  pointer-events: none !important;
}
.bp-profile-avatar-fallback[hidden] {
  display: none !important;
}

/* ==========================================================================
   v109 - 하단 메뉴의 '지금 여기' 표시는 어디서나 곧은 일자
   ========================================================================== */

/* 일부 화면의 표시가 반달(둥근 막대) 모양이었다.
   그런 표식이 남아 있어도 다른 칸과 같은 곧은 선으로 보이게 깎는다. */
nav.fixed.bottom-0 [class*="rounded-b-full"],
nav.fixed.bottom-0 [class*="rounded-full"],
nav.fixed.bottom-0 [class*="rounded-t-full"] {
  border-radius: 0 !important;
}
/* 활성 칸의 윗줄은 칸 너비를 꽉 채운 직선으로 통일한다. */
nav.fixed.bottom-0 > button,
nav.fixed.bottom-0 > a {
  border-radius: 0 !important;
}
nav.fixed.bottom-0 > button.border-t-2,
nav.fixed.bottom-0 > a.border-t-2 {
  border-top-style: solid !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
