/* amoe-shop-checkout 固有スタイル */
:root{
    --ivory:#f7f3ec; --ivory-deep:#efe8dc; --ink:#2b2723; --ink-soft:#5c554c;
    --gold:#b08d57; --gold-soft:#cdb892; --blush:#d8b7ac; --blush-soft:#ecd9d1; --line:#e2d9cb;
    --serif:'Cormorant Garamond',serif; --mincho:'Shippori Mincho',serif; --sans:'Jost',sans-serif;
  }
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;}
.co-header{border-bottom:1px solid var(--line);padding:22px 40px;display:flex;align-items:center;justify-content:space-between;}
.co-header .logo{font-family:var(--serif);font-size:24px;letter-spacing:.35em;padding-left:.35em;}
.co-header .logo small{font-family:var(--sans);font-size:8px;letter-spacing:.5em;color:var(--gold);display:block;margin-top:3px;}
.co-header .secure{font-size:11px;letter-spacing:.1em;color:var(--ink-soft);}
.co-header .secure b{color:var(--gold);font-weight:400;}
.co-steps{display:flex;justify-content:center;gap:14px;padding:24px 40px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);}
.co-steps .st{display:flex;align-items:center;gap:8px;}
.co-steps .st.active{color:var(--ink);}
.co-steps .st .n{width:22px;height:22px;border-radius:50%;border:1px solid var(--gold-soft);display:flex;align-items:center;justify-content:center;font-size:10px;}
.co-steps .st.active .n{background:var(--gold);color:var(--ivory);border-color:var(--gold);}
.co-steps .sep{color:var(--gold-soft);}
.co-wrap{max-width:1140px;margin:0 auto;padding:50px 40px 90px;display:grid;grid-template-columns:1.3fr 1fr;gap:64px;}
.co-form h2{font-family:var(--serif);font-style:italic;font-size:26px;margin-bottom:6px;font-weight:400;}
.co-form .sec{margin-bottom:42px;}
.co-form .sec-num{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px;}
.field input,.field select{width:100%;border:1px solid var(--line);background:var(--ivory);padding:13px 15px;font-family:var(--sans);font-size:14px;color:var(--ink);outline:none;transition:border-color .3s;border-radius:1px;}
.field input:focus,.field select:focus{border-color:var(--gold-soft);}
.field input::placeholder{color:var(--ink-soft);opacity:.6;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.ship-opt{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:16px 18px;margin-bottom:12px;cursor:pointer;transition:border-color .3s;border-radius:1px;}
.ship-opt:hover{border-color:var(--gold-soft);}
.ship-opt.active{border-color:var(--gold);background:var(--ivory-deep);}
.ship-opt .radio{width:18px;height:18px;border-radius:50%;border:1px solid var(--gold-soft);flex-shrink:0;position:relative;}
.ship-opt.active .radio::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--gold);}
.ship-opt .info{flex:1;}
.ship-opt .info b{font-weight:400;font-family:var(--mincho);font-size:14px;}
.ship-opt .info span{display:block;font-size:12px;color:var(--ink-soft);}
.ship-opt .price{font-family:var(--serif);font-style:italic;font-size:16px;}
.ship-opt .price.free{color:var(--gold);}
.ship-single{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--gold);background:var(--ivory-deep);padding:18px 22px;border-radius:1px;}
.ship-single .info b{font-weight:400;font-family:var(--mincho);font-size:15px;color:var(--ink);display:block;margin-bottom:4px;}
.ship-single .info span{font-size:11px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;}
.ship-single .price{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink);}
.ship-single .price.free{color:var(--gold);}
.pay-note{background:var(--ivory-deep);padding:16px 18px;font-size:12px;color:var(--ink-soft);line-height:1.8;letter-spacing:.03em;margin-bottom:18px;display:flex;gap:12px;}
.pay-note .lock{color:var(--gold);font-size:15px;}
.co-summary{background:var(--ivory-deep);padding:34px 30px;align-self:start;position:sticky;top:30px;}
.co-summary h3{font-family:var(--serif);font-style:italic;font-size:22px;margin-bottom:22px;font-weight:400;}
.sum-item{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.sum-item .si-img{aspect-ratio:3/4;background:var(--ivory);border:1px solid var(--line);position:relative;}
.sum-item .si-img .q{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--ivory);font-size:10px;display:flex;align-items:center;justify-content:center;}
.sum-item .si-name{font-family:var(--mincho);font-size:13px;}
.sum-item .si-by{font-size:10px;color:var(--ink-soft);letter-spacing:.04em;margin-top:3px;}
.sum-item .si-shape{font-size:10.5px;color:var(--gold);letter-spacing:.04em;margin-top:5px;font-family:var(--mincho);}
.sum-item .si-shape::before{content:'❀ ';font-size:9px;}
.sum-item .si-sizes{margin-top:8px;padding:8px 10px;background:var(--ivory);font-size:10.5px;color:var(--ink-soft);letter-spacing:.04em;line-height:1.6;border-left:2px solid var(--gold-soft);}
.sum-item .si-sizes b{color:var(--ink);font-weight:500;font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.08em;}
.sum-item .si-sizes .sz-label{display:inline-block;width:36px;color:var(--gold);font-size:9px;letter-spacing:.1em;text-transform:uppercase;}
.sum-item .si-price{font-family:var(--serif);font-style:italic;font-size:15px;text-align:right;}
.sum-item .si-actions{display:flex;align-items:center;gap:14px;margin-top:11px;flex-wrap:wrap;}
.si-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:2px;background:var(--ivory);overflow:hidden;}
.si-qty button{width:26px;height:26px;border:none;background:none;color:var(--ink-soft);font-size:15px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s;}
.si-qty button:hover{color:var(--gold);}
.si-qty button:disabled{opacity:.3;cursor:default;color:var(--ink-soft);}
.si-qty .n{min-width:26px;height:26px;line-height:26px;text-align:center;font-size:12px;color:var(--ink);border-left:1px solid var(--line);border-right:1px solid var(--line);}
.si-remove{background:none;border:none;padding:0;font-family:var(--sans);font-size:11px;letter-spacing:.05em;color:var(--ink-soft);cursor:pointer;transition:color .2s;}
.si-remove:hover{color:var(--blush);}
.cart-empty{text-align:center;padding:26px 10px 30px;}
.cart-empty p{font-family:var(--mincho);font-size:14px;color:var(--ink-soft);margin-bottom:18px;}
.cart-empty a{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:10px 24px;font-size:12px;letter-spacing:.08em;text-decoration:none;border-radius:1px;transition:all .25s;}
.cart-empty a:hover{background:var(--gold);color:var(--ivory);}
.place-order.disabled{opacity:.4;pointer-events:none;}
.sum-line{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);margin-bottom:11px;letter-spacing:.04em;}
.ship-plan{background:var(--ivory);border:1px solid var(--line);padding:16px 16px 14px;margin-bottom:20px;border-radius:1px;}
.ship-plan .sp-title{font-family:var(--mincho);font-size:13px;color:var(--ink);margin-bottom:12px;letter-spacing:.04em;}
.ship-plan .sp-title::before{content:'✦ ';color:var(--gold);font-size:11px;}
.sp-steps{display:flex;flex-direction:column;gap:9px;margin-bottom:4px;}
.sp-step{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:baseline;font-size:11.5px;color:var(--ink-soft);line-height:1.7;}
.sp-step .sp-n{width:20px;height:20px;border-radius:50%;border:1px solid var(--gold-soft);color:var(--gold);font-size:10px;display:flex;align-items:center;justify-content:center;}
.sp-step b{font-family:var(--mincho);font-weight:500;color:var(--ink);font-size:12.5px;display:block;}
.sp-step .sp-fee{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--ink);white-space:nowrap;}
.sp-step .sp-fee.free{color:var(--gold);}
.sp-opts{border-top:1px solid var(--line);margin-top:13px;padding-top:12px;}
.sp-opt-label{font-size:11px;color:var(--ink-soft);letter-spacing:.04em;margin-bottom:9px;}
.sp-opt{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--ink);cursor:pointer;margin-bottom:8px;line-height:1.6;}
.sp-opt input{margin-top:3px;accent-color:var(--gold);}
.sp-opt b{font-weight:500;font-family:var(--mincho);}
.sp-opt em{display:block;font-style:normal;font-size:10.5px;color:var(--ink-soft);margin-top:2px;line-height:1.65;}
.sum-line .v{color:var(--ink);}
.sum-line .free{color:var(--gold);}
.sum-line .pending{color:var(--ink-soft);font-style:italic;font-family:var(--serif);font-size:12px;}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:18px;margin-top:18px;}
.sum-total .lbl{font-size:12px;letter-spacing:.15em;text-transform:uppercase;}
.sum-total .amt{font-family:var(--serif);font-style:italic;font-size:30px;}
.country-note{background:var(--ivory);border:1px dashed var(--gold-soft);padding:12px 14px;margin-bottom:18px;font-size:11px;color:var(--ink-soft);letter-spacing:.03em;line-height:1.6;}
.country-note.set{border-color:var(--gold);background:var(--ivory-deep);}
.country-note b{color:var(--ink);font-family:var(--mincho);font-weight:500;}
.place-order{width:100%;background:var(--ink);color:var(--ivory);border:none;padding:18px;font-family:var(--sans);font-size:12px;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:background .4s;margin-top:24px;}
.place-order.locked{background:var(--line);color:var(--ink-soft);cursor:not-allowed;}
.size-gate{display:none;background:#fff;border:1px solid var(--rust,#a8674f);border-left:3px solid var(--rust,#a8674f);border-radius:2px;padding:16px 18px;margin-top:20px;}
.size-gate.show{display:block;}
.size-gate .sg-t{font-family:var(--mincho);font-size:13px;color:var(--rust,#a8674f);font-weight:500;margin-bottom:6px;}
.size-gate .sg-b{font-family:var(--mincho);font-size:12px;color:var(--ink-soft);line-height:1.8;margin-bottom:13px;}
.size-gate .sg-acts{display:flex;gap:10px;flex-wrap:wrap;}
.size-gate .sg-btn{flex:1;min-width:150px;text-align:center;font-family:var(--sans);font-size:11px;letter-spacing:.08em;padding:12px 14px;border-radius:2px;cursor:pointer;transition:all .3s;text-decoration:none;}
.size-gate .sg-btn.primary{background:var(--ink);color:var(--ivory);border:1px solid var(--ink);}
.size-gate .sg-btn.primary:hover{background:var(--gold);border-color:var(--gold);}
.size-gate .sg-btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);}
.size-gate .sg-btn.ghost:hover{border-color:var(--ink-soft);}
.place-order:hover{background:var(--gold);}
.co-trust{margin-top:18px;display:flex;flex-direction:column;gap:9px;}
.co-trust .ct{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-soft);letter-spacing:.03em;}
.co-trust .ct i{color:var(--gold);font-style:normal;width:16px;text-align:center;}

@media (max-width: 920px) {
  .co-wrap{grid-template-columns:1fr;gap:40px;padding:40px 20px 70px;}
  .co-summary{position:static;order:-1;}
  .co-header{padding:18px 20px;}
  .co-steps{gap:8px;padding:18px 20px;font-size:10px;}
}
