:root{--ink:#22201d;--muted:#726b62;--paper:#f7f4ee;--card:#fffdf9;--line:#ded7cc;--accent:#9b5d38;--accent-dark:#714026;--error:#a52c2c;--success:#37694a;--radius:18px;--shadow:0 14px 40px rgba(52,42,32,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",sans-serif;line-height:1.65}.order-header{height:70px;padding:0 max(20px,calc((100vw - 1040px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:rgba(247,244,238,.94);position:sticky;top:0;z-index:10}.brand{flex:none;font-family:Georgia,serif;font-size:25px;color:var(--ink);text-decoration:none;letter-spacing:.02em}.order-header span{min-width:0;font-size:13px;color:var(--muted)}.order-shell{width:min(960px,calc(100% - 28px));margin:32px auto 90px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.steps span{padding:10px;border-bottom:2px solid var(--line);font-size:12px;color:var(--muted)}.steps .is-current{border-color:var(--accent);color:var(--accent-dark);font-weight:700}.order-form{display:grid;gap:18px}.form-section,.checkout-bar,.notice{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,38px);box-shadow:var(--shadow)}.section-heading{display:flex;gap:16px;margin-bottom:24px}.section-heading>span{font-family:Georgia,serif;color:var(--accent);font-size:14px}.section-heading h1,.section-heading h2{font-family:Georgia,"Yu Mincho",serif;margin:0;font-size:clamp(22px,4vw,30px);font-weight:500}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice-card input,.visual-options input{position:absolute;opacity:0}.choice-card__body{min-height:145px;padding:22px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;cursor:pointer}.choice-card b{font:24px Georgia,serif}.choice-card small{color:var(--muted);flex:1}.choice-card strong{font-size:21px}.choice-card input:checked+.choice-card__body,.visual-options input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:#fbf5ef}fieldset{border:0;padding:0;margin:0 0 22px}legend,.field>span{font-weight:700;margin-bottom:8px;display:block}em{font-style:normal;color:var(--accent);font-size:11px}.visual-options,.color-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.visual-options span{display:flex;flex-direction:column;align-items:center;padding:17px 8px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.visual-options b{font:28px Georgia,serif;color:var(--accent)}.color-options label{display:flex;align-items:center;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px}.color-dot{width:19px;height:19px;border-radius:50%;border:1px solid #aaa}.color-dot--black{background:#171717}.color-dot--white{background:#fff}.color-dot--gray{background:#999}.field{display:block;margin-bottom:18px}.field input,.field textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;background:#fff;padding:13px 14px}.field input:focus,.field textarea:focus{outline:3px solid rgba(155,93,56,.18);border-color:var(--accent)}.field small{display:block;color:var(--muted);margin-top:4px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.switch-row{display:flex;gap:12px;align-items:flex-start;padding:17px;border:1px solid var(--line);border-radius:12px;margin:12px 0;cursor:pointer}.switch-row input{width:20px;height:20px;accent-color:var(--accent)}.switch-row span{display:flex;flex-direction:column}.switch-row small{color:var(--muted)}.caution{font-size:13px;color:var(--muted);background:#f2eee7;border-radius:10px;padding:13px}.field-error{color:var(--error);font-size:13px;margin:-10px 0 14px}.checkout-bar{border-top:4px solid var(--accent)}.checkout-bar>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.checkout-bar strong{font:32px Georgia,serif}.checkout-bar span,.checkout-bar>p{color:var(--muted);font-size:12px}.terms{display:flex;gap:10px;margin:22px 0;font-size:14px}.terms input{width:21px;height:21px;flex:none;accent-color:var(--accent)}button{width:100%;border:0;border-radius:999px;background:var(--accent);color:white;padding:17px;font:700 16px inherit;cursor:pointer}button:hover{background:var(--accent-dark)}.checkout-bar>p{text-align:center;margin:8px 0 0}.notice h1{margin-top:0}.notice--error{border-color:#d9a9a9;color:var(--error)}.notice--success{border-color:#a8c7b2;color:var(--success)}.confirmed-total strong{font-size:24px}[hidden]{display:none!important}
@media(max-width:680px){.order-shell{width:min(100% - 18px,960px);margin-top:16px}.order-header{height:60px}.steps span{font-size:10px;padding:8px 4px}.product-grid,.field-grid{grid-template-columns:1fr}.visual-options,.color-options{grid-template-columns:1fr}.form-section,.checkout-bar,.notice{padding:20px;border-radius:14px}.choice-card__body{min-height:120px}.section-heading{gap:10px}}
.confirm-list{margin:0}.confirm-list div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.confirm-list dt{color:var(--muted);font-size:13px}.confirm-list dd{margin:0}.price-line{justify-content:space-between!important;border-bottom:1px solid var(--line);padding:8px 0}.price-line b{margin-left:auto}@media(max-width:680px){.confirm-list div{grid-template-columns:1fr;gap:2px}}
.site-footer{margin:34px auto 0;padding:28px 4px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.footer-trust{margin:0 0 22px}.footer-trust p{margin:0}.footer-trust strong,.footer-trust p>span{display:block}.footer-trust strong{color:var(--ink);font-size:15px}.footer-trust p>span{margin-top:2px}.footer-trust ul{display:flex;flex-wrap:wrap;gap:7px 16px;margin:12px 0 0;padding:0;list-style:none;color:var(--accent-dark);font-size:12px;font-weight:700}.footer-trust li::before{content:"✓";margin-right:5px}.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:16px}.site-footer a,.legal-content a{color:var(--accent-dark)}.legal-content h1{font-family:Georgia,"Yu Mincho",serif;font-weight:500}.legal-content h2{margin-top:30px;font-size:20px}.legal-content dl{margin:0}.legal-content dt{font-weight:700;margin-top:22px}.legal-content dd{margin:5px 0 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.field select{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;background:#fff;padding:13px 14px}.bot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.payment-guide-shell{max-width:760px}.payment-guide{border-color:#d8c8b9;text-align:center;color:var(--ink)}.payment-guide h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(25px,5vw,34px);font-weight:500;margin-bottom:26px}.payment-guide__status{display:inline-block;margin:0 0 22px;padding:12px 22px;border-radius:14px;background:#f2e7dc;color:var(--accent-dark);font-weight:700;font-size:clamp(20px,4vw,25px);line-height:1.45}.payment-guide__description{margin:0 auto 18px;font-size:16px}.payment-guide__confirmation{margin:0 auto 24px;color:var(--accent-dark);font-size:clamp(17px,3vw,20px);font-weight:700}.payment-guide__number{margin:0 auto 28px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#faf7f2;color:var(--muted)}.payment-guide__number strong{color:var(--ink);font-size:18px;white-space:nowrap}.payment-guide__button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:62px;padding:17px 28px;border:2px solid var(--accent-dark);border-radius:14px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:19px;line-height:1.5;box-shadow:0 8px 0 var(--accent-dark),0 14px 24px rgba(113,64,38,.18);transition:background-color .2s,transform .2s,box-shadow .2s}.payment-guide__button:hover{background:var(--accent-dark)}.payment-guide__button:focus-visible{outline:4px solid rgba(155,93,56,.3);outline-offset:4px}.payment-guide__button:active{transform:translateY(4px);box-shadow:0 4px 0 var(--accent-dark),0 8px 16px rgba(113,64,38,.16)}
@media(max-width:680px){.payment-guide-shell{margin-top:16px}.payment-guide{padding:26px 20px 30px}.payment-guide h1{margin-bottom:22px}.payment-guide__status{display:block;padding:13px 10px}.payment-guide__description br{display:none}.payment-guide__confirmation{margin-bottom:22px}.payment-guide__number{padding:12px 8px}.payment-guide__number strong{font-size:16px}.payment-guide__button{min-height:64px;font-size:18px}}
.template-options{align-items:stretch}.template-options label{min-width:0}.template-options>label>span{height:100%;padding:8px 8px 14px;overflow:hidden;background:#fff}.template-preview{display:block;width:100%;aspect-ratio:1/1;margin-bottom:10px;border-radius:9px;background-image:url("template-previews.png");background-repeat:no-repeat;background-size:300% 100%;background-color:#eee8df}.template-preview--a{background-position:left center}.template-preview--b{background-position:center center}.template-preview--c{background-position:right center}.template-options b{font-size:22px;line-height:1.2}.template-options small{color:var(--ink);font-size:13px}.plate-text-guide{margin:4px 0 12px;padding:12px 14px;border-left:4px solid var(--accent);border-radius:0 9px 9px 0;background:#f7efe7;color:var(--accent-dark);font-size:14px}
@media(max-width:680px){.visual-options.template-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.template-options>label>span{padding:5px 5px 10px}.template-preview{margin-bottom:7px;border-radius:7px}.template-options b{font-size:19px}.template-options small{font-size:10px;white-space:nowrap}.plate-text-guide{font-size:13px}}
.attachment-guide{display:grid;grid-template-columns:minmax(280px,1.6fr) 1fr;gap:20px;align-items:center;margin:0 0 24px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf7f2}.attachment-guide__image{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:10px}.attachment-guide p{margin:0;color:var(--muted);font-size:14px}.attachment-guide strong{display:block;margin-bottom:6px;color:var(--ink);font-size:17px}.attachment-color-options label{justify-content:center;min-height:70px;font-weight:700;cursor:pointer}.attachment-color-options input{width:22px;height:22px;accent-color:var(--accent)}.attachment-color-options .color-dot{width:32px;height:32px;flex:none;box-shadow:0 0 0 1px rgba(34,32,29,.14)}
@media(max-width:680px){.attachment-guide{grid-template-columns:1fr;gap:12px;padding:10px}.attachment-guide p{font-size:13px}.color-options.attachment-color-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.attachment-color-options label{min-height:88px;flex-direction:column;justify-content:center;gap:5px;padding:8px 4px;font-size:12px}.attachment-color-options .color-dot{width:34px;height:34px}}
.choice-card__body{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:16px;align-items:stretch}.choice-card__copy{display:flex;min-width:0;flex-direction:column}.choice-card__body img{display:block;width:132px;height:132px;align-self:center;border-radius:12px;object-fit:cover}.choice-card__copy small{color:var(--muted);flex:1}.choice-card__copy strong{font-size:21px}
@media(max-width:680px){.choice-card__body{grid-template-columns:minmax(0,1fr) 92px;gap:8px;padding:12px;min-height:116px}.choice-card__body img{width:92px;height:92px;border-radius:9px}.choice-card__copy b{font-size:20px}.choice-card__copy small{font-size:10px;line-height:1.45}.choice-card__copy strong{font-size:17px}}
.gift-box-option{align-items:center}.gift-box-option>span{min-width:0;flex:1}.gift-box-option>img{display:block;width:190px;height:86px;margin-left:auto;border-radius:10px;object-fit:cover}
@media(max-width:680px){.gift-box-option{padding:10px;gap:8px}.gift-box-option>img{width:120px;height:70px;border-radius:8px}.gift-box-option b{font-size:13px}.gift-box-option small{font-size:11px}}
.order-header__actions{display:flex;align-items:center;gap:18px}.order-header__actions a{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1px solid var(--accent);border-radius:999px;color:var(--accent-dark);font-size:13px;font-weight:700;text-decoration:none;background:var(--card)}.order-header__actions a:hover{background:#f2e7dc}
@media(max-width:680px){.order-header__actions{gap:8px}.order-header__actions>span{display:none}.order-header__actions a{min-height:36px;padding:6px 10px;font-size:11px}.brand{font-size:22px}}
.content-actions{display:grid;gap:12px}.content-actions .button-secondary{background:#fff;color:var(--accent-dark);border:1px solid var(--accent)}.content-actions .button-secondary:hover{background:#f2e7dc}.uploaded-list{margin:-4px 0 22px;padding:14px 14px 14px 34px;border-radius:10px;background:#f2eee7;color:var(--muted);font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700}
.brand-operator{display:block;margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.04em}.payment-assurance a,.checkout-assurance a{color:var(--accent-dark)}.shipping-estimate{margin:18px 0 0;padding:11px 14px;border-radius:10px;background:#f7efe7;color:var(--accent-dark);font-size:14px}.shipping-estimate strong{margin-right:8px}.postal-lookup{grid-column:1/-1;margin:-8px 0 4px;color:var(--muted);font-size:12px}.postal-lookup[data-state="loading"]{color:var(--accent-dark)}.postal-lookup[data-state="success"]{color:#276143}.postal-lookup[data-state="failure"]{color:#8a4c27}.postal-lookup [data-postal-choices]{display:grid;gap:7px;margin-top:8px}.postal-choice{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.postal-choice:hover,.postal-choice:focus-visible{border-color:var(--accent);background:#faf7f2}.payment-assurance{margin:18px 0;padding:16px 18px;border:1px solid #d8c8b9;border-radius:12px;background:#faf7f2;text-align:left}.payment-assurance strong{display:block;color:var(--accent-dark)}.payment-assurance ul{margin:9px 0;padding-left:20px}.payment-assurance p,.checkout-assurance{color:var(--muted);font-size:13px}.checkout-assurance{margin:12px 0 0!important}
@media(max-width:680px){.brand-operator{font-size:9px}.footer-trust ul{display:grid;gap:6px}.postal-lookup{margin-top:-4px}.payment-assurance{padding:14px}}
