/* GiveFundMe 한국형 UX 보강 스타일 (ko-guide) */
:root { --kg-primary: var(--color-default, #f45302); --kg-ink: #1f2937; --kg-soft: #fff4ee; }
.kg-bubble { position: relative; margin: 10px 0 14px; padding: 12px 38px 12px 14px; background: #fff8f3; border: 1px solid #ffd6c2; border-radius: 12px; color: #4b2a1a; font-size: 14px; line-height: 1.55; box-shadow: 0 4px 14px rgba(244, 83, 2, .08); animation: kgPop .35s ease; }
.kg-bubble::before { content: ""; position: absolute; top: -8px; left: 22px; width: 14px; height: 14px; background: #fff8f3; border-left: 1px solid #ffd6c2; border-top: 1px solid #ffd6c2; transform: rotate(45deg); }
.kg-bubble b, .kg-bubble strong { color: var(--kg-primary); }
.kg-bubble .kg-x { position: absolute; top: 6px; right: 8px; border: 0; background: transparent; font-size: 18px; line-height: 1; color: #b48a75; cursor: pointer; }
.kg-bubble .kg-ico { margin-right: 6px; }
[data-bs-theme="dark"] .kg-bubble, [data-bs-theme="dark"] .kg-bubble::before { background: #2a1d17; border-color: #6b3a22; color: #f3d9cc; }
@keyframes kgPop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.kg-notice { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; margin-bottom: 18px; border-radius: 14px; background: linear-gradient(135deg, #fff4ee, #fffaf6); border: 1px solid #ffe0cf; color: #3d2a20; font-size: 14px; text-align: left; }
.kg-notice .kg-n-ico { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--kg-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.kg-notice ul { margin: 6px 0 0; padding-left: 18px; }
[data-bs-theme="dark"] .kg-notice { background: #241a15; border-color: #5a3320; color: #eedbd0; }
.kg-steps { display: flex; gap: 6px; margin: 0 0 22px; padding: 0; list-style: none; counter-reset: kgs; overflow-x: auto; }
.kg-steps li { flex: 1 1 0; min-width: 92px; text-align: center; font-size: 13px; color: #6b7280; position: relative; padding-top: 38px; }
.kg-steps li::before { counter-increment: kgs; content: counter(kgs); position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 30px; height: 30px; border-radius: 50%; background: #f1f1f1; color: #888; font-weight: 700; line-height: 30px; }
.kg-steps li.done::before { background: var(--kg-primary); color: #fff; content: "✓"; }
.kg-steps li.done { color: var(--kg-ink); font-weight: 600; }
.kg-welcome .modal-content { border: 0; border-radius: 20px; overflow: hidden; }
.kg-welcome .kg-w-head { background: linear-gradient(135deg, var(--kg-primary), #ff8a3d); color: #fff; padding: 26px 24px 20px; }
.kg-welcome .kg-w-head h4 { margin: 0 0 6px; font-weight: 800; }
.kg-w-step { display: flex; gap: 14px; padding: 14px 4px; border-bottom: 1px dashed #eee; }
.kg-w-step:last-child { border-bottom: 0; }
.kg-w-step .n { flex: 0 0 38px; height: 38px; border-radius: 12px; background: var(--kg-soft); color: var(--kg-primary); font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.kg-w-step h6 { margin: 0 0 3px; font-weight: 700; }
.kg-w-step p { margin: 0; color: #6b7280; font-size: 14px; }
.kg-help-btn { position: fixed; right: 18px; bottom: 22px; z-index: 1040; width: 54px; height: 54px; border-radius: 50%; border: 0; background: var(--kg-primary); color: #fff; font-size: 22px; box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.kg-help-btn:hover { filter: brightness(1.05); }
.kg-help-btn .kg-dot { position: absolute; top: 4px; right: 4px; width: 12px; height: 12px; border-radius: 50%; background: #22c55e; border: 2px solid #fff; }
.kg-share { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 14px 0 6px; }
.kg-share a, .kg-share button { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; border: 1px solid #eee; border-radius: 14px; background: #fff; color: #374151; font-size: 12.5px; text-decoration: none; transition: transform .15s, box-shadow .15s; cursor: pointer; }
.kg-share a:hover, .kg-share button:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,.08); color: #111; }
.kg-share .ic { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 15px; color: #fff; }
.kg-share .ic.kakao { background: #FEE500; color: #191600; }
.kg-share .ic.band { background: #06C755; }
.kg-share .ic.nblog { background: #03C75A; }
.kg-share .ic.naver { background: #03C75A; }
.kg-share .ic.fb { background: #1877F2; }
.kg-share .ic.x { background: #111; }
.kg-share .ic.line { background: #06C755; }
.kg-share .ic.link { background: #6b7280; }
[data-bs-theme="dark"] .kg-share a, [data-bs-theme="dark"] .kg-share button { background: #1f1f1f; border-color: #333; color: #ddd; }
.kg-share.kg-share-wide { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 575.98px) { .kg-share.kg-share-wide { grid-template-columns: repeat(4, 1fr); } }
.kg-share-title { font-weight: 700; font-size: 15px; margin-top: 4px; }
.kg-share-sub { font-size: 13px; color: #6b7280; }
.kg-share-more { font-size: 13px; color: #6b7280; margin: 14px 0 8px; border-top: 1px dashed #eee; padding-top: 12px; }
.kg-trust { margin-top: 18px; padding: 16px; border-radius: 14px; background: #f8fafc; border: 1px solid #e5e7eb; font-size: 14px; }
.kg-trust h6 { font-weight: 800; margin-bottom: 10px; }
.kg-trust li { list-style: none; margin: 6px 0; }
.kg-trust li i { width: 20px; color: #16a34a; }
.kg-trust ul { padding: 0; margin: 0; }
[data-bs-theme="dark"] .kg-trust { background: #1b1f24; border-color: #2d333b; }
.kg-toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%); background: rgba(17,17,17,.92); color: #fff; padding: 12px 18px; border-radius: 30px; font-size: 14px; z-index: 2000; opacity: 0; transition: opacity .25s; pointer-events: none; max-width: 92vw; text-align: center; }
.kg-toast.show { opacity: 1; }
.kg-how .kg-how-card { height: 100%; padding: 26px 22px; border-radius: 18px; background: #fff; border: 1px solid #f0f0f0; box-shadow: 0 6px 20px rgba(0,0,0,.04); text-align: center; }
.kg-how .kg-how-ico { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 20px; background: var(--kg-soft); color: var(--kg-primary); display: flex; align-items: center; justify-content: center; font-size: 28px; }
.kg-how h5 { font-weight: 800; }
.kg-how p { color: #6b7280; margin: 0; font-size: 14.5px; }
[data-bs-theme="dark"] .kg-how .kg-how-card { background: #1c1c1c; border-color: #2c2c2c; }
.kg-faq .accordion-button { font-weight: 700; }
.kg-faq .accordion-button:not(.collapsed) { color: var(--kg-primary); background: var(--kg-soft); box-shadow: none; }
.card.campaigns { border-radius: 16px; overflow: hidden; border: 1px solid #f0f0f0; transition: transform .18s ease, box-shadow .18s ease; }
.card.campaigns:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.09) !important; }
.card.campaigns .card-img-top { aspect-ratio: 4 / 3; object-fit: cover; }
.card.campaigns .progress { height: 8px; border-radius: 8px; background: #f2f2f2; }
.card.campaigns .progress-bar { background: linear-gradient(90deg, #22c55e, #16a34a) !important; border-radius: 8px; }
.kg-mobile-cta { display: none; }
@media (max-width: 767.98px) {
  .kg-mobile-cta { display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid #eee; box-shadow: 0 -6px 18px rgba(0,0,0,.06); }
  .kg-mobile-cta .btn { flex: 1; border-radius: 12px; font-weight: 800; padding: 12px; }
  .kg-mobile-cta .btn-share { flex: 0 0 32%; }
  body.kg-has-cta .kg-help-btn { bottom: 88px; }
  body.kg-has-cta { padding-bottom: 76px; }
  [data-bs-theme="dark"] .kg-mobile-cta { background: rgba(20,20,20,.97); border-color: #333; }
}

/* 메인 배너 이미지 (한국형 교체, 캐시 갱신) */
.carousel-cover:nth-child(1) { background-image: url('../img/slider-1.jpg?v=kr3'); }
.carousel-cover:nth-child(2) { background-image: url('../img/slider-2.jpg?v=kr3'); }
.carousel-cover:nth-child(3) { background-image: url('../img/slider-3.jpg?v=kr3'); }
.carousel-caption h1, .carousel-caption p { text-shadow: 0 2px 12px rgba(0,0,0,.55); }
