/* ===========================================================
   testpop responsive layout system
   Backgrounds span the viewport. Content stays centered.
   =========================================================== */
:root{
  --tp-bg:#FAF6EE;
  --tp-surface:#fff;
  --tp-footer-bg:#faf9ff;
  --tp-line:#ede9ff;
  --tp-text:#333;
  --tp-muted:#777;
  --tp-accent:#6c63ff;
  --tp-container-sm:560px;
  --tp-container-md:760px;
  --tp-container-lg:1080px;
  --tp-page-x:clamp(16px,4vw,32px);
  --tp-footer-min:132px;
  --tp-radius:22px;
  --tp-shadow:0 6px 22px rgba(80,70,40,.10);
}
html,body{width:100%;min-height:100%;overflow-x:hidden}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;margin:0;background:var(--tp-bg);color:var(--tp-text)}
.site-header,.site-main,.site-footer{box-sizing:border-box}
.site-container{width:100%;max-width:var(--tp-container-sm);margin:0 auto;padding-left:var(--tp-page-x);padding-right:var(--tp-page-x);box-sizing:border-box}
.site-header{width:100%;position:sticky;top:0;z-index:50;background:rgba(250,246,238,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line,var(--tp-line));padding:0!important}
.header-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.site-main{flex:1 0 auto;width:100%;box-sizing:border-box}
.site-main>.site-container{padding-top:22px;padding-bottom:56px}
.site-footer{width:100vw!important;max-width:none!important;margin-top:auto!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:var(--tp-footer-bg)!important;border-top:1px solid var(--tp-line)!important;min-height:var(--tp-footer-min);padding:0 0 max(24px,env(safe-area-inset-bottom))!important;flex-shrink:0;box-sizing:border-box;text-align:center;overflow:hidden!important;border-radius:0!important;box-shadow:none!important}
.site-footer>.site-container,.site-footer .footer-inner{width:100%;max-width:var(--tp-container-sm);margin:0 auto;padding-left:var(--tp-page-x);padding-right:var(--tp-page-x);box-sizing:border-box}
.footer-inner{padding-top:24px;text-align:center}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 0;line-height:1.45}
.footer-links a,.tp-fnav a{color:var(--tp-accent);text-decoration:none;font-size:.84rem;white-space:nowrap;padding:2px 8px;display:inline-flex}
.footer-links span,.tp-fsep{color:#ccc;font-size:.8rem;padding:0 1px}
.footer-copy,.tp-fcopy{margin:0;color:#aaa;font-size:.76rem;line-height:1.6;padding:10px 6px 0;word-break:keep-all}
.brand{cursor:pointer;display:flex;align-items:center;text-decoration:none;min-width:0}
.brand-logo{height:36px;width:auto;display:block}
.brand-name{display:none!important}
.lang-select,#langSel{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.lang-select button,#langSel button{border:1.5px solid var(--line,#ECE6D8);background:#fff;color:var(--ink-soft,#6B6B6B);font-size:.82rem;font-weight:700;padding:5px 11px;border-radius:999px;cursor:pointer;transition:.15s;min-width:38px;font-family:inherit}
.lang-select button.on,#langSel button.on{background:var(--accent,#FFD54A);border-color:var(--accent-deep,#F6C23E);color:#5A4500}
.topbar.site-header{display:block!important;background:rgba(250,246,238,.92)!important;border-bottom:1px solid var(--line,var(--tp-line))!important}
.footer.site-footer,.site-footer.footer{width:100vw!important;max-width:none!important;margin-top:auto!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:var(--tp-footer-bg)!important;border-top:1px solid var(--tp-line)!important;padding:0 0 max(24px,env(safe-area-inset-bottom))!important}
.site-footer .footer-nav,.site-footer #footerNav{width:100%;max-width:none;margin:0;padding:0;background:transparent;box-sizing:border-box}
.site-footer .tp-footer-inner{max-width:var(--tp-container-sm);margin:0 auto;padding:24px var(--tp-page-x) 0;box-sizing:border-box;background:transparent;text-align:center}
.tp-page-card,.info-card,.result-desc,.contact-method,.contact-box{background:var(--tp-surface);border:1.5px solid var(--line,var(--tp-line));border-radius:var(--tp-radius);box-shadow:var(--shadow,var(--tp-shadow));box-sizing:border-box}
.tp-page-card{padding:22px;margin-bottom:16px;line-height:1.82;color:#555}
.tp-page-card h1,.tp-page-card h2,.tp-page-card h3,.info-card h1,.info-card h2{font-family:'Jua','Noto Sans KR',sans-serif;color:#333;line-height:1.25}
.tp-page-card h1{font-size:1.62rem;margin:0 0 14px}
.tp-page-card h2{font-size:1.16rem;margin:24px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line,var(--tp-line))}
.tp-page-card h3{font-size:1rem;margin:18px 0 8px}
.tp-page-card p{margin:0 0 12px;color:#555}
.tp-page-card ul{padding-left:20px;margin:0 0 14px}
.tp-page-card li{margin-bottom:8px;color:#555}
.tp-note{background:#fff8e1;border-left:3px solid #ffc107;border-radius:12px;padding:13px 15px;color:#666;line-height:1.7;margin:14px 0}
.tp-tab-bar{display:flex;gap:0;border-bottom:2px solid var(--line,var(--tp-line));margin:0 0 20px}
.tp-tab-btn{flex:1;padding:11px 0;font-size:.9rem;font-weight:700;color:#aaa;background:none;border:none;cursor:pointer;font-family:inherit;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s}
.tp-tab-btn.active{color:var(--tp-accent);border-bottom-color:var(--tp-accent)}
.tp-tab-panel{display:none}.tp-tab-panel.active{display:block}
.tp-grid-2{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}
.tp-chip{background:#f4f1ff;border-left:3px solid var(--tp-accent);border-radius:12px;padding:11px 12px}
.tp-chip strong{display:block;font-size:.86rem;color:var(--tp-accent);margin-bottom:4px}.tp-chip span{font-size:.84rem;color:#666;line-height:1.5}
.faq-list{display:grid;gap:10px;margin-top:12px}.faq-item{background:#fff;border:1.5px solid var(--line,var(--tp-line));border-radius:14px;overflow:hidden}.faq-q{width:100%;padding:14px 16px;text-align:left;font-size:.92rem;font-weight:800;color:#333;background:none;border:none;cursor:pointer;font-family:inherit;display:flex;justify-content:space-between;align-items:center}.faq-q.open{background:var(--tp-accent);color:#fff}.faq-a{display:none;padding:14px 16px;font-size:.88rem;color:#555;line-height:1.8;background:#fafafa;border-top:1px solid var(--line,var(--tp-line))}.faq-a.open{display:block}
.kakao-open-link{display:inline-flex;align-items:center;justify-content:center;margin-top:2px;padding:10px 16px;border-radius:999px;background:#fee500;color:#3c1e1e!important;text-decoration:none;font-weight:900;font-size:.9rem}
@media(min-width:768px){.site-container{max-width:var(--tp-container-md)}.site-main>.site-container{padding-top:28px}.tp-grid-2{grid-template-columns:1fr 1fr}.site-footer>.site-container,.site-footer .footer-inner,.site-footer .tp-footer-inner{max-width:var(--tp-container-md)}}
@media(min-width:1100px){.site-container{max-width:var(--tp-container-lg)}.site-footer>.site-container,.site-footer .footer-inner,.site-footer .tp-footer-inner{max-width:var(--tp-container-lg)}}
@media(max-width:380px){.site-footer{min-height:144px}.footer-links a,.tp-fnav a{font-size:.8rem;padding:2px 6px}.footer-copy,.tp-fcopy{font-size:.72rem}.tp-page-card{padding:18px}}
