/* QA 2026-09-28 (대표 승인): layout fixes found in the first staging QA. */
/* 3. At 320px the English audience tabs ("Foreign residents") ran 2px past the screen. */
.audiences{min-width:0}
.audiences a{min-width:0;overflow-wrap:anywhere}
@media (max-width:360px){.audiences{gap:3px;padding:4px}.audiences a{padding:10px 4px;font-size:14px;letter-spacing:-.2px}}
/* 4. Footer links were 24x22px on phones; every tap target gets at least 44px. */
.footer-links{gap:4px 8px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 6px}
.type-options label{min-height:44px}
/* 7. No disclosure triangle in front of the language globe. */
.language-switch>summary{list-style:none}
.language-switch>summary::-webkit-details-marker{display:none}
.language-switch>summary::marker{content:""}
/* The home header floats over the hero (position:absolute, 76px on phones, 88px wide), and the translation
   note shown in en/zh/vi sat underneath it. Push the note below the header on the home page only. */
body:has(.page-home)>.translation-note{padding-top:calc(88px + 14px)}  /* padding, not margin: a first-child margin collapses into body and moves the header too */
/* 대표 승인 2026-10-09: a caution from the nightly refresh (key_values.caution), e.g. regions that stopped taking applications. */
.caution-note{background:#fff7e8;border:1px solid #f1d8a6;color:#6f4500;border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.7;margin:14px 0 4px}.caution-note b{color:#a15c00;margin-right:6px}.caution-note a{color:#a15c00;font-weight:650;text-decoration:underline;white-space:nowrap}

/* Engine programs: the official notice holds the conditions (부사장 2026-10-10). */
.source-first-note{background:#eef5ff;border:1px solid #c9dcfb;color:#1f3f73;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.6;margin:10px 0}.source-first-note a{color:#1d5fd1;font-weight:700;text-decoration:underline;white-space:nowrap;margin-left:4px}

/* Benefit detail: answer first (SEO-POLICY.md, AEO). */
.answer-first{border:1px solid #dbe5f3;border-radius:14px;padding:14px 16px;margin:14px 0;background:#fff}.answer-first h2{font-size:15px;margin:0 0 8px;color:#1f3f73}.answer-first dl{margin:0;display:grid;gap:6px}.answer-first dl>div{display:grid;grid-template-columns:4.5em 1fr;gap:10px;font-size:14px;line-height:1.6}.answer-first dt{font-weight:700;color:#1d5fd1}.answer-first dd{margin:0;color:#24324a;overflow-wrap:anywhere}

/* Ad places (ad-slots.php): AdSense keeps its height before loading; staging shows dashed previews. */
.ad-slot{margin:16px 0;border-radius:14px}.ad-slot>small{display:block;font-size:12px;color:#7a8699;margin:0 0 4px}.ad-slot-adsense{background:#f7f9fc;padding:8px;overflow:hidden}.ad-slot-preview{border:2px dashed #b9c6da;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;color:#5a6b85;padding:16px;text-align:center;font-size:14px;background:#fbfcfe}.ad-slot-house .self-banner{display:block;margin:0}.apply-card .ad-slot{margin:14px 0 0}

/* 사업자 맞춤 지원사업 (match-view.php). */
.match-cta{display:flex;flex-direction:column;gap:4px;margin:14px 0;padding:16px 18px;border-radius:16px;background:#eef5ff;border:1px solid #c9dcfb;color:#123e62;text-decoration:none}.match-cta strong{font-size:17px}.match-cta span{font-size:14px;color:#1d5fd1}
.match-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0;padding:16px;border:1px solid #dbe5f3;border-radius:16px;background:#fff}.match-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.match-form fieldset{grid-column:1/-1;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 14px}.match-form legend{font-size:14px;font-weight:600;margin-bottom:6px}.match-form fieldset .consent{flex-direction:row;align-items:center;font-weight:400}.match-form>button{grid-column:1/-1}
.match-save{margin:0 0 12px}.match-plan{margin:12px 0 18px;padding:14px 16px;border-radius:14px;background:#fff8ea;border:1px solid #f1dcae;font-size:14px;line-height:1.6}.match-plan p{margin:4px 0}
.match-why{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:16px 0 -6px;font-size:13px}.match-why>span{font-weight:700;color:#1f3f73}.match-why em{font-style:normal;padding:2px 8px;border-radius:999px;background:#e7f1ff;color:#1d5fd1}.match-why em.check{background:#fff3df;color:#9a5b00}
.match-form select{height:46px;border:1px solid #cfdbec;border-radius:12px;padding:0 12px;background:#fff;font-size:15px;color:#1b2b44}.match-form fieldset .consent{margin:0;padding:6px 10px;border:1px solid #e1e9f5;border-radius:999px;font-size:14px;gap:6px;display:inline-flex}.match-form fieldset .consent small{color:#7a8699}
/* 사업자 맞춤 알림 받는 곳 (내 정보, 사업자 회원) */
.biz-alert-form{margin:18px 0 8px;padding:18px 16px;border:1px solid #dbe5f3;border-radius:16px;background:#fff;gap:14px}.biz-alert-form h2{margin:0;font-size:19px}.biz-alert-form>p.subtle{margin:-8px 0 2px;font-size:14px}.biz-alert-form .consent{margin:0}.biz-alert-form small{color:#5b6b80;line-height:1.6}
/* 요금 안내·결제 내역 (billing-view.php) */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.plan-card{padding:18px 16px;border:1px solid #dbe5f3;border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:8px}.plan-card h2{margin:0;font-size:18px}.plan-card .price{margin:0;font-size:20px;font-weight:800;color:#123e62}.plan-card .price small{font-size:13px;font-weight:600;color:#5b6b80}.plan-card ul{margin:0;padding-left:18px;line-height:1.7;font-size:14px}.plan-card.featured{border:2px solid #3182f6;background:#f5f9ff}.plan-card.coming{opacity:.75}.plan-note{margin:4px 0 0;font-size:14px;color:#5b6b80}.plan-form{display:grid;gap:10px;margin-top:6px}.plan-form fieldset{border:0;padding:0;margin:0;display:grid;gap:6px}.plan-form legend{font-weight:700;font-size:14px;margin-bottom:4px}.plan-form small{color:#5b6b80;line-height:1.6}
.pay-guide{margin:16px 0;padding:16px;border:2px solid #3182f6;border-radius:16px;background:#f5f9ff}.pay-guide h2{margin:0 0 8px;font-size:18px}.pay-guide dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 8px}.pay-guide dt{color:#5b6b80;font-size:14px}.pay-guide dd{margin:0;font-weight:600}.pay-row{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid #e5e8eb}.pay-error{margin:6px 0 0;color:#b4232a;font-size:14px}.evidence-form form{display:grid;gap:8px;margin:10px 0}.evidence-form summary{cursor:pointer;font-weight:600;color:#1d5fd1}
.plan-card p{margin:0}.plan-form label:not(.consent){display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.plan-form input:not([type=radio]){height:46px;border:1px solid #cfdbec;border-radius:12px;padding:0 12px;font-size:16px;width:100%;box-sizing:border-box}.plan-form .consent{margin:0;padding:8px 10px;border:1px solid #e1e9f5;border-radius:12px;background:#fff;font-size:14px}.evidence-form label:not(.consent){display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.evidence-form input:not([type=radio]){height:44px;border:1px solid #cfdbec;border-radius:12px;padding:0 12px;font-size:16px;width:100%;box-sizing:border-box}.evidence-form .consent{margin:0;font-size:14px}
.join-wrap.billing{max-width:min(1000px,100%);width:100%}.join-wrap.billing .plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
/* 의무 신고·교육 체크리스트 (duty-view.php) */
.duty-cta{background:#f2fbf6;border-color:#bfe6cf;color:#14532d}.duty-cta span{color:#15803d}
.duty-disclaimer{margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff8ea;border:1px solid #f1dcae;font-size:14px;line-height:1.6}
.duty-upcoming{margin:18px 0;padding:16px;border:1px solid #dbe5f3;border-radius:16px;background:#fff}.duty-upcoming h2{margin:0 0 8px;font-size:18px}.duty-upcoming h2 small{font-size:13px;color:#5b6b80;font-weight:500}.duty-upcoming ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}.duty-upcoming li{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:baseline;font-size:15px}.duty-what{display:block;font-size:13px;line-height:1.5;color:#5b6b80;margin-top:2px}.cal-year{margin:18px 0}.cal-legend{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}.cal-chip{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap}.cal-chip.cal-tax{background:#e7f1ff;color:#1d5fd1}.cal-chip.cal-duty{background:#fff3df;color:#9a5b00}.cal-chip.cal-benefit{background:#e8f7ee;color:#15803d}
.cal-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cal-grid li a{display:flex;flex-direction:column;gap:4px;min-height:118px;padding:10px 12px;border:1px solid #dbe5f3;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.cal-grid li a:hover{border-color:#1d5fd1}.cal-grid b{font-size:17px;color:#123e62}.cal-counts{display:flex;gap:4px;flex-wrap:wrap}.cal-grid small{font-size:12px;color:#5b6b80;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-grid .cal-on a{border:2px solid #1d5fd1;background:#f5f9ff}.cal-grid .cal-past a{opacity:.62}
@media (max-width:720px){.cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-grid li a{min-height:104px}}
.cal-detail{margin:18px 0;padding:16px;border:1px solid #dbe5f3;border-radius:16px;background:#fff;scroll-margin-top:12px}.cal-detail h2{margin:0 0 10px;font-size:18px}.cal-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cal-items li{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:baseline;font-size:15px;line-height:1.5}.cal-day{font-weight:700;color:#123e62}.cal-items small{display:block;font-size:13px;color:#5b6b80}.cal-items b{font-weight:700}
.duty-events{margin-top:12px;border-top:1px solid #e1e9f5;padding-top:10px}.duty-events summary{cursor:pointer;font-weight:700;color:#123e62;font-size:15px}.duty-events ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:14px}.duty-more summary{cursor:pointer;color:#1d5fd1;font-size:14px;font-weight:600;margin:6px 0}.duty-when{font-weight:700;color:#123e62;white-space:nowrap}.duty-when em{font-style:normal;font-size:12px;padding:1px 7px;border-radius:999px;background:#e7f1ff;color:#1d5fd1;margin-left:4px}
.duty-count{font-size:18px;margin:22px 0 6px}.duty-group h3{font-size:16px;margin:18px 0 8px;color:#1f3f73}.duty-card{padding:14px 16px;border:1px solid #e1e9f5;border-radius:14px;background:#fff;margin:0 0 10px}.duty-card h4{margin:0 0 4px;font-size:16px}.duty-card p{margin:4px 0;line-height:1.6;font-size:14px}.duty-why{color:#1d5fd1;font-weight:600}.duty-badge{font-size:12px;padding:2px 8px;border-radius:999px;background:#fff3df;color:#9a5b00;font-weight:700;vertical-align:middle;white-space:nowrap}.duty-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;font-size:14px}.duty-card dt{color:#5b6b80;white-space:nowrap}.duty-card dd{margin:0;line-height:1.55}.duty-note{color:#9a5b00}.duty-card details summary{cursor:pointer;color:#1d5fd1;font-size:14px;font-weight:600}.duty-target,.duty-basis{margin:8px 0;padding-left:18px;font-size:13px;line-height:1.6}.duty-basis a{word-break:break-all}

/* 창업 안내 (p=startup) */
.startup-steps{list-style:none;margin:18px 0;padding:0;display:grid;gap:14px}.startup-steps>li{padding:16px;border:1px solid #dbe5f3;border-radius:16px;background:#fff;scroll-margin-top:12px}.startup-steps h2{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:18px}.startup-no{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#123e62;color:#fff;font-size:15px;flex:none}.startup-steps p{margin:6px 0;font-size:15px;line-height:1.6}.startup-events{margin:8px 0;padding-left:18px;display:grid;gap:6px;font-size:15px}.startup-events small{display:block;font-size:13px;color:#5b6b80}.startup-places{display:flex;flex-wrap:wrap;gap:8px 14px}.startup-place{font-weight:700;overflow-wrap:anywhere}
