.order-page{background:var(--color-bg,#f5efe7);justify-content:center;min-height:100vh;display:flex}.order-page .order-mobile{width:min(100%,430px);min-height:100vh;color:var(--color-text,#1f1711);background:#fff;padding-bottom:40px;position:relative;box-shadow:0 10px 40px #8a6a450f}.order-page .order-header{text-align:left;padding:28px 24px 16px}.order-page .order-header h1{color:var(--color-text,#1f1711);letter-spacing:-.5px;margin-bottom:6px;font-size:24px;font-weight:700}.order-page .order-header p{color:var(--color-text-muted,#6e5f52);font-size:16px;font-weight:500;line-height:1.6}.order-page .section-title{color:var(--color-text,#1f1711);letter-spacing:-.3px;margin:0 0 20px;font-size:18px;font-weight:700}.order-page .recipient-card{padding:0 24px 40px}.order-page .loading-container{border:1px solid var(--color-line,#e5d8c7);color:var(--color-primary,#8a6a45);background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px 24px;font-size:15px;font-weight:600;display:flex}.order-page .loading-spinner{border:3px solid #8a6a4533;border-top-color:var(--color-primary,#8a6a45);border-radius:50%;width:28px;height:28px;animation:.8s cubic-bezier(.4,0,.2,1) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.order-page .error-container{color:#d32f2f;text-align:center;background:#fff5f5;border:1px solid #ffcdd2;border-radius:16px;padding:24px;font-size:15px;font-weight:600;line-height:1.5}.order-page .recipient-details{border:1px solid var(--color-line,#e5d8c7);background:#fff;border-radius:16px;flex-direction:column;gap:20px;padding:24px;display:flex}.order-page .detail-row{flex-direction:column;gap:8px;display:flex}.order-page .detail-label{color:var(--color-primary,#8a6a45);font-size:13px;font-weight:600}.order-page .detail-value{color:var(--color-text,#1f1711);word-break:keep-all;font-size:16px;font-weight:600;line-height:1.4}.order-page .detail-address{color:var(--color-text-muted,#6e5f52);margin-top:2px;font-size:12px;font-weight:400;display:block}.order-page .editable-input{width:100%;color:var(--color-text,#1f1711);border:1px solid var(--color-line,#e5d8c7);background:#fff;border-radius:10px;outline:none;padding:14px 16px;font-size:16px;font-weight:600;transition:all .2s}.order-page .editable-input:focus{border-color:var(--color-primary,#8a6a45);box-shadow:0 0 0 3px #8a6a451a}.order-page .editable-input::placeholder{color:#bfaea0;font-weight:500}.order-page .product-section{padding:0 24px 32px}.order-page .product-list{flex-direction:column;gap:16px;display:flex}.order-page .product-item{border:1px solid var(--color-line,#e5d8c7);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:20px;grid-template-columns:24px 86px 1fr;align-items:center;gap:16px;padding:20px;transition:all .2s;display:grid;position:relative}.order-page .product-detail-btn{color:#bfaea0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.order-page .product-detail-btn:hover{background:var(--color-bg,#f5efe7);color:var(--color-primary,#8a6a45)}.order-page .product-detail-btn:active{transform:scale(.9)}.order-page .product-item:active:not(:has(.product-detail-btn:active)){transform:scale(.98)}.order-page .product-item.is-selected{border-color:var(--color-primary,#8a6a45);background:#fff;box-shadow:0 8px 24px #8a6a4514}.order-page .product-radio-indicator{border:2px solid var(--color-line,#e5d8c7);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.order-page .product-radio-indicator.is-selected{border-color:var(--color-primary,#8a6a45)}.order-page .product-radio-inner{background:var(--color-primary,#8a6a45);border-radius:50%;width:12px;height:12px}.order-page .product-image-wrapper{background:#f9fafb;border:1px solid #0000000a;border-radius:12px;width:86px;height:86px;position:relative;overflow:hidden}.order-page .product-image{object-fit:cover;width:100%;height:100%;transform:scale(1.1)}.order-page .product-content{flex-direction:column;gap:4px;min-width:0;display:flex}.order-page .product-content strong{color:var(--color-text,#1f1711);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;line-height:1.4;overflow:hidden}.order-page .product-content>span:not(.price-row){color:var(--color-text-muted,#6e5f52);line-clamp:2;-webkit-line-clamp:2;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.order-page .price-row{align-items:baseline;gap:8px;margin-top:6px;display:flex}.order-page .original-price{color:#a39587;font-size:13px;font-weight:500;text-decoration:line-through}.order-page .current-price{color:var(--color-text,#1f1711);font-size:18px;font-weight:700}.order-page .bottom-spacer{height:80px}.order-page .bottom-order-bar{z-index:10;width:min(100%,430px);padding:20px 24px calc(20px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-line,#e5d8c7);background:#fffffff2;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.order-page .selected-summary{flex-direction:column;gap:4px;display:flex}.order-page .selected-summary span{color:var(--color-text-muted,#6e5f52);font-size:13px;font-weight:600}.order-page .selected-summary strong{color:var(--color-text,#1f1711);font-size:20px;font-weight:800}.order-page .submit-button{background:var(--color-primary,#8a6a45);color:#fff;cursor:pointer;border:0;border-radius:14px;height:54px;padding:0 36px;font-size:16px;font-weight:700;transition:all .2s}.order-page .submit-button:active{background:#735737;transform:scale(.96)}@media (width<=380px){.order-page .product-item{grid-template-columns:20px 72px 1fr;gap:12px;padding:16px}.order-page .product-image-wrapper{width:72px;height:72px}.order-page .product-content strong,.order-page .current-price{font-size:16px}}.order-form-page{background:var(--color-bg,#f5efe7);justify-content:center;min-height:100vh;display:flex}.order-form-page .order-mobile{width:min(100%,430px);min-height:100vh;color:var(--color-text,#1f1711);background:#fff;padding-bottom:120px;position:relative;box-shadow:0 10px 40px #8a6a450f}.order-form-page .order-form-header{border-bottom:1px solid var(--color-line,#e5d8c7);background:#fff;align-items:center;padding:8px 20px;display:flex}.order-form-page .back-btn{width:40px;height:40px;color:var(--color-text,#1f1711);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:-8px;padding:0;display:flex}.order-form-page .order-form-header h1{text-align:center;flex:1;margin:0 32px 0 0;font-size:18px;font-weight:700}.order-form-page .form-section{padding:24px}.order-form-page .product-banner{background:#2d241e;padding:24px 20px}.order-form-page .banner-content{align-items:center;gap:18px;display:flex}.order-form-page .banner-thumbnail{object-fit:cover;background:#fff;border:1px solid #ffffff1a;border-radius:14px;width:90px;height:90px}.order-form-page .banner-info{flex-direction:column;flex:1;gap:4px;display:flex}.order-form-page .banner-title-row{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.order-form-page .banner-info h3{color:#fff;margin:0;font-size:17px;font-weight:700}.order-form-page .banner-detail-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.order-form-page .banner-detail-btn:active{background:#fff3;transform:scale(.95)}.order-form-page .banner-info p{color:#ffffffb3;margin:0;font-size:13px;line-height:1.4}.order-form-page .banner-price{color:#dcb386;margin-top:6px;font-size:17px;font-weight:800}.order-form-page .input-group{margin-bottom:32px}.order-form-page .input-group .ribbon-input+.ribbon-input{margin-top:10px}.order-form-page .form-section-title{color:var(--color-text,#1f1711);margin:0 0 18px;font-size:18px;font-weight:800}.order-form-page .input-label{color:var(--color-text,#1f1711);margin-bottom:12px;font-size:14px;font-weight:700;display:block}.order-form-page .ribbon-input{border:1px solid var(--color-line,#e5d8c7);background:#fff;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-size:15px;transition:all .2s}.order-form-page .ribbon-input.is-invalid{border-color:#d94b38;animation:.34s input-shake;box-shadow:0 0 0 3px #d94b381f}.order-form-page .ribbon-input:focus{border-color:var(--color-primary,#8a6a45);box-shadow:0 0 0 3px #8a6a451a}.order-form-page .custom-message-input{margin-top:8px}.order-form-page .message-select{border:1px solid var(--color-line,#e5d8c7);appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a39587' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center no-repeat;border-radius:12px;outline:none;width:100%;margin-top:8px;padding:14px 16px;font-size:15px}.order-form-page .recipient-info-card{border:1px solid var(--color-line,#e5d8c7);background:#fff;border-radius:16px;margin-bottom:24px;padding:24px}.order-form-page .recipient-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.order-form-page .recipient-card-header h3{margin:0;font-size:16px;font-weight:700}.order-form-page .edit-btn{color:var(--color-primary,#8a6a45);border:1px solid var(--color-line,#e5d8c7);background:#fff;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600}.order-form-page .recipient-data{gap:12px;display:grid}.order-form-page .data-row{grid-template-columns:80px 1fr;gap:12px;display:grid}.order-form-page .data-label{color:var(--color-text-muted,#6e5f52);font-size:13px;font-weight:500}.order-form-page .data-value{color:var(--color-text,#1f1711);font-size:14px;font-weight:600;line-height:1.4}.order-form-page .info-error-msg{border-top:1px dashed var(--color-line,#e5d8c7);color:#e53935;text-align:center;word-break:keep-all;margin-top:16px;padding-top:16px;font-size:12px;font-weight:500;line-height:1.5}.order-form-page .wreath-notice{border:1px solid var(--color-line,#e5d8c7);color:var(--color-text-muted,#6e5f52);background:#fff;border-radius:12px;gap:8px;padding:16px;font-size:13px;line-height:1.5;display:flex}.order-form-page .wreath-notice svg{flex-shrink:0;margin-top:2px}.order-form-page .bottom-spacer{height:80px}.order-form-page .bottom-order-bar{z-index:10;width:min(100%,430px);padding:20px 24px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line,#e5d8c7);background:#fff;justify-content:space-between;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.order-form-page .selected-summary{flex-direction:column;gap:4px;display:flex}.order-form-page .selected-summary span{color:var(--color-text-muted,#6e5f52);font-size:13px;font-weight:600}.order-form-page .selected-summary strong{color:var(--color-text,#1f1711);font-size:20px;font-weight:800}.order-form-page .payment-btn{background:var(--color-primary,#8a6a45);color:#fff;cursor:pointer;border:0;border-radius:14px;height:54px;padding:0 40px;font-size:16px;font-weight:700;transition:all .2s}.order-form-page .payment-btn:active{background:#735737;transform:scale(.96)}@keyframes input-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}:root{color:#1f1711;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg:#f5efe7;--color-surface:#fffaf5;--color-line:#e5d8c7;--color-text:#1f1711;--color-text-muted:#6e5f52;--color-primary:#8a6a45;--shadow-sm:0 10px 30px #3f291414;background-color:#f5efe7;font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh;margin:0}body{background:radial-gradient(circle at top, #c2a78433, transparent 30%), var(--color-bg)}body,button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}#root{color:var(--color-text)}.app-shell{min-height:100vh}.app-main{width:min(1120px,100% - 32px);margin:0 auto;padding:48px 0}:is(.app-main:has(.order-page),.app-main:has(.order-form-page)){width:100%;padding:0}.route-placeholder{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:24px;padding:32px}.page-kicker{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700}.page-description{color:var(--color-text-muted);margin-top:16px;font-size:16px}.route-link{background:var(--color-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:140px;height:48px;margin-top:24px;padding:0 18px;font-weight:700;display:inline-flex}@media (width<=768px){.app-main{width:min(100%,100% - 24px);padding:24px 0}.route-placeholder{border-radius:20px;padding:22px}}
