:root{--co-wine:#762c41;--co-dark:#402a2d;--co-cream:#fbf7ee;--co-line:#dfcec3;--co-serif:'Zen Old Mincho','Yu Mincho',serif;--co-sans:'Noto Sans JP',sans-serif}
body.commerce-page{margin:0;background:var(--co-cream)}
#commerce-root,#co-page,#hanabi-cart-dialog{box-sizing:border-box;color:var(--co-dark);font-family:var(--co-sans);font-size:15px;line-height:1.8}
#commerce-root *,#co-page *,#hanabi-cart-dialog *{box-sizing:border-box}
#commerce-root{min-height:100vh;background:radial-gradient(ellipse at 93% 1%,#eacfc6aa,transparent 32%),repeating-linear-gradient(105deg,#b9906005 0 1px,transparent 1px 5px),var(--co-cream)}
#commerce-root a,#co-page a,#hanabi-cart-dialog a{color:inherit;text-decoration:none}
#commerce-root button,#co-page button,#hanabi-cart-dialog button{font:inherit;cursor:pointer}
#commerce-root button:disabled,#co-page button:disabled,#hanabi-cart-dialog button:disabled{opacity:.45;cursor:not-allowed}
#commerce-root h1,#commerce-root h2,#commerce-root h3,#commerce-root p,#hanabi-cart-dialog h2,#hanabi-cart-dialog p{margin:0}
#commerce-root [hidden],#co-page [hidden],#hanabi-cart-dialog [hidden],.co-cart-toast[hidden]{display:none!important}
#commerce-root :focus-visible,#co-page :focus-visible,#hanabi-cart-dialog :focus-visible{outline:3px solid #a9724e;outline-offset:4px}
.co-skip{position:absolute;left:12px;top:-100px;z-index:9999;background:#fff;padding:12px}.co-skip:focus{top:12px}
.co-header{max-width:1240px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--co-line)}
.co-brand{display:flex;flex-direction:column}.co-brand>span{font-size:10px;letter-spacing:.12em}.co-brand>b{font:52px/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;color:var(--co-wine)}.co-brand i{font:26px var(--co-serif);font-style:normal}
.co-back{font-size:14px;padding:12px 0;white-space:nowrap}.co-back span{margin-left:14px}
.co-heading{max-width:820px;margin:0 auto;padding:52px 24px 35px}.co-kicker{font-size:11px;letter-spacing:.18em;color:var(--co-wine);font-weight:600}.co-heading h1{font:clamp(29px,4.3vw,48px)/1.6 var(--co-serif);margin:12px 0!important}.co-heading>p:last-child{font-size:15px;color:#76615b}
#co-content{max-width:820px;margin:auto;padding:0 24px 80px}.co-loading{text-align:center;padding:60px 20px;color:#78645d}
.co-panel{background:linear-gradient(145deg,#fffefa,#fcf6ec);border:1px solid #dec9ba;border-radius:18px;padding:30px;box-shadow:0 16px 45px #512d3510;min-width:0}
.co-panel h2{font-family:var(--co-serif);font-weight:500;font-size:25px;margin-bottom:20px!important}
.co-btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:53px;padding:13px 20px;border:1px solid #81374a;border-radius:9px;color:#fffaf0!important;background:linear-gradient(125deg,#974b5d,#70293e 68%,#80374b);box-shadow:0 4px 0 #4c1728,0 9px 20px #762c411a;font-weight:500;font-size:15px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.co-btn:active{transform:translateY(4px) scale(.98);box-shadow:0 0 0 #4c1728}.co-btn-secondary{background:linear-gradient(140deg,#fffdf8,#f0e3d1);color:var(--co-wine)!important;border-color:#ccb5a0;box-shadow:0 4px 0 #d0bba9}.co-btn-secondary:active{box-shadow:none}.co-btn-wide{width:100%}
.co-text-button{background:none;border:0;color:var(--co-wine);padding:11px 3px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.co-actions{display:flex;flex-direction:column;gap:13px;margin-top:23px}
.co-cart-intro{font-size:13px;color:#806c64;margin:0 0 19px!important}
.co-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px;padding:22px 0;border-bottom:1px solid #e7d9cc}.co-item:first-child{padding-top:0}.co-item img,.co-image-placeholder{width:76px;height:83px;object-fit:cover;border-radius:9px;background:#f1e6d7}.co-image-placeholder{display:grid;place-items:center;color:#8e6870;font:10px Georgia,serif;letter-spacing:.08em}
.co-item h3{font-family:var(--co-serif);font-size:18px;font-weight:500;line-height:1.6;margin:0;overflow-wrap:anywhere}.co-item .co-item-subtitle{font-size:12px;color:#816a60;margin:4px 0 6px!important;line-height:1.6}.co-item-choices{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin:8px 0;padding:0}.co-item-choices li{font-size:12px;line-height:1.6;color:#73574e;background:linear-gradient(130deg,#f5e8da,#eddbca);border:1px solid #dcc5b2;border-radius:4px;padding:3px 7px;overflow-wrap:anywhere}
.co-item-price{font-size:19px;color:var(--co-wine);font-weight:500}.co-item-price small{font-size:11px;font-weight:400}.co-small{font-size:12px;color:#7b655c}.co-hint{font-size:13px;color:#806c64;margin-top:12px!important}
.co-qty-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px}.co-quantity{display:flex;align-items:center;gap:1px;border:1px solid #d8c2b1;border-radius:7px;background:#fffdf8;overflow:hidden}.co-quantity button{width:44px;min-height:44px;display:grid;place-items:center;background:linear-gradient(145deg,#fffdf8,#f3e8d9);border:0;font-size:20px!important;color:var(--co-wine);padding:0;box-shadow:inset 0 -2px 0 #ddc9b4;transition:transform .15s,box-shadow .15s}.co-quantity button:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #6b3f2420}.co-quantity span{min-width:32px;text-align:center;font-size:15px;font-variant-numeric:lining-nums tabular-nums}
.co-remove{font-size:13px!important;color:#826b60;border:0;background:none;min-height:44px;text-decoration:underline;text-underline-offset:4px;padding:8px 3px}.co-product-link{font-size:12px;display:inline-flex;gap:5px;align-items:center;min-height:44px;text-decoration:underline!important;text-underline-offset:4px;color:var(--co-wine)!important;margin-top:5px}
.co-total{margin:23px 0 0}.co-total>div{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font-size:14px}.co-total dt,.co-total dd{margin:0}.co-total .co-grand-total{padding-top:15px;border-top:1px solid #d7c0ac;align-items:center;color:var(--co-wine)}.co-grand-total dd{font-family:Georgia,serif;font-size:30px}.co-grand-total dd small{font-family:var(--co-sans);font-size:12px;margin-left:6px}
.co-item-price,.co-total dd{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1,"onum" 0,"pnum" 0;font-kerning:none;letter-spacing:0;white-space:nowrap}
.co-notice{border:1px solid #d9bc90;background:linear-gradient(135deg,#fff7dd,#fbebd2);padding:18px 20px;border-radius:11px;font-size:14px;margin:23px 0 0!important}.co-notice strong{display:block;color:#704b2f;margin-bottom:6px}.co-error{padding:14px 18px;border:1px solid #ad5564;background:#fff0e8;color:#81223c;border-radius:8px;font-size:14px;margin:0 0 18px!important;overflow-wrap:anywhere}
.co-empty{text-align:center;padding:36px 8px}.co-empty .co-rose{font:60px/1.3 var(--co-serif);color:#a56d75;display:block}.co-empty h2{font-family:var(--co-serif);font-size:24px;margin:15px 0!important}.co-empty p{font-size:14px;color:#806d65;margin-bottom:25px!important}
.co-footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;border-top:1px solid #decabb;padding:28px 22px 40px;font-size:12px}.co-footer span{width:100%;text-align:center;color:#897468;font-family:Georgia,serif;letter-spacing:.2em}
.co-cart-icon{width:23px;height:23px;display:block;stroke:currentColor;fill:none;stroke-width:1.4}.commerce-cart-toggle{display:inline-flex;gap:6px;align-items:center;min-height:44px}.commerce-cart-toggle [data-cart-count]{font-size:12px}
#hanabi-cart-dialog{padding:0;width:min(540px,calc(100% - 24px));max-height:90dvh;border:1px solid #d9c1ae;border-radius:20px;background:linear-gradient(140deg,#fffdf8,#faf0e2);box-shadow:0 30px 80px #29121950;overflow:auto;overscroll-behavior:contain}#hanabi-cart-dialog[open]{animation:co-bloom .35s cubic-bezier(.2,.7,.3,1)}#hanabi-cart-dialog::backdrop{background:#24131699;backdrop-filter:blur(7px)}
.co-cart-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 25px;background:#fcf6eced;backdrop-filter:blur(12px);border-bottom:1px solid #e2cdbb}.co-cart-head h2{font-family:var(--co-serif);font-size:24px;font-weight:500}.co-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #d6c0ad;border-radius:50%;font-size:25px!important;color:var(--co-wine);background:linear-gradient(140deg,#fffdf9,#f1dfcc);box-shadow:0 3px 0 #cab29d;transition:transform .15s,box-shadow .15s}.co-close:active{transform:translateY(3px);box-shadow:none}.co-cart-body{padding:22px 25px 30px}
.co-cart-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:9999;color:#fffaf0;background:linear-gradient(120deg,#843b50,#65253b);padding:12px 20px;border:1px solid #a06879;border-radius:9px;box-shadow:0 5px 30px #25102033;font-family:var(--co-sans);font-size:14px;max-width:90vw;width:max-content;text-align:center;pointer-events:none}
@keyframes co-bloom{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.co-header{padding:18px 20px}.co-brand>b{font-size:43px}.co-brand>span{font-size:9px}.co-back{font-size:13px}.co-heading{padding:35px 21px 26px}.co-heading h1{font-size:30px}.co-heading>p:last-child{font-size:14px}#co-content{padding:0 16px 50px}.co-panel{padding:23px 20px;border-radius:15px}.co-item{grid-template-columns:68px minmax(0,1fr);gap:12px}.co-item img,.co-image-placeholder{width:68px;height:77px}.co-item h3{font-size:17px}.co-cart-head{padding:18px 19px}.co-cart-body{padding:20px 18px 26px}.co-notice{font-size:13px;padding:15px}.co-grand-total dd{font-size:27px}.co-footer{gap:12px 20px;font-size:11px}}
@media(max-width:360px){.co-item{grid-template-columns:54px minmax(0,1fr);gap:10px}.co-item img,.co-image-placeholder{width:54px;height:66px}.co-cart-body{padding:18px 14px 23px}.co-quantity button{width:40px}.co-empty h2{font-size:21px}.co-grand-total dd{font-size:25px}}
@media(prefers-reduced-motion:reduce){#hanabi-cart-dialog[open]{animation:none}.co-btn,.co-close,.co-quantity button{transition:none}}
