/* BALYK04: compact fish forecast selector on the weather page */
.fish-bite-model .fish-bite-grid.fish-forecast-widget{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.fish-forecast-best{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  min-width:0;
}
.fish-forecast-best h4,
.fish-detail-card h4{
  margin:0;
  color:#092a57;
}
.fish-forecast-best h4{font-size:20px}
.fish-forecast-best p{
  margin:4px 0 0;
  color:#537199;
  font-weight:800;
}
.fish-best-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
  align-items:center;
  min-width:0;
  max-width:100%;
}
.fish-best-btn,
.fish-list-btn{
  border:1px solid #d6eafa;
  background:#fff;
  color:#0b315f;
  cursor:pointer;
  font-weight:900;
  box-sizing:border-box;
}
.fish-best-btn{
  border-radius:999px;
  padding:9px 12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  max-width:100%;
}
.fish-best-btn{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fish-best-btn span{color:#1689ff}
.fish-forecast-layout{
  display:grid;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
  min-width:0;
}
.fish-picker-panel,
.fish-detail-card{
  border:1px solid #d6eafa;
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:none;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.fish-picker-panel{
  padding:14px;
  min-height:0;
  max-height:720px;
  display:flex;
  flex-direction:column;
  min-height:0;
  box-sizing:border-box;
}
.fish-search-field{
  display:grid;
  gap:7px;
  margin-bottom:12px;
  color:#0b315f;
  font-weight:900;
}
.fish-search-field input{
  width:100%;
  border:1px solid #d6eafa;
  border-radius:14px;
  padding:11px 13px;
  background:#f8fcff;
  color:#092a57;
  font-weight:800;
  outline:none;
  box-sizing:border-box;
}
.fish-search-field input:focus{
  border-color:#8dccff;
  box-shadow:0 0 0 3px rgba(22,137,255,.12);
}
.fish-list-scroll{
  display:grid;
  gap:8px;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  max-height:none;
  overflow:auto;
  padding-right:3px;
}
.fish-detail-panel{
  display:flex;
  min-width:0;
  max-width:100%;
}
.fish-detail-panel .fish-detail-card{
  width:100%;
  min-height:100%;
}
.fish-list-btn{
  height:48px;
  min-height:48px;
  max-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  border-radius:16px;
  padding:0 12px;
  text-align:left;
  line-height:1;
  overflow:hidden;
}
.fish-list-btn b{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fish-list-btn small{
  flex:0 0 auto;
  color:#537199;
  font-weight:900;
}
.fish-list-btn.active{
  border-color:#1689ff;
  background:#eaf6ff;
  box-shadow:0 10px 22px rgba(22,137,255,.12);
}
.fish-list-dot{
  flex:0 0 10px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#e0b51a;
}
.fish-list-btn.good .fish-list-dot,
.fish-best-btn.good{border-color:#bdebd1}
.fish-list-btn.good .fish-list-dot{background:#159657}
.fish-list-btn.middle .fish-list-dot{background:#e0b51a}
.fish-list-btn.bad .fish-list-dot{background:#c54040}
.fish-best-btn.good{background:#eaf8f0;color:#147b3f}
.fish-best-btn.middle{background:#fff8df;color:#856200}
.fish-best-btn.bad{background:#fff0f0;color:#9c2828}
.fish-detail-card{
  padding:16px;
  min-height:0;
  height:auto;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  overflow:visible;
}
.fish-detail-main{
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:16px;
  align-items:stretch;
  min-width:0;
}
.fish-detail-image{
  height:auto;
  min-height:205px;
  aspect-ratio:1 / 1;
  border:1px solid #d6eafa;
  border-radius:20px;
  background:linear-gradient(135deg,#eaf6ff,#f8fcff);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.fish-detail-image-btn{
  width:100%;
  height:100%;
  border:0;
  padding:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  cursor:pointer;
  color:#092a57;
  font:inherit;
}
.fish-detail-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.fish-detail-image-btn.is-placeholder img{
  width:108px;
  height:108px;
  min-height:0;
  border-radius:50%;
  object-fit:contain;
  background:#fff;
  padding:18px;
  box-shadow:0 10px 28px rgba(30,96,160,.12);
}
.fish-detail-image-btn span{
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#0b68d8;
  font-size:13px;
  line-height:1.15;
  font-weight:900;
  box-shadow:0 8px 18px rgba(30,96,160,.12);
  text-align:center;
  overflow-wrap:anywhere;
}
.fish-detail-placeholder{
  width:92px;
  height:92px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#1689ff;
  font-size:48px;
  box-shadow:0 10px 28px rgba(30,96,160,.12);
}
.fish-detail-type{
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  padding:7px 11px;
  border-radius:999px;
  background:#eaf6ff;
  color:#126fc8;
  font-weight:900;
  margin-bottom:9px;
  overflow-wrap:anywhere;
}
.fish-detail-card h4{
  font-size:34px;
  line-height:1.05;
  min-height:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fish-detail-score{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 8px;
}
.fish-detail-score strong{
  color:#159657;
  font-size:38px;
  line-height:1;
}
.fish-detail-card.middle .fish-detail-score strong{color:#1689ff}
.fish-detail-card.bad .fish-detail-score strong{color:#b53838}
.fish-detail-score em{
  font-style:normal;
  padding:7px 12px;
  border-radius:999px;
  background:#eaf8f0;
  color:#147b3f;
  font-weight:900;
}
.fish-detail-card.middle .fish-detail-score em{background:#eaf6ff;color:#0b68d8}
.fish-detail-card.bad .fish-detail-score em{background:#fff0f0;color:#9c2828}
.fish-detail-info p,
.fish-detail-note{
  margin:0;
  color:#537199;
  font-weight:800;
  line-height:1.45;
}
.fish-detail-info p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fish-detail-meta,
.fish-detail-factors{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.fish-detail-meta{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.fish-detail-factors{
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
}
.fish-detail-meta span,
.fish-detail-factors span{
  display:grid;
  gap:5px;
  padding:11px 12px;
  border:1px solid #d6eafa;
  border-radius:16px;
  background:#f8fcff;
  min-width:0;
  box-sizing:border-box;
  overflow:visible;
}
.fish-detail-meta span{
  min-height:86px;
}
.fish-detail-factors span{
  min-height:72px;
}
.fish-detail-meta b,
.fish-detail-factors b{
  color:#092a57;
  font-weight:900;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.fish-detail-meta small,
.fish-detail-factors small{
  color:#537199;
  font-weight:800;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.fish-detail-note{
  margin-top:16px;
  padding:12px 14px;
  border-radius:16px;
  background:#eef8ff;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
.fish-mobile-sheet{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  pointer-events:none;
}
.fish-mobile-sheet.is-open{
  display:block;
  pointer-events:auto;
}
.fish-mobile-sheet-backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,42,87,.28);
}
.fish-mobile-sheet-panel{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:min(70dvh,640px);
  min-height:55dvh;
  max-height:70dvh;
  padding:44px 12px 14px;
  border:1px solid #cfe7fb;
  border-radius:24px 24px 0 0;
  background:#fff;
  box-shadow:0 -18px 50px rgba(9,42,87,.22);
  box-sizing:border-box;
  overflow:hidden;
}
.fish-mobile-sheet-close{
  position:absolute;
  top:10px;
  right:12px;
  z-index:2;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #cfe7fb;
  border-radius:999px;
  background:#fff;
  color:#092a57;
  font-size:24px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.fish-mobile-sheet-body{
  height:100%;
  min-width:0;
  overflow:auto;
  padding:0 2px 8px;
  box-sizing:border-box;
}
.fish-mobile-sheet-body .fish-detail-card{
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.fish-mobile-sheet-body .fish-detail-image{
  min-height:160px;
  max-height:180px;
}
body.fish-mobile-sheet-open{
  overflow:hidden;
}
@media(min-width:621px){
  .fish-mobile-sheet{display:none!important}
}

@media(max-width:1180px){
  .fish-forecast-best{display:grid}
  .fish-best-list{justify-content:flex-start}
  .fish-forecast-layout{grid-template-columns:1fr}
  .fish-picker-panel,
  .fish-detail-card{height:auto}
  .fish-list-scroll{
    display:flex;
    flex-wrap:wrap;
    overflow:visible;
    max-height:none;
    padding:0;
  }
  .fish-list-btn{
    flex:1 1 158px;
    min-width:0;
    max-width:100%;
  }
  .fish-detail-main{grid-template-columns:minmax(160px,220px) minmax(0,1fr)}
}
@media(max-width:860px){
  .fish-detail-main{
    grid-template-columns:1fr;
  }
  .fish-detail-image{
    min-height:190px;
    max-height:260px;
  }
}
@media(max-width:620px){
  .fish-forecast-best,
  .fish-picker-panel,
  .fish-detail-card{border-radius:18px}
  .fish-forecast-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    overflow:visible;
  }
  .fish-picker-panel{
    display:block;
    max-height:none;
    overflow:visible;
  }
  .fish-list-scroll{
    display:grid;
    grid-template-columns:1fr;
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
  .fish-list-btn{
    width:100%;
    flex:none;
  }
  .fish-detail-panel{
    display:none;
  }
  .fish-detail-card{
    width:100%;
    max-width:100%;
    clear:both;
  }
  .fish-detail-main,
  .fish-detail-meta,
  .fish-detail-factors{grid-template-columns:1fr}
  .fish-detail-card{
    height:auto;
    overflow:visible;
  }
  .fish-detail-card h4,
  .fish-detail-info p,
  .fish-detail-note{
    -webkit-line-clamp:unset;
  }
  .fish-detail-meta span,
  .fish-detail-factors span,
  .fish-detail-note{
    height:auto;
    min-height:0;
  }
  .fish-detail-image{
    min-height:190px;
    max-height:220px;
  }
  .fish-detail-card h4{font-size:28px}
  .fish-detail-score strong{font-size:34px}
}
