/* Navigation: the label navigates, the button expands. */
.chat-history-heading {display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid #ddd;font-size:14px;}
.chat-history-heading a {margin-left:auto;}
.chat-history-list > a {display:flex;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid #ddd;}
.chat-history-list > a i {margin-left:auto;}
.chat-history-empty {padding:40px 0;text-align:center;color:#777;}
.chat-history-messages {padding:24px 0;display:flex;flex-direction:column;gap:16px;}
.chat-history-message {max-width:85%;padding:16px;background:#f3f4f4;border-radius:8px;color:#222;}
.chat-history-message--mine {align-self:flex-end;background:#ecf5f1;}
.chat-history-meta {display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;margin-bottom:8px;}
.chat-history-meta time {color:#666;font-size:12px;}
.chat-history-message p {line-height:1.7;word-break:keep-all;overflow-wrap:anywhere;}
.chat-history-pages {display:flex;gap:20px;align-items:center;justify-content:center;margin:24px 0;}
.chat-history-pages a {display:flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid #ddd;}
.header-con .nav .nav-toggle {display:none;}
@media (max-width:767px) {
  .header-con .nav .dropdown {position:relative;}
  .header-con .nav .dropdown > a {padding-right:56px;}
  .header-con .nav .nav-toggle {display:flex;position:absolute;right:0;top:0;width:50px;height:50px;align-items:center;justify-content:center;border:0;background:transparent;color:#222;font-size:16px;cursor:pointer;}
  .header-con .nav .nav-toggle:focus-visible {outline:2px solid #cc2300;outline-offset:-4px;}
}

/* The same selected stories appear on the home and news pages. */
.conbox1.story-grid {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:repeat(4, minmax(100px,auto));column-gap:40px;row-gap:18px;}
.story-grid .story-item {display:flex;gap:20px;align-items:center;min-width:0;color:#222;text-decoration:none;grid-column:2;}
.story-grid .story-item img {width:150px;aspect-ratio:16/10;object-fit:cover;border-radius:8px;flex-shrink:0;}
.story-grid .story-heading {min-width:0;}
.story-grid .story-category {display:block;color:#657567;font-size:13px;margin-bottom:7px;}
.story-grid .story-item h3 {font-size:18px;line-height:1.6;font-weight:500;word-break:keep-all;overflow-wrap:anywhere;}
.story-grid .story-item--featured {grid-column:1;grid-row:1 / span 4;display:block;}
.story-grid .story-item--featured img {width:100%;aspect-ratio:4/3;}
.story-grid .story-item--featured .story-heading {margin-top:16px;}
.story-grid .story-item--featured h3 {font-size:24px;}
.story-grid a:hover h3 {text-decoration:underline;}
.story-grid .story-empty {grid-column:1/-1;padding:40px 0;color:#777;text-align:center;}
@media (max-width:767px) {
  .conbox1.story-grid {display:flex;flex-direction:column;gap:24px;}
  .story-grid .story-item {gap:14px;}
  .story-grid .story-item img {width:110px;}
  .story-grid .story-item--featured img {width:100%;}
  .story-grid .story-item h3 {font-size:16px;}
  .story-grid .story-item--featured h3 {font-size:21px;}
}

/* Responsive text replaces the ethics graphic's baked-in duplicate sentence. */
.ethics-diagram {display:grid;grid-template-columns:minmax(0,1fr) 28% minmax(0,1fr);align-items:center;gap:45px 24px;text-align:left;}
.ethics-diagram .ethics-center {grid-column:2;grid-row:1/span 2;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;background:#dcf8f1;color:#ff5a19;font-size:36px;font-weight:600;}
.ethics-diagram .ethics-point {padding:24px;background:#f3f7f6;color:#005052;font-size:18px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;border-right:14px solid #ff5a19;}
.ethics-diagram strong {display:block;color:#0080ef;font-weight:500;}
.ethics-diagram .ethics-point--duty {border-right:0;border-left:14px solid #ffe000;}
.ethics-diagram .ethics-point--children {border-color:#2edcbc;}
.ethics-diagram .ethics-point--society {border-right:0;border-left:14px solid #dcf8f1;}
@media (max-width:767px) {
  .ethics-diagram {grid-template-columns:minmax(0,1fr);gap:18px;}
  .ethics-diagram .ethics-center {display:none;}
  .ethics-diagram .ethics-point {font-size:16px;padding:20px;}
}

/* Keep words intact and let campaign text determine section height. */
.sub.camp {word-break:keep-all;overflow-wrap:break-word;}
.sub.campaign-detail .sec1 {height:auto;min-height:500px;padding:90px 0 60px;background-size:cover;}
.sub.campaign-detail .sec1 .stitle {margin-top:0;}
.sub.campaign-detail .sec1 h1 {width:100%;max-width:900px;}
.sub.campaign-detail .sec2 {height:auto;background:none;}
.sub.campaign-detail .sec2 .con {display:flex;flex-direction:column;gap:48px;position:relative;min-height:680px;padding:50px 70px;overflow:hidden;}
.sub.campaign-detail .sec2 .con > img {display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.sub.campaign-detail .sec2 .txbox {position:relative;inset:auto;z-index:1;width:70%;max-width:780px;height:auto;flex-shrink:0;border-radius:8px;}
.sub.campaign-detail .sec2 .txbox:nth-child(even) {align-self:flex-end;}
.sub.campaign-detail .sec3 .conbox {height:auto;min-height:620px;background-size:cover;}
.sub.campaign-detail .sec3 .txbox {height:auto;max-width:100%;padding-bottom:40px;}
.sub.campaign-detail .sec3 .txbox .row {display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px 20px;align-items:start;}
.sub.campaign-detail .sec3 .txbox .row span.c {margin:0;min-width:0;}
.sub.campaign-detail .sec3 .txbox .row2 {display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:10px 16px;align-items:start;}
.sub.campaign-detail .sec3 .txbox .row2 span.c, .sub.campaign-detail .sec3 .txbox .row2 span.c1, .sub.campaign-detail .sec3 .txbox .row2 span.r {width:auto;margin:0;min-width:0;}
.sub.campaign-detail .sec3 .txbox .row2 span.c1 {grid-column:2/-1;}
.sub.campaign-detail .sec3 .txbox .row2 span.r {white-space:nowrap;}
.sub.campaign-detail .sec3 .txbox a.btn {height:auto;min-height:40px;max-width:100%;line-height:1.6;padding:10px 15px;}
@media (max-width:767px) {
  .sub.campaign-detail .sec1 {min-height:300px;padding:45px 0;}
  .sub.campaign-detail .sec1 h1 {font-size:28px;line-height:1.5;}
  .sub.campaign-detail .sec2 .con {min-height:0;padding:24px 16px;gap:24px;}
  .sub.campaign-detail .sec2 .txbox {width:100%;padding:18px 16px;font-size:15px;line-height:1.75;}
  .sub.campaign-detail .sec3 .conbox {min-height:0;}
  .sub.campaign-detail .sec3 .txbox {padding:10px 16px 30px;}
  .sub.campaign-detail .sec3 .txbox .row {grid-template-columns:80px minmax(0,1fr);gap:10px;}
  .sub.campaign-detail .sec3 .txbox .row2 {grid-template-columns:60px minmax(0,1fr) auto;gap:8px;}
  .sub.campaign-detail .sec3 .txbox .row2.row21 {grid-template-columns:110px minmax(0,1fr);align-items:center;}
  .sub.campaign-detail .sec3 .txbox .row2 span.t1 {width:110px;height:auto;min-height:30px;line-height:1.4;padding:5px;}
  .sub.campaign-detail .sec3 .txbox .row2 span.c1 {font-size:20px;}
  .sub.campaign-detail .sec3 .txbox .row2 span.r {font-size:13px;}
}

.sw-quick-links {position:fixed;right:20px;bottom:142px;display:flex;flex-direction:column;gap:10px;z-index:1100;}
.sw-quick-link {display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#fff;border:2px solid #ddd;border-radius:50%;font-size:21px;cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,.08);}
.sw-quick-link--donate {color:#ef5366;}
.sw-quick-link--consult {color:#168ab8;}
.sw-quick-link--kakao {color:#362a21;background:#fee500;}
.sw-social-links {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:12px 0;}
.sw-social {width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:21px;color:#fff;}
.sw-social--kakao {background:#fee500;color:#362a21;}
.sw-social--instagram {background:#c63c76;}
.sw-social--facebook {background:#4267a9;}
.sw-social--blog {background:#239743;}
.sw-social--cafe {background:#2c8779;}
.sw-quick-link[aria-disabled="true"], .sw-social[aria-disabled="true"] {cursor:default;opacity:.6;}
.sw-quick-link:focus-visible, .sw-social:focus-visible {outline:2px solid #111;outline-offset:3px;}
.sw-faq-layer .sw-faq-layer__header {flex-wrap:wrap;}
.sw-faq-layer .sw-faq-layer__actions {flex-wrap:wrap;}
.sw-faq-layer .sw-faq-history-link {display:inline-flex;align-items:center;gap:5px;}
@media (max-width:767px) {
  body {padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  .sw-quick-links {left:0;right:0;bottom:0;height:calc(72px + env(safe-area-inset-bottom));padding:0 132px env(safe-area-inset-bottom) 8px;flex-direction:row;align-items:center;justify-content:space-around;gap:4px;background:#fff;border-top:1px solid #ddd;}
  .sw-quick-link {width:42px;height:42px;font-size:19px;}
  .sw-faq-fab {right:70px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:1101;}
  .backtotop {right:12px;bottom:calc(13px + env(safe-area-inset-bottom));z-index:1101;}
  body.sw-menu-open .sw-quick-links, body.sw-menu-open .sw-faq-fab, body.sw-menu-open .backtotop {visibility:hidden;}
  .sw-social-links {justify-content:center;}
  .sw-faq-layer .sw-faq-layer__header {gap:8px;}
  .sw-faq-layer .sw-faq-layer__actions {gap:5px;}
  .sw-faq-layer .sw-faq-btn {padding:0 7px;font-size:11px;}
}
