  .ls-slot-button{display:inline-flex;align-items:center;gap:7px;border:0;background:#fff;color:#343434;padding:10px 7px;cursor:pointer;border-radius:3px;transition:.12s ease;min-width:70px;justify-content:flex-start}
  .ls-slot-button:hover{background:#f7f3ff}
  .ls-slot-button.active{background:#f4edff;color:#5f3b96;font-weight:700}
  .slot-chevron{font-size:1rem;color:#9aa9b2;margin-left:1px;transition:.12s ease}
  .ls-slot-button.active .slot-chevron{transform:rotate(180deg);color:#7c56b6}
  .ls-slot-detail{border-top:1px solid #eee;border-bottom:1px solid #e5e5e5;background:#faf8fd;padding:18px 22px 20px;margin:0 0 0 185px}
  .detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
  .detail-title{font-size:1.35rem;font-weight:700;margin:0}
  .detail-sub{font-size:1.15rem;color:#777;margin:4px 0 0}
  .detail-close{border:0;background:transparent;color:#8a8a8a;font-size:2.3rem;line-height:1;cursor:pointer;padding:0 3px}
  .content-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .content-option{background:#fff;border:1px solid #e2dee8;border-left:4px solid #bbb;padding:11px 12px;min-height:58px}
  .content-option.cat1{border-left-color:#e4c6ca}.content-option.cat2{border-left-color:#99b6c7}.content-option.cat4{border-left-color:#a2c799}.content-option.cat5{border-left-color:#c7bb6a}.content-option.cat6{border-left-color:var(--special)}
  .content-kind{display:flex;align-items:center;gap:6px;color:#777;font-size:1.05rem;margin-bottom:3px}
  .content-name{font-size:1.25rem;font-weight:650;line-height:1.45;color:#343434}
  .shoot-content-box{margin-top:9px;padding-top:9px;border-top:1px solid #ece8f1}
  .shoot-content-label{font-size:1.02rem;color:#777;margin-bottom:6px}
  .content-option.special-group{grid-column:auto}
  .shoot-content-list{display:grid;grid-template-columns:minmax(0,1fr);gap:7px 9px}
  .shoot-content-item{display:flex;align-items:flex-start;gap:7px;background:#f8f6fb;border:1px solid #e8e1ef;border-radius:2px;padding:7px 9px;font-size:1.08rem;color:#4b4b4b;line-height:1.4}
  .shoot-content-item:before{content:"■";color:var(--special);font-size:.72rem;line-height:1.9;flex:0 0 auto}
  .shoot-choice-note{margin:9px 0 0;padding:8px 10px;background:#f1e9ff;border-left:3px solid var(--special);font-size:1.05rem;color:#674c88;font-weight:600;line-height:1.5}
  .detail-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:5px;padding-top:12px;border-top:1px solid #e8e3ec}
  .detail-action-note{font-size:1.02rem;color:#888}
  .detail-reserve-btn{border:1px solid var(--blue);background:#fff;color:var(--blue);padding:10px 17px;cursor:pointer;font-weight:650;border-radius:2px}
  .detail-reserve-btn:hover{background:#f4fbff}
  .special-jump-guide{display:none;margin:4px 32px 2px;padding:12px 14px;border:1px solid #c9e8f8;background:#f4fbff;color:#318fc1;font-size:1.16rem;font-weight:650;line-height:1.6;text-align:left;cursor:pointer;width:calc(100% - 64px);box-sizing:border-box}
  .special-jump-guide.show{display:block}
  .special-jump-guide:hover{background:#eaf7fe}
  .special-jump-guide:focus{outline:2px solid #55b9ec;outline-offset:2px}
  .special-block{border-top:1px solid #efefef;margin-top:8px;padding-bottom:4px;scroll-margin-top:12px;transition:background-color .35s ease}
  .special-block.hidden{display:none}
  .special-block.jump-highlight{background:#f6fbfe}
  .special-message{margin:0 32px 16px;padding:14px 16px;background:#f7f7f7;color:#777;text-align:center;border:1px dashed #ccc}
  .plan-group{padding:0 32px 10px}
  .plan-group-title{font-weight:700;color:#555;margin:12px 0 7px;font-size:1.25rem}
  .plan-list{display:flex;gap:10px 18px;flex-wrap:wrap}
  .plan-list .check{align-items:flex-start;max-width:100%}
    .ls-slot-detail{margin-left:0;padding:15px 14px 17px}
    .content-options{grid-template-columns:1fr;gap:8px}
    .detail-title{font-size:1.25rem}.detail-sub{font-size:1.05rem}
    .shoot-content-list{display:block}.shoot-content-item{display:flex;margin-top:5px}
    .detail-actions{display:block}.detail-action-note{display:block;margin:0 0 8px}.detail-reserve-btn{width:100%}
    .special-jump-guide{margin:4px 20px 2px;width:calc(100% - 40px)}
    .special-message{margin:0 20px 14px}.plan-group{padding:0 20px 8px}

/* v0.10 new components only; keep legacy page, calendar and round buttons untouched. */
.reserve-special-block{border-top:1px solid #efefef;margin-top:8px;padding-bottom:4px;scroll-margin-top:12px;transition:background-color .35s ease}
.reserve-special-block[hidden],.special-jump-guide[hidden]{display:none!important}
.reserve-special-block h3{padding:22px 32px 14px;margin:0;font-size:1.45rem}
.reserve-special-block.jump-highlight{background:#f6fbfe}
.special-jump-guide{display:block;margin:4px 32px 2px;padding:12px 14px;border:1px solid #c9e8f8;background:#f4fbff;color:#318fc1;font-size:1.16rem;font-weight:650;line-height:1.6;text-align:left;cursor:pointer;width:calc(100% - 64px);box-sizing:border-box}
.special-jump-guide:hover{background:#eaf7fe}
.ls-special-tag{background:#f0e7ff!important;border:1px solid #d4b9ff!important}
.ls-remove-plan{border:0;background:transparent;cursor:pointer;margin-left:5px}
.schedule_list .ls-slot-button{cursor:pointer;display:inline-flex;align-items:center;gap:5px;border-radius:3px;padding:7px 9px;transition:background .12s,color .12s}
.schedule_list .ls-slot-button:hover{background:#f7f3ff}
.schedule_list .ls-slot-button.active{background:#f4edff;color:#5f3b96;font-weight:700}
.schedule_list .ls-slot-detail{margin:0 0 0 185px;background:#faf8fd;padding:18px 22px 20px;border-top:1px solid #eee;border-bottom:1px solid #e5e5e5}
.schedule_list .ls-slot-detail a.detail-reserve-btn{display:inline-block;background:#fff;color:#00a3e1;border:1px solid #00a3e1;padding:10px 17px}
.schedule_list .ls-slot-detail .content-option{box-sizing:border-box}
@media(max-width:760px){.schedule_list .ls-slot-detail{margin-left:0;padding:15px 14px 17px}.content-options{grid-template-columns:1fr}.shoot-content-list{display:block}.shoot-content-item{margin-top:5px}.detail-actions{display:block}.detail-reserve-btn{width:100%;text-align:center}.special-jump-guide{margin:4px 20px 2px;width:calc(100% - 40px)}}

/* v0.10 faithful new-component layout: override broad legacy reserve selectors */
:root { --ls-special:#b384ff; }
#refine_modal .reserve-special-block .plan-list {display:flex!important;gap:10px 18px!important;flex-wrap:wrap!important;}
#refine_modal .reserve-special-block .plan-list label {display:inline-flex!important;align-items:flex-start!important;gap:9px!important;width:auto!important;max-width:100%!important;}
#refine_modal .reserve-special-block .plan-list label input {flex:0 0 auto!important;}
#refine_modal .reserve-special-block .plan-group-title{font-weight:700!important;color:#555!important;margin:12px 0 7px!important;font-size:1.25rem!important;}
section.schedule_list ul.entry > li > .ls-slot-detail {display:block!important;box-sizing:border-box!important;padding:18px 22px 20px!important;background:#faf8fd!important;margin:0 0 0 185px!important;border-top:1px solid #eee!important;border-bottom:1px solid #e5e5e5!important;clear:both!important;}
section.schedule_list ul.entry > li > .ls-slot-detail .content-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important;}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option{display:block!important;min-width:0!important;width:auto!important;box-sizing:border-box!important;padding:11px 12px!important;margin:0!important;min-height:58px!important;background:#fff!important;border:1px solid #e2dee8!important;border-left:4px solid #bbb!important;}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.cat1{border-left-color:#e4c6ca!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.cat2{border-left-color:#99b6c7!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.cat4{border-left-color:#a2c799!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.cat5{border-left-color:#c7bb6a!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.cat6{border-left-color:#b384ff!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.special-group{grid-column:auto!important}
section.schedule_list ul.entry > li > .ls-slot-detail .detail-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-bottom:14px!important}
section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;margin-top:5px!important;padding-top:12px!important;border-top:1px solid #e8e3ec!important}
section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions a.detail-reserve-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;height:auto!important;flex:0 0 auto!important;margin:0!important;padding:10px 17px!important;background:#fff!important;color:#00a3e1!important;border:1px solid #00a3e1!important;border-radius:2px!important;font-weight:650!important;font-size:1.25rem!important;text-align:center!important}
section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions a.detail-reserve-btn:hover{background:#f4fbff!important}
section.schedule_list ul.entry a li[data-time].ls-slot-button{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;padding:10px 7px!important;min-width:70px!important;border-radius:3px!important;transition:background .12s ease!important}
section.schedule_list ul.entry a li[data-time].ls-slot-button:hover{background:#f7f3ff!important}
section.schedule_list ul.entry a li[data-time].ls-slot-button.active{background:#f4edff!important;color:#5f3b96!important;font-weight:700!important}
section.schedule_list ul.entry a li[data-time].ls-slot-button .slot-chevron{display:inline-block!important;font-size:1rem!important;color:#9aa9b2!important;margin-left:1px!important;transition:transform .12s ease!important}
section.schedule_list ul.entry a li[data-time].ls-slot-button.active .slot-chevron{transform:rotate(180deg)!important;color:#7c56b6!important}
section.schedule_list ul.entry > li > .ls-slot-detail .shoot-content-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px 9px!important}
section.schedule_list ul.entry > li > .ls-slot-detail .shoot-content-item{display:flex!important;align-items:flex-start!important;gap:7px!important;box-sizing:border-box!important;background:#f8f6fb!important;border:1px solid #e8e1ef!important;padding:7px 9px!important}
@media(max-width:760px){
 section.schedule_list ul.entry > li > .ls-slot-detail{margin-left:0!important;padding:15px 14px 17px!important}
 section.schedule_list ul.entry > li > .ls-slot-detail .content-options{grid-template-columns:1fr!important}
 section.schedule_list ul.entry > li > .ls-slot-detail .shoot-content-list{grid-template-columns:1fr!important}
 section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions{display:block!important}
 section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions a.detail-reserve-btn{display:flex!important;width:100%!important;margin-top:8px!important}
}

/* v0.8: Use the same label.check > input + span DOM as legacy shop selection. */
#refine_modal #specialBlock .plan-group {padding:0 32px 10px!important;}
#refine_modal #specialBlock .plan-list {display:flex!important;flex-wrap:wrap!important;gap:10px 18px!important;align-items:flex-start!important;}
#refine_modal #specialBlock .plan-list label.check.ls-plan-check {
  display:inline-block!important;position:relative!important;flex:0 1 auto!important;
  width:auto!important;max-width:100%!important;height:auto!important;
  margin:0!important;float:none!important;cursor:pointer!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
}
#refine_modal #specialBlock .plan-list label.check.ls-plan-check > span {
  /* The decorative span is styled by the legacy checkbox stylesheet. */
}
/* Special is an ordinary 2-column grid cell, always last via JS. Its internal list stacks. */
section.schedule_list ul.entry > li > .ls-slot-detail .content-option.special-group {
  grid-column:1 / 2!important;min-width:0!important;align-self:start!important;
}
section.schedule_list ul.entry > li > .ls-slot-detail .special-group .shoot-content-list {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;
}
/* Suppress large navigation arrow injected by the legacy row-link styling. */
section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions a.detail-reserve-btn::before,
section.schedule_list ul.entry > li > .ls-slot-detail .detail-actions a.detail-reserve-btn::after {
  content:none!important;display:none!important;background:none!important;
}
@media(max-width:760px) {
 #refine_modal #specialBlock .plan-group{padding:0 20px 8px!important;}
 section.schedule_list ul.entry > li > .ls-slot-detail .content-options{grid-template-columns:1fr!important;}
}

/* v1.4: preserve legacy store-row height while retaining time-button controls. */
section.schedule_list ul.entry a li[data-time].ls-slot-button {
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:24px!important;
  height:24px!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
}
/* Colored category marks reflect the same filtered options as the details. */
section.schedule_list ul.entry a li[data-time].ls-slot-button .category_label > span[style*="display: none"] {
  display:none!important;
}

/* v1.5: v0.10 の撮影カテゴリ色四角を詳細カード内で復元。
   既存サイトの .dot / .c* ルールとの競合を防ぐため、詳細領域に限定。 */
section.schedule_list ul.entry > li > .ls-slot-detail .content-kind > i.dot {
  display:inline-block!important;
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  min-height:8px!important;
  flex:0 0 8px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background-image:none!important;
  vertical-align:middle!important;
}
section.schedule_list ul.entry > li > .ls-slot-detail .content-kind > i.dot.c1 {background-color:#e4c6ca!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-kind > i.dot.c2 {background-color:#99b6c7!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-kind > i.dot.c4 {background-color:#a2c799!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-kind > i.dot.c5 {background-color:#c7bb6a!important}
section.schedule_list ul.entry > li > .ls-slot-detail .content-kind > i.dot.c6 {background-color:#b384ff!important}
/* 特設枠の撮影内容にも、プロトと同じ紫色の小四角を表示する。 */
section.schedule_list ul.entry > li > .ls-slot-detail .shoot-content-item::before {
  content:"■"!important;
  display:inline-block!important;
  color:#b384ff!important;
  font-size:.72rem!important;
  line-height:1.9!important;
  flex:0 0 auto!important;
}

/* v2.1: Make the time-slot expand indicator clear without changing row height. */
section.schedule_list ul.entry a li[data-time].ls-slot-button .slot-chevron {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:17px!important;height:24px!important;flex:0 0 17px!important;
  font-size:1.55rem!important;line-height:1!important;font-weight:700!important;
  color:#546675!important;margin-left:2px!important;vertical-align:middle!important;
}
section.schedule_list ul.entry a li[data-time].ls-slot-button.active .slot-chevron {
  color:#6e42a5!important;
}
