#modal_unified_period {
  display: none !important; position: fixed !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  overflow-x: hidden !important; overflow-y: auto !important;
  outline: 0 !important; z-index: 1055 !important;
  background: none !important; padding: 0 !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
}
#modal_unified_period.show { display: block !important; }
#modal_unified_period .modal-dialog {
  position: relative !important; width: auto !important;
  margin: 1.75rem auto !important; pointer-events: none !important;
}
#modal_unified_period .modal-content {
  position: relative !important; display: flex !important;
  flex-direction: column !important; width: 100% !important;
  pointer-events: auto !important; background-color: #fff !important;
  border: 1px solid rgba(0,0,0,.175) !important;
  border-radius: .5rem !important; outline: 0 !important;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}
/*
.modal-backdrop { position: fixed !important; top: 0 !important; left: 0 !important; z-index: 1050 !important; width: 100vw !important; height: 100vh !important; background-color: #000 !important; }
.modal-backdrop.fade { opacity: 0 !important; }
.modal-backdrop.show { opacity: .5 !important; }
*/

/* カレンダー（#modal_unified_period スコープ限定） */
#modal_unified_period .reserv_check .navi { padding:0 10px; background:#f3f3f3; display:flex; justify-content:center; align-items:center; font-size:14px; color:#0d6efd; cursor:default; border:none; }
#modal_unified_period .reserv_check .navi.left  { border-radius:4px 0 0 4px; }
#modal_unified_period .reserv_check .navi.right { border-radius:0 4px 4px 0; }
#modal_unified_period .reserv_check .navi:hover:not(.disabled) { background:#eee; cursor:pointer; }
#modal_unified_period .reserv_check .navi.disabled { color:#ddd; pointer-events:none; }
/* 外側 .in: navi左 + カレンダー + navi右 を横並びにする flex コンテナ */
#modal_unified_period .reserv_check > .in { display:flex !important; width:100%; align-items:stretch; margin-bottom:0; }
#modal_unified_period .reserv_check .week { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid #eaeaea; border-bottom:1px solid #eaeaea; }
#modal_unified_period .reserv_check .week > div { padding:3px 0; text-align:center; font-size:10px; }
#modal_unified_period .reserv_check .week > div:first-of-type { color:red; }
#modal_unified_period .reserv_check .week > div:last-of-type  { color:blue; }
#modal_unified_period .reserv_check .days { border-bottom:1px solid #eaeaea; display:none; }
#modal_unified_period .reserv_check .days.active { display:block; }
#modal_unified_period .reserv_check .days .in { margin:0; display:grid; grid-template-columns:repeat(7,1fr); }
#modal_unified_period .reserv_check .days button { display:block; padding:10px 0 8px; background:white; border:none; cursor:default; width:100%; }
#modal_unified_period .reserv_check .days button:hover:not([aria-selected="false"]) { cursor:pointer; background:#976F11; color:white; }
#modal_unified_period .reserv_check .days button:hover:not([aria-selected="false"]) span,
#modal_unified_period .reserv_check .days button:hover:not([aria-selected="false"]) div { color:white !important; }
#modal_unified_period .reserv_check .days span { display:block; font-size:10px; padding:0 0 5px; line-height:1; }
#modal_unified_period .reserv_check .days button div { font-size:10px; }
#modal_unified_period .reserv_check .days button:nth-of-type(7n)   span { color:blue; }
#modal_unified_period .reserv_check .days button:nth-of-type(7n-6) span { color:red; }
#modal_unified_period .reserv_check .days button[aria-selected="false"] * { color:#ddd !important; }
#modal_unified_period .reserv_check .in button.selected-startpoint { background-color:#0d6efd !important; color:#fff !important; border-radius:7px 0 0 7px; }
#modal_unified_period .reserv_check .in button.selected-endpoint   { background-color:#0d6efd !important; color:#fff !important; border-radius:0 7px 7px 0; }
#modal_unified_period .reserv_check .in button.selected-startpoint.selected-endpoint { border-radius:7px !important; }
#modal_unified_period .reserv_check .in button.selected-startpoint span,
#modal_unified_period .reserv_check .in button.selected-startpoint div,
#modal_unified_period .reserv_check .in button.selected-endpoint   span,
#modal_unified_period .reserv_check .in button.selected-endpoint   div { color:#fff !important; }
#modal_unified_period .reserv_check .in button.in-range { background-color:#e7f1ff; color:#333 !important; }
#modal_unified_period .reserv_check .in button.date-before-start { opacity:0.4; cursor:pointer !important; }
#modal_unified_period .reserv_check .in button.date-before-start span,
#modal_unified_period .reserv_check .in button.date-before-start div { color:#aaa !important; }
#modal_unified_period .reserv_check .in button:disabled span,
#modal_unified_period .reserv_check .in button:disabled div { color:#ddd !important; }
#modal_unified_period .reserv_check .in button:disabled:hover { background-color:white !important; }
@media (max-width:768px) {
  #modal_unified_period .reserv_check .days button { padding:5px 0 2px; }
  #modal_unified_period .reserv_check .days span   { padding:0 0 1px; }
}



.modal .modal-body { padding: 25px 50px; }
@media screen and (max-width: 768px) {
  .modal .modal-body { padding: 25px 15px; }
}

/* ─────────────────────────────────────────────────────────────
   カート追加完了モーダル（#added_to_cart）衝突修正
───────────────────────────────────────────────────────────── */
#added_to_cart {
  display: none !important; position: fixed !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  overflow-x: hidden !important; overflow-y: auto !important;
  outline: 0 !important; z-index: 1055 !important;
  background: none !important; padding: 0 !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
}
#added_to_cart.show { display: block !important; }
#added_to_cart .modal-dialog {
  position: relative !important; width: auto !important;
  margin: 1.75rem auto !important; pointer-events: none !important;
}
#added_to_cart .modal-content {
  position: relative !important; display: flex !important;
  flex-direction: column !important; width: 100% !important;
  pointer-events: auto !important; background-color: #fff !important;
  border: 1px solid rgba(0,0,0,.175) !important;
  border-radius: .5rem !important; outline: 0 !important;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}
