/* ThisGun Fun - Common Styles */
.tg-fun-wrap{max-width:700px;margin:0 auto;padding:20px;font-family:'Noto Sans KR',sans-serif;box-sizing:border-box}
.tg-fun-wrap *{box-sizing:border-box}
.tg-fun-wrap h2{text-align:center;margin-bottom:24px;font-size:1.6em}
.tg-fun-wrap h3{font-size:1.2em;margin-bottom:12px}
.tg-fun-wrap input[type="text"],.tg-fun-wrap input[type="number"],.tg-fun-wrap input[type="date"],.tg-fun-wrap select,.tg-fun-wrap textarea{width:100%;padding:12px 14px;border:2px solid #ddd;border-radius:10px;font-size:16px;font-family:inherit;transition:border-color .2s;background:#fff}
.tg-fun-wrap input:focus,.tg-fun-wrap select:focus,.tg-fun-wrap textarea:focus{border-color:#6c63ff;outline:none}
.tg-fun-wrap textarea{resize:vertical;min-height:80px}
.tg-fun-btn{display:inline-block;padding:12px 24px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center}
.tg-fun-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.tg-fun-btn:active{transform:translateY(0)}
.tg-fun-btn-primary{background:#6c63ff;color:#fff}
.tg-fun-btn-secondary{background:#eee;color:#333}
.tg-fun-btn-success{background:#27ae60;color:#fff}
.tg-fun-btn-danger{background:#e74c3c;color:#fff}
.tg-fun-btn-pink{background:#ff6b9d;color:#fff}
.tg-fun-btn-yellow{background:#f1c40f;color:#333}
.tg-fun-btn-blue{background:#3498db;color:#fff}
.tg-fun-btn-purple{background:#9b59b6;color:#fff}
.tg-fun-btn-sm{padding:8px 16px;font-size:13px}
.tg-fun-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 16px rgba(0,0,0,.08);margin-bottom:16px}
.tg-fun-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.tg-fun-col{flex:1;min-width:200px}
.tg-fun-label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:#555}
.tg-fun-grid{display:grid;gap:10px}
.tg-fun-grid-2{grid-template-columns:repeat(2,1fr)}
.tg-fun-grid-3{grid-template-columns:repeat(3,1fr)}
.tg-fun-grid-4{grid-template-columns:repeat(4,1fr)}
.tg-fun-text-center{text-align:center}
.tg-fun-mt{margin-top:16px}
.tg-fun-mb{margin-bottom:16px}
.tg-fun-hidden{display:none!important}
.tg-fun-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}
.tg-fun-progress{height:20px;background:#eee;border-radius:10px;overflow:hidden;margin:8px 0}
.tg-fun-progress-bar{height:100%;border-radius:10px;transition:width .5s ease}
.tg-fun-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:12px 24px;border-radius:10px;font-size:14px;z-index:99999;animation:tg-toast .3s ease}
@keyframes tg-toast{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.tg-fun-swatch{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;display:inline-block}
.tg-fun-swatch.active{border-color:#333;transform:scale(1.15)}
.tg-fun-option{padding:10px 16px;border:2px solid #eee;border-radius:10px;cursor:pointer;text-align:center;transition:all .2s;font-size:14px}
.tg-fun-option:hover{border-color:#bbb}
.tg-fun-option.active{border-color:#6c63ff;background:#f0efff}
.tg-fun-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:16px}

@media(max-width:600px){
  .tg-fun-wrap{padding:12px}
  .tg-fun-wrap h2{font-size:1.3em}
  .tg-fun-grid-3{grid-template-columns:repeat(2,1fr)}
  .tg-fun-grid-4{grid-template-columns:repeat(2,1fr)}
  .tg-fun-row{flex-direction:column}
  .tg-fun-col{min-width:100%}
  .tg-fun-btn{padding:10px 18px;font-size:14px}
}
