*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:#333;background-color:#f8f9fa}html,body,#root{height:100%;margin:0;padding:0}#body-layout{min-height:100%;display:flex;flex-direction:column;position:relative}main{flex:1;display:flex;flex-direction:column;padding-bottom:5rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}img{max-width:100%;height:auto;display:block;-o-object-fit:cover;object-fit:cover}:root{--primary-color: #2D3436;--secondary-color: #636E72;--tertiary-color: #B2BEC3;--accent-color: #00B894;--background-color: #FFFFFF}@font-face{font-family:Hakgyoansim;src:url(/fonts/Hakgyoansim%20Allimjang%20TTF%20B.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.loading-container{display:flex;justify-content:center;align-items:center;background-color:#0000000d;min-height:100vh;width:100%;position:fixed;top:0;left:0;z-index:50}.loading-spinner{animation:rotate 2s linear infinite}.spinner-circle{stroke:var(--color-primary, #3B82F6);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.grid{display:grid;gap:1.5rem;width:100%}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (min-width: 640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.grid{grid-template-columns:repeat(4,1fr)}}.header-container{position:sticky;top:0;z-index:50;background-color:#1a1a1a;box-shadow:var(--shadow-lg)}.header-banner{font-family:Hakgyoansim,sans-serif;background-color:var(--color-primary);color:#fff;text-align:center;padding:.5rem;font-size:.875rem;letter-spacing:.025em}.header-main{border-bottom:1px solid rgba(255,255,255,.1)}.header-content{max-width:var(--container-width);margin:0 auto;padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between}.header-logo{font-family:Hakgyoansim,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.025em;margin-left:1rem}.desktop-nav{display:none;gap:2.5rem}@media (min-width: 768px){.desktop-nav{display:flex}.menu-button{display:none}}.nav-link{font-family:Hakgyoansim,sans-serif;color:#ffffffb3;text-decoration:none;font-weight:500;font-size:1.1rem;letter-spacing:.025em;padding:.5rem 0;transition:all var(--transition-fast);position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background-color:var(--color-primary);transition:all var(--transition-fast);transform:translate(-50%)}.nav-link:hover{color:#fff}.nav-link:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:1.5rem;margin-right:1.5rem}.cart-link{position:relative;color:#ffffffb3;text-decoration:none;transition:color var(--transition-fast)}.cart-link:hover{color:#fff}.cart-badge{position:absolute;top:-12px;right:-12px;background-color:#bc8f8f;color:#fff;font-size:.75rem;padding:.125rem .375rem;border-radius:9999px;min-width:1.25rem;text-align:center}.menu-button{border:none;background:none;cursor:pointer;padding:.5rem;color:#ffffffb3;transition:color var(--transition-fast)}.menu-button:hover{color:#fff}.mobile-nav{display:flex;flex-direction:column;padding:1rem;background-color:#1a1a1a;border-top:1px solid rgba(255,255,255,.1)}.mobile-nav-link{font-family:Hakgyoansim,sans-serif;color:#ffffffb3;text-decoration:none;padding:1rem;transition:all var(--transition-fast);font-weight:500;font-size:1.1rem;letter-spacing:.025em}.mobile-nav-link:hover{color:#fff;background-color:#ffffff1a}@media (min-width: 768px){.mobile-nav{display:none}}.login-nav-link{display:flex;align-items:center;gap:.5rem;color:#ffffffb3;text-decoration:none;transition:color var(--transition-fast);padding:0 0 .25rem}.login-nav-link span{display:none}.login-nav-link:hover{color:#fff}@media (min-width: 768px){.login-nav-link span{display:inline}}footer{position:fixed;bottom:0;left:0;width:100%;background-color:#1f2937;color:#fff;padding:1.5rem 0;text-align:center;z-index:10}main{padding-bottom:5rem}.home-container{flex:1;max-width:var(--container-width);padding:2rem 1rem;display:flex;flex-direction:column}.category-section{margin-bottom:60px;padding:20px}.category-section h2{font-size:2rem;font-weight:600;text-align:center;margin-bottom:30px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,calc(50% - 10px)));gap:20px;justify-content:center}.category-card{position:relative;border-radius:8px;overflow:hidden;transition:transform .3s ease;box-shadow:0 4px 6px #0000001a}.category-card:hover{transform:translateY(-5px)}.category-image{width:100%;height:300px;-o-object-fit:cover;object-fit:cover}.category-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,#000000b3)}.category-overlay h3{color:#fff;font-size:1.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.deals-section{background-color:#fff;padding:40px 20px;border-radius:12px;margin-bottom:60px;box-shadow:0 2px 4px #0000000d}.deals-section h2{font-size:2rem;font-weight:600;text-align:center;margin-bottom:10px}.deals-section p{text-align:center;color:#666;margin-bottom:30px}.deals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.deal-card{position:relative;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .3s ease}.deal-card:hover{transform:translateY(-5px)}.deal-image{width:100%;height:200px;-o-object-fit:cover;object-fit:cover}.discount-badge{position:absolute;top:10px;right:10px;background:#f44;color:#fff;padding:5px 10px;border-radius:20px;font-weight:600}.deal-card h3{padding:15px;font-size:1.1rem;font-weight:600}.deal-card p{font-family:Noto Sans KR,sans-serif;font-weight:700;font-size:1rem;padding:0 15px 15px;color:#666}.service-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:30px;padding:20px;margin-bottom:40px}.service-card{background:#fff;padding:30px;border-radius:12px;text-align:center;box-shadow:0 2px 4px #0000000d}.service-card h3{font-size:1.5rem;margin-bottom:10px}.service-card p{color:#666}@media (max-width: 1200px){.category-grid{grid-template-columns:repeat(2,1fr)}.deals-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.category-grid,.deals-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.category-grid,.deals-grid{grid-template-columns:1fr}.category-grid img,.deals-grid img{height:auto;aspect-ratio:16/9}}.cart-container{flex:1;max-width:1024px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column}.cart-header{margin-bottom:2rem;text-align:center}.cart-header h1{font-size:1.875rem;font-weight:600;color:var(--color-text)}.cart-count{color:var(--color-text-light);margin-top:.5rem}.empty-cart{border-radius:1rem;padding:4rem 2rem;text-align:center;box-shadow:var(--shadow-sm)}.empty-cart h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-cart p{color:var(--color-text-light);margin-bottom:1.5rem}.shop-link{display:inline-flex;align-items:center;gap:.5rem;color:#000;background:var(--color-primary);padding:.75rem 1.5rem;border-radius:.5rem;transition:all var(--transition-fast)}.shop-link:hover{background:var(--color-primary-dark)}.cart-content{display:grid;gap:2rem;grid-template-columns:1fr 320px}@media (max-width: 768px){.cart-content{grid-template-columns:1fr}}.cart-items{display:flex;flex-direction:column;gap:1rem}.cart-item{display:flex;gap:1.5rem;background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:var(--shadow-sm)}.item-image{width:120px;height:120px;border-radius:.5rem;overflow:hidden}.item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.item-details{flex:1;display:flex;flex-direction:column;justify-content:space-between}.item-info h3{font-weight:600;margin-bottom:.5rem}.item-price{color:var(--color-text-light)}.item-actions{display:flex;align-items:center;gap:2rem}.quantity-controls{display:flex;align-items:center;gap:.75rem;border:1px solid var(--color-border);padding:.25rem;border-radius:.5rem}.quantity-btn{padding:.5rem;color:var(--color-text-light);transition:all var(--transition-fast)}.quantity-btn:hover{color:var(--color-text)}.quantity{min-width:2rem;text-align:center}.subtotal{font-weight:600;color:var(--color-primary)}.remove-btn{color:var(--color-text-light);padding:.5rem;transition:all var(--transition-fast)}.remove-btn:hover{color:var(--color-error)}.cart-summary{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:var(--shadow-sm);height:-moz-fit-content;height:fit-content}.summary-row{display:flex;justify-content:space-between;padding:1rem 0;color:var(--color-text-light)}.summary-total{display:flex;justify-content:space-between;padding:1.5rem 0;border-top:1px solid var(--color-border);font-weight:600;font-size:1.125rem}.checkout-btn{width:100%;background:var(--color-primary);color:#fff;padding:1rem;border-radius:.5rem;font-weight:600;transition:all var(--transition-fast)}.checkout-btn:hover{background:var(--color-primary-dark)}.product-list-container{flex:1;max-width:var(--container-width);margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column}.product-list-header{margin-bottom:2rem;text-align:center}.product-list-header h1{font-size:2rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.empty-state{text-align:center;padding:2rem;color:#666}.product-count{color:var(--color-text-light)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.product-card{background:#fff;border-radius:1rem;overflow:hidden;transition:all var(--transition-fast)}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.product-image-container{position:relative;aspect-ratio:1;overflow:hidden}.product-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-normal)}.product-card:hover .product-image{transform:scale(1.05)}.product-actions{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;opacity:0;transform:translate(1rem);transition:all var(--transition-fast)}.product-card:hover .product-actions{opacity:1;transform:translate(0)}.action-button{background:#fff;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.action-button:hover{background:maroon;color:#fff;cursor:pointer}.action-button .icon{width:1.25rem;height:1.25rem}.product-badge{position:absolute;left:1rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.product-badge.new{top:1rem;background:var(--color-primary);color:#fff}.product-badge.discount{top:3rem;background:var(--color-error);color:#fff}.product-info{padding:1.5rem}.product-name{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.product-price{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.original-price{color:var(--color-text-light);text-decoration:line-through;font-size:.875rem}.current-price{color:var(--color-primary);font-weight:600;font-size:1.125rem}.product-description{color:var(--color-text-light);font-size:.875rem;line-height:1.5}@media (max-width: 768px){.product-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.product-info{padding:1rem}}@media (max-width: 480px){.product-grid{grid-template-columns:1fr}}.login-container{display:flex;justify-content:center;align-items:center;padding:2rem 1rem;background-color:#f8f9fa}.login-card{width:100%;max-width:400px;background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.login-header p{color:#666}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-input::-moz-placeholder{color:#94a3b8}.form-input::placeholder{color:#94a3b8}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.remember-me{display:flex;align-items:center;gap:.5rem;color:#666;cursor:pointer}.forgot-password{color:var(--primary-color);text-decoration:none;transition:opacity .2s}.forgot-password:hover{opacity:.8}.login-button{display:flex;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.login-button:hover{opacity:.9;transform:translateY(-1px)}.social-login{position:relative;text-align:center;margin:1.5rem 0}.signup-prompt{text-align:center;color:#666;font-size:.875rem}.signup-link{color:var(--primary-color);margin-left:.5rem;text-decoration:none;font-weight:500}.signup-link:hover{text-decoration:underline}@media (max-width: 480px){.login-card{padding:1.5rem}.form-options{flex-direction:column;gap:1rem;align-items:flex-start}}.error-container{display:flex;align-items:center;justify-content:center}.error-content{width:100%;max-width:500px;padding:2rem}.error-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:3rem 2rem;text-align:center;box-shadow:0 8px 32px #1f268726;border:1px solid rgba(255,255,255,.18);transform:translateY(20px);animation:slideUp .5s ease forwards}.error-icon{width:80px;height:80px;margin:0 auto 2rem;color:#f56565;animation:pulse 2s infinite}.error-card h1{color:#2d3748;font-size:1.8rem;font-weight:700;margin-bottom:1rem}.error-card p{color:#4a5568;margin-bottom:2rem;line-height:1.6}.error-card button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.error-card button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.forgot-password-container{display:flex;justify-content:center;align-items:center;padding:2rem 1rem;background-color:#f8f9fa}.forgot-password-card{width:100%;max-width:400px;background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.forgot-password-header{text-align:center;margin-bottom:2rem}.forgot-password-header h1{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.forgot-password-header p{color:#666;line-height:1.5}.forgot-password-form{display:flex;flex-direction:column;gap:1.5rem}.submit-button{width:100%;padding:.875rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.submit-button:hover{opacity:.9;transform:translateY(-1px)}.success-message{text-align:center}.success-icon{width:4rem;height:4rem;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem}.success-message h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:#1a1a1a}.success-message p{color:#666;line-height:1.6;margin-bottom:1.5rem}.back-to-login-button{display:inline-block;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:.5rem;font-weight:500;transition:all .2s}.back-to-login-button:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 480px){.forgot-password-card{padding:1.5rem}}.signup-container{display:flex;justify-content:center;align-items:center;padding:2rem 1rem;background-color:#f8f9fa}.signup-card{width:100%;max-width:400px;background:#fff;padding:2.5rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.signup-header{text-align:center;margin-bottom:2rem}.signup-header h1{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.signup-header p{color:#666}.signup-form{display:flex;flex-direction:column;gap:1.25rem}.form-group,.input-wrapper{position:relative}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#666;width:1.25rem;height:1.25rem}.form-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:1rem;transition:all .2s;background-color:#f8fafc}.form-input:focus{outline:none;border-color:var(--primary-color);background-color:#fff;box-shadow:0 0 0 3px #8000001a}.terms-group{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.terms-checkbox{display:flex;align-items:center;gap:.5rem;color:#666;cursor:pointer}.terms-link{color:var(--primary-color);text-decoration:none;font-size:.875rem}.terms-link:hover{text-decoration:underline}.signup-button{width:100%;padding:.875rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.signup-button:disabled{opacity:.5;cursor:not-allowed}.signup-button:not(:disabled):hover{opacity:.9;transform:translateY(-1px)}.social-signup{position:relative;text-align:center;margin:1.5rem 0}.divider{display:inline-block;padding:0 1rem;background:#fff;color:#666;position:relative;z-index:1}.divider:before{content:"";position:absolute;top:50%;left:-100%;right:-100%;height:1px;background:#e2e8f0;z-index:-1}.social-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.social-button{width:100%;padding:.75rem;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:opacity .2s}.social-button.kakao{background:#fee500;color:#000}.social-button.naver{background:#03c75a;color:#fff}.social-button:hover{opacity:.9}.back-to-login{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#666;text-decoration:none;font-size:.875rem;transition:color .2s}.back-to-login:hover{color:#1a1a1a}@media (max-width: 480px){.signup-card{padding:1.5rem}.terms-group{flex-direction:column;gap:.5rem;align-items:flex-start}}
