/* ═══════════════════════════════════════
   Sol Exit Gate v2.0 — Dynamic Filter Styles
   ═══════════════════════════════════════
   hello-top-v11 デザイントークン準拠
   ═══════════════════════════════════════ */

/* --- Gate Container --- */
.sol-exit__gate{
  display:flex;flex-direction:column;gap:1.25rem;
}

/* --- Gate Item (each filter) --- */
.sol-exit__gate-item{
  background:var(--white,#F8F9FA);
  border:1px solid var(--mist,#E5E8EB);
  border-radius:12px;
  padding:1.25rem 1.5rem;
  transition:border-color .2s,box-shadow .2s;
}
.sol-exit__gate-item:not([hidden])+.sol-exit__gate-item:not([hidden]){
  /* Visible items get spacing via parent gap */
}
.sol-exit__gate-item[hidden]{
  display:none !important;
}

/* --- Gate Question --- */
.sol-exit__gate-q{
  font-size:.9375rem;font-weight:400;line-height:1.6;
  color:var(--ink-deep,#212529);
  margin:0 0 .75rem;
  display:flex;align-items:flex-start;gap:.5rem;
}
.sol-exit__gate-q strong{
  font-weight:600;
}
.sol-exit__gate-q--sub{
  font-size:.875rem;color:var(--ink,#343A40);
  margin-top:.75rem;
  padding-top:.75rem;
  border-top:1px dashed var(--mist,#E5E8EB);
}
.sol-exit__gate-icon{
  flex-shrink:0;margin-top:2px;
  color:var(--water-deep,#6BA3BE);
}

/* --- Gate Buttons (Yes/No pairs) --- */
.sol-exit__gate-btns{
  display:flex;gap:.5rem;flex-wrap:wrap;
}
.sol-exit__gate-btn{
  flex:1;min-width:120px;
  padding:.625rem 1rem;
  border:1.5px solid var(--ash,#CED4DA);
  border-radius:8px;
  background:var(--white,#F8F9FA);
  color:var(--ink,#343A40);
  font-family:var(--font,'Noto Sans JP',sans-serif);
  font-size:.875rem;font-weight:500;
  cursor:pointer;
  transition:all .15s;
  text-align:center;
}
.sol-exit__gate-btn:hover{
  border-color:var(--water,#8EBED6);
  background:var(--water-breath,#EBF2F6);
}
.sol-exit__gate-btn.--selected{
  border-color:var(--water-deep,#6BA3BE);
  background:var(--water-ghost,#D4E5ED);
  color:var(--ink-deep,#212529);
  font-weight:600;
  box-shadow:0 0 0 2px rgba(107,163,190,.15);
}

/* --- Gate Sub-question --- */
.sol-exit__gate-sub{
  margin-top:.75rem;
  padding:.75rem 1rem;
  background:var(--silk,#F1F3F5);
  border-radius:8px;
}
.sol-exit__gate-sub[hidden]{
  display:none !important;
}

/* --- Gate Release UI (F2 rental block) --- */
.sol-exit__gate-resolve{
  margin-top:1rem;
}
.sol-exit__gate-resolve[hidden]{
  display:none !important;
}
.sol-exit__gate-resolve-inner{
  padding:1rem 1.25rem;
  background:linear-gradient(135deg,#E6FCF5 0%,#F0FFF4 100%);
  border:1px solid #B2F2BB;
  border-radius:10px;
  font-size:.8125rem;line-height:1.8;
  color:var(--ink,#343A40);
}
.sol-exit__gate-resolve-title{
  display:flex;align-items:center;gap:.375rem;
  font-size:.9375rem;font-weight:600;
  color:#2B8A3E;
  margin:0 0 .625rem;
}
.sol-exit__gate-resolve-title svg{
  color:#40C057;flex-shrink:0;
}
.sol-exit__gate-resolve-list{
  margin:0 0 .625rem;padding-left:1.25rem;
  list-style:disc;
}
.sol-exit__gate-resolve-list li{
  margin-bottom:.25rem;
}
.sol-exit__gate-resolve-list strong{
  font-weight:600;color:#2B8A3E;
}
.sol-exit__gate-resolve-note{
  font-size:.75rem;color:var(--stone,#868E96);
  margin:0;
  padding-top:.5rem;
  border-top:1px dashed #B2F2BB;
}

/* --- Gate Branch Inline (F3/F4 unsure block) --- */
.sol-exit__gate-branch-inline{
  margin-top:1rem;
}
.sol-exit__gate-branch-inline[hidden]{
  display:none !important;
}
.sol-exit__gate-branch-msg{
  font-size:.8125rem;line-height:1.6;
  color:var(--ink,#343A40);
  margin:0 0 .5rem;
}
.sol-exit__gate-branch-btn{
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.5rem 1rem;
  background:var(--water-breath,#EBF2F6);
  border:1px solid var(--water,#8EBED6);
  border-radius:8px;
  color:var(--water-deep,#6BA3BE);
  font-size:.8125rem;font-weight:600;
  text-decoration:none;
  transition:all .15s;
}
.sol-exit__gate-branch-btn:hover{
  background:var(--water-ghost,#D4E5ED);
  color:var(--ink-deep,#212529);
}
.sol-exit__gate-branch-btn svg{
  flex-shrink:0;
}
.sol-exit__gate-branch-note{
  font-size:.75rem;color:var(--stone,#868E96);
  margin:.375rem 0 0;
}

/* --- Area Select --- */
.sol-exit__area-select{
  width:100%;
  padding:.625rem .75rem;
  border:1.5px solid var(--ash,#CED4DA);
  border-radius:8px;
  font-family:var(--font,'Noto Sans JP',sans-serif);
  font-size:.875rem;
  color:var(--ink,#343A40);
  background:var(--white,#F8F9FA);
  cursor:pointer;
  transition:border-color .15s;
}
.sol-exit__area-select:focus{
  border-color:var(--water-deep,#6BA3BE);
  outline:none;
  box-shadow:0 0 0 3px rgba(107,163,190,.15);
}

/* --- Area Result --- */
.sol-exit__area-result{
  font-size:.8125rem;font-weight:500;
  margin:.5rem 0 0;
  min-height:1.25rem;
}
.sol-exit__area-result.--in{
  color:#2B8A3E;
}
.sol-exit__area-result.--out{
  color:#D9480F;
}

/* --- CTA Button --- */
.sol-exit__cta{
  width:100%;
  padding:.875rem 1.5rem;
  border:none;
  border-radius:10px;
  background:var(--ash,#CED4DA);
  color:var(--white,#F8F9FA);
  font-family:var(--font,'Noto Sans JP',sans-serif);
  font-size:1rem;font-weight:700;
  cursor:not-allowed;
  transition:all .2s;
  letter-spacing:.04em;
}
.sol-exit__cta.--ok{
  background:var(--water-deep,#6BA3BE);
  cursor:pointer;
  box-shadow:0 4px 12px rgba(107,163,190,.25);
}
.sol-exit__cta.--ok:hover{
  background:#5A93A8;
  box-shadow:0 6px 16px rgba(107,163,190,.35);
  transform:translateY(-1px);
}
.sol-exit__cta:disabled{
  opacity:.5;
}

/* --- F5: Branch Links (below CTA) --- */
.sol-exit__gate-branch{
  padding:1rem 0 0;
  border-top:1px dashed var(--mist,#E5E8EB);
  margin-top:.5rem;
}
.sol-exit__gate-branch[hidden]{
  display:none !important;
}
.sol-exit__gate-branch-label{
  font-size:.8125rem;font-weight:400;
  color:var(--stone,#868E96);
  margin:0 0 .625rem;
}
.sol-exit__gate-branch-links{
  display:flex;flex-direction:column;gap:.375rem;
}
.sol-exit__gate-branch-link{
  display:flex;align-items:center;gap:.375rem;
  padding:.5rem .75rem;
  border-radius:6px;
  font-size:.8125rem;font-weight:400;
  color:var(--water-deep,#6BA3BE);
  text-decoration:none;
  transition:background .15s;
}
.sol-exit__gate-branch-link:hover{
  background:var(--water-breath,#EBF2F6);
}
.sol-exit__gate-branch-link::before{
  content:'→';
  color:var(--ash,#CED4DA);
  font-size:.75rem;
}

/* --- Responsive --- */
@media(max-width:480px){
  .sol-exit__gate-item{
    padding:1rem;
  }
  .sol-exit__gate-btns{
    flex-direction:column;
  }
  .sol-exit__gate-btn{
    min-width:unset;
  }
  .sol-exit__gate-q{
    font-size:.875rem;
  }
}
