/* takeout.css — takeout.html 固有スタイル */

/* ステップバー（PC） */
.step-bar-wrap{background:var(--espresso);border-top:1px solid rgba(196,169,107,0.12);padding:0 80px;}
.step-bar{display:flex;align-items:center;max-width:900px;margin:0 auto;}
.step-item{display:flex;align-items:center;gap:10px;padding:18px 0;flex:1;position:relative;cursor:default;}
.step-item:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:20px;background:rgba(196,169,107,0.2);}
.step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Cormorant Garamond',serif;font-size:12px;border:1px solid rgba(196,169,107,0.3);color:rgba(196,169,107,0.4);transition:all 0.4s;}
.step-label{font-size:10px;letter-spacing:0.16em;color:rgba(250,247,242,0.3);transition:color 0.4s;white-space:nowrap;}
.step-item.active .step-num{background:var(--gold);border-color:var(--gold);color:var(--espresso);}
.step-item.active .step-label{color:var(--gold);}
.step-item.done .step-num{background:rgba(196,169,107,0.2);border-color:rgba(196,169,107,0.4);color:var(--gold);}
.step-item.done .step-label{color:rgba(250,247,242,0.45);}
.step-bar-mobile{display:none;background:var(--espresso);border-top:1px solid rgba(196,169,107,0.12);padding:14px 24px;align-items:center;justify-content:space-between;}
.step-dots{display:flex;gap:6px;}
.step-dot{width:6px;height:6px;border-radius:50%;background:rgba(196,169,107,0.2);transition:background 0.4s;}
.step-dot.active{background:var(--gold);}
.step-dot.done{background:rgba(196,169,107,0.4);}
.step-current-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.24em;color:var(--gold);}
.step-progress{font-size:10px;letter-spacing:0.14em;color:rgba(250,247,242,0.35);}
main{max-width:860px;margin:0 auto;padding:64px 80px 96px;}
.step-panel{display:none;}
.step-panel.active{display:block;animation:fadeUp 0.45s ease;}
.panel-lbl{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.4em;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.panel-lbl::before{content:'';width:24px;height:1px;background:var(--gold);}
.panel-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(20px,3vw,28px);font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:36px;}
.step2-store-badge{display:flex;align-items:center;justify-content:center;gap:16px;font-family:'Shippori Mincho',serif;font-weight:600;font-size:18px;letter-spacing:0.22em;color:var(--espresso);margin-top:-20px;margin-bottom:32px;}
.step2-store-badge::before,.step2-store-badge::after{content:'';flex:1;max-width:60px;height:1px;background:var(--espresso);opacity:0.3;}
.menu-check-link{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding:16px 20px;background:var(--warm);border:1px solid var(--sand);}
.menu-check-txt{font-size:12px;letter-spacing:0.08em;color:var(--text-l);}
.menu-check-anchor{font-size:12px;letter-spacing:0.16em;color:var(--espresso);text-decoration:none;border-bottom:1px solid var(--tan);padding-bottom:2px;white-space:nowrap;transition:all 0.25s;flex-shrink:0;}
.menu-check-anchor:hover{color:var(--gold);border-color:var(--gold);}
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:48px;}
.store-opt{background:var(--warm);padding:36px 28px;cursor:pointer;border:2px solid transparent;transition:all 0.25s;position:relative;}
.store-opt:hover{border-color:rgba(196,169,107,0.4);}
.store-opt.selected{border-color:var(--gold);background:var(--cream);}
.store-opt.selected::after{content:'✓';position:absolute;top:12px;right:14px;font-size:12px;color:var(--gold);}
.store-opt-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:8px;}
.store-opt-nm{font-family:'Shippori Mincho',serif;font-size:18px;font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:14px;}
.store-opt-info{font-size:11.5px;line-height:2;letter-spacing:0.06em;color:var(--text-l);}
.form-select-wrap{position:relative;}
.form-select-wrap::after{content:'▾';position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--tan);pointer-events:none;font-size:12px;}
.timeslot-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:28px;}
.timeslot-opt{background:var(--warm);padding:28px 24px;cursor:pointer;border:2px solid transparent;transition:all 0.25s;text-align:center;}
.timeslot-opt:hover{border-color:rgba(196,169,107,0.4);}
.timeslot-opt.selected{border-color:var(--gold);background:var(--cream);}
.timeslot-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:6px;}
.timeslot-nm{font-family:'Shippori Mincho',serif;font-size:16px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:4px;}
.timeslot-time{font-size:11px;letter-spacing:0.1em;color:var(--text-l);}
.notice{background:var(--espresso);padding:20px 24px;margin-bottom:28px;display:flex;gap:14px;align-items:flex-start;}
.notice-icon{color:var(--gold);font-size:14px;flex-shrink:0;margin-top:2px;}
.notice-text{font-size:12px;line-height:2;letter-spacing:0.06em;color:rgba(250,247,242,0.65);}
.notice-text strong{color:var(--gold);}
.menu-list{display:flex;flex-direction:column;gap:0;margin-bottom:36px;}
.menu-item{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--sand);}
.menu-item-img{height:80px;width:110px;object-fit:cover;}
.menu-item-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:10px;letter-spacing:0.28em;color:var(--gold);margin-bottom:5px;}
.menu-item-nm{font-family:'Shippori Mincho',serif;font-size:16px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:5px;}
.menu-item-dc{font-size:11.5px;line-height:2;letter-spacing:0.05em;color:var(--text-m);}
.menu-item-pr{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:300;letter-spacing:0.04em;color:var(--espresso);white-space:nowrap;text-align:right;}
.menu-item-pr small{font-size:10px;color:var(--text-l);display:block;}
.qty-ctrl{display:flex;align-items:center;gap:10px;margin-top:10px;}
.qty-btn{width:28px;height:28px;background:var(--warm);border:1px solid var(--sand);cursor:pointer;font-size:16px;color:var(--text-m);display:flex;align-items:center;justify-content:center;transition:all 0.2s;user-select:none;line-height:1;}
.qty-btn:hover{border-color:var(--gold);color:var(--gold);}
.qty-num{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:300;min-width:24px;text-align:center;}
.cart-area{background:var(--warm);border:1px solid var(--sand);padding:28px 28px 24px;margin-bottom:48px;}
.cart-ttl{font-family:'Shippori Mincho',serif;font-size:14px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--sand);}
.cart-empty{font-size:12px;letter-spacing:0.08em;color:var(--text-l);text-align:center;padding:16px 0;}
.cart-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(232,221,208,0.6);}
.cart-row:last-of-type{border-bottom:none;}
.cart-item-nm{font-size:12.5px;letter-spacing:0.07em;color:var(--text-m);}
.cart-item-qty{font-size:11px;color:var(--text-l);margin-left:6px;}
.cart-item-pr{font-family:'Noto Serif JP',serif;font-size:14px;font-weight:300;color:var(--espresso);}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:16px;border-top:1px solid var(--sand);}
.cart-total-label{font-size:12px;letter-spacing:0.14em;color:var(--text-m);}
.cart-total-pr{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:300;color:var(--espresso);}
.cart-total-pr small{font-size:11px;color:var(--text-l);margin-left:4px;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.email-caution{font-size:11.5px;line-height:1.9;letter-spacing:0.06em;color:var(--err);margin-top:8px;opacity:0.85;}
.confirm-row-email{background:rgba(192,57,43,0.04);border:1px solid rgba(192,57,43,0.15);padding:14px 16px;margin:4px 0;align-items:flex-start;}
.confirm-email-val{font-size:15px;letter-spacing:0.08em;color:var(--espresso);font-weight:500;}
.confirm-email-note{font-size:11.5px;line-height:1.9;letter-spacing:0.06em;color:var(--err);margin-top:6px;opacity:0.85;}
.confirm-block{margin-bottom:32px;}
.confirm-block-ttl{font-family:'Shippori Mincho',serif;font-size:13px;font-weight:600;letter-spacing:0.14em;color:var(--espresso);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--sand);}
.confirm-row{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid rgba(232,221,208,0.5);}
.confirm-row:last-child{border-bottom:none;}
.confirm-key{font-size:11.5px;letter-spacing:0.1em;color:var(--text-l);min-width:110px;flex-shrink:0;}
.confirm-val{font-size:13px;letter-spacing:0.07em;color:var(--text-m);}
.confirm-total{display:flex;justify-content:space-between;align-items:baseline;background:var(--warm);padding:20px 24px;margin-top:8px;}
.confirm-total-label{font-size:12px;letter-spacing:0.14em;color:var(--text-m);}
.confirm-total-pr{font-family:'Noto Serif JP',serif;font-size:26px;font-weight:300;color:var(--espresso);}
.confirm-total-pr small{font-size:11px;color:var(--text-l);margin-left:4px;}
.confirm-policy{font-size:11.5px;line-height:2.2;letter-spacing:0.06em;color:var(--text-l);background:var(--warm);padding:20px 24px;margin-top:24px;}
.confirm-policy strong{color:var(--text-m);}
.complete-wrap{text-align:center;padding:20px 0 40px;}
.complete-icon{width:72px;height:72px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;font-size:28px;color:var(--gold);}
.complete-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(20px,3vw,28px);font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:16px;}
.complete-body{font-size:13px;line-height:2.4;letter-spacing:0.07em;color:var(--text-m);margin-bottom:36px;}
.reservation-num{display:inline-block;background:var(--espresso);padding:24px 48px;margin-bottom:36px;}
.reservation-num-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.3em;color:var(--gold);margin-bottom:8px;}
.reservation-num-val{font-family:'Noto Serif JP',serif;font-size:28px;font-weight:300;letter-spacing:0.1em;color:var(--cream);}
.complete-note{font-size:12px;line-height:2.3;letter-spacing:0.07em;color:var(--text-l);background:var(--warm);padding:24px;text-align:left;margin-bottom:36px;}
.complete-note strong{color:var(--text-m);}
.btn-area{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:36px;border-top:1px solid var(--sand);}
.btn-area.single{justify-content:flex-end;}
.btn-back{font-size:11px;letter-spacing:0.22em;color:var(--text-l);background:transparent;border:1px solid var(--sand);padding:14px 32px;cursor:pointer;font-family:'Noto Serif JP',serif;transition:all 0.25s;}
.btn-back:hover{border-color:var(--tan);color:var(--text-m);}
.btn-next{font-size:11px;letter-spacing:0.26em;color:var(--espresso);background:var(--gold);border:none;padding:16px 48px;cursor:pointer;font-family:'Noto Serif JP',serif;transition:all 0.3s;}
.btn-next:hover{background:var(--gold-l);}
.btn-next:disabled{background:var(--sand);color:var(--text-l);cursor:not-allowed;}
.btn-home{font-size:11px;letter-spacing:0.22em;color:var(--espresso);background:var(--gold);padding:16px 48px;text-decoration:none;transition:all 0.3s;display:inline-block;}
.btn-home:hover{background:var(--gold-l);}
@media(max-width:900px){
  .step-bar-wrap{display:none;}
  .step-bar-mobile{display:flex;}
  main{padding:40px 24px 72px;}
  .store-grid{grid-template-columns:1fr;}
  .timeslot-grid{grid-template-columns:1fr;}
  .form-grid-2{grid-template-columns:1fr;}
  .menu-item{grid-template-columns:80px 1fr;gap:16px;}
  .menu-item-img{height:64px;width:80px;}
  .menu-item-pr{display:none;}
  .menu-check-link{flex-direction:column;align-items:flex-start;gap:8px;}
  .btn-area{flex-direction:column-reverse;gap:12px;}
  .btn-back,.btn-next{width:100%;text-align:center;}
}
