.communication { min-width: 0; }
.communication h1 { margin-bottom: 1rem; }
.communication .account-card, .communication .panel { margin-block: 1.2rem; }
.communication-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; }
.communication-form { display: grid; gap: 1rem; }
.communication-form label { display: grid; gap: .5rem; }
.communication-form input:not([type=checkbox]), .communication-form select, .communication-form textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: .8rem; border: 1px solid #c8d8da; border-radius: .5rem; font: inherit; background: white; color: #173b44; }
.communication-form .review-check { display: flex; align-items: flex-start; }
.communication-form button { justify-self: start; }
.communication-message { border-left: 4px solid #bdcbc4; }
.communication-customer { margin-left: 2rem; }
.communication-answer { background: #edf5f5; border-left: 4px solid #0f4b5a; padding: 1.4rem; margin-block: 1.2rem; }
.communication-internal { background: #fff4d6; border-left: 4px solid #aa7611; }
.communication-table { overflow-x: auto; }
.communication-table table { width: 100%; text-align: left; border-collapse: collapse; }
.communication-table th, .communication-table td { padding: .8rem; border-bottom: 1px solid #ddd; }
@media (max-width: 600px) { .communication-customer { margin-left: 0; } .communication-form button { width: 100%; } .communication h1 { font-size: 1.8rem; } }

/* Public Q&A keeps the B-1 story typography and palette. */
.customer-site .qna-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.customer-site .qna-heading h1 { margin:0; font-family:var(--dabok-serif); font-size:clamp(32px,4.2vw,52px); letter-spacing:-.04em; color:var(--dabok-teal); line-height:1.35; }
.customer-site .qna-heading > div { min-width:0; }
.customer-site .qna-heading > .button { flex-shrink:0; }
.customer-site .qna-categories { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.customer-site .qna-categories a { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid var(--dabok-beige); border-radius:30px; background:var(--dabok-ivory); color:var(--dabok-teal); text-decoration:none; }
.customer-site .qna-categories a[aria-current] { background:var(--dabok-teal); border-color:var(--dabok-teal); color:#fff; }
.customer-site .qna-search { display:flex; gap:10px; margin:20px 0; }
.customer-site .qna-search input[type=search] { flex:1; height:48px; }
.customer-site .qna-search .button { width:auto; flex:0 0 auto; height:48px; min-height:48px; box-sizing:border-box; padding-block:10px; }
.customer-site .communication h2 { overflow-wrap:anywhere; }
.customer-site .communication :focus-visible { outline:3px solid var(--dabok-teal); outline-offset:3px; }
.customer-site .communication .list-pagination { display:flex; justify-content:center; gap:24px; margin-top:24px; }
@media(max-width:600px) {
 .customer-site .qna-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .customer-site .qna-categories a { padding-inline:14px; }
}

/* Local task navigation supplements the existing mypage sidebar. */
.customer-site .communication-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 24px; }
.customer-site .communication-tabs a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 16px; border:1px solid var(--dabok-beige); border-radius:6px; background:var(--dabok-ivory); color:var(--dabok-teal); text-decoration:none; font-size:15px; line-height:1.5; }
.customer-site .communication-tabs a[aria-current] { background:var(--dabok-teal); color:var(--dabok-white); border-color:var(--dabok-teal); font-weight:600; }
.customer-site .communication-tabs a:hover:not([aria-current]) { border-color:var(--dabok-teal); }
.customer-site .communication .category-choices { display:block; min-width:0; border:0; padding:0; margin:0; }
.customer-site .category-choices legend { padding:0; margin-bottom:10px; font-weight:600; }
.customer-site .category-choice-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.customer-site .category-choice-buttons > span { position:relative; min-width:0; }
.customer-site .category-choice-buttons input[type=radio] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; margin:0; }
.customer-site .category-choice-buttons label { display:flex; align-items:center; min-height:44px; padding:9px 16px; border:1px solid var(--dabok-beige); border-radius:30px; background:var(--dabok-ivory); color:var(--dabok-teal); cursor:pointer; font-size:15px; line-height:1.5; }
.customer-site .category-choice-buttons input:checked + label { background:var(--dabok-teal); color:var(--dabok-white); border-color:var(--dabok-teal); }
.customer-site .category-choice-buttons input:focus-visible + label { outline:3px solid var(--dabok-teal); outline-offset:3px; }
.customer-site .category-choice-buttons input:disabled + label { cursor:default; }
.customer-site .communication .review-actions { gap:10px; }
.customer-site .communication .review-actions .button { width:auto; }
@media(max-width:600px) {
 .customer-site .communication-tabs a { padding-inline:12px; }
 .customer-site .category-choice-buttons label { padding-inline:14px; }
}
