/* Diver on Tour – Fokusmodus V2: zentrale Live-Buchungsübersicht */

.dot-booking-focus-overview{
  display:none;
}

.dot-booking-focus-overview.is-visible{
  display:block;
}

.dot-booking-focus-overview__backdrop{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(15,23,42,.48);
}

.dot-booking-focus-overview__panel{
  position:fixed;
  left:50%;
  top:50%;
  z-index:81;
  width:min(780px, calc(100% - 28px));
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translate(-50%, -50%);
  padding:26px;
  border:2px solid #2e7d32;
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
}

.dot-booking-focus-overview__handle{
  display:none;
}

.dot-booking-focus-overview__label{
  margin:0 0 8px;
  color:#2e7d32;
  font-weight:900;
}

.dot-booking-focus-overview h2{
  margin:0 0 18px;
  color:#0e3a5a;
}

.dot-focus-group{
  border:1px solid #dbe5ec;
  border-radius:18px;
  padding:16px;
  margin:0 0 14px;
  background:#fbfdff;
}

.dot-focus-group--empty{
  background:#f8fafc;
}

.dot-focus-group h3{
  margin:0 0 12px;
  color:#0e3a5a;
}

.dot-focus-group p{
  margin:0;
  color:#607080;
}

.dot-focus-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px dashed #dbe5ec;
}

.dot-focus-row:last-child{
  border-bottom:0;
}

.dot-focus-row strong{
  display:block;
  color:#1f2937;
}

.dot-focus-row span{
  display:block;
  margin-top:3px;
  color:#607080;
  font-size:.94rem;
}

.dot-focus-row b{
  white-space:nowrap;
  color:#0e3a5a;
}

.dot-focus-days-control{
  margin:0 0 14px;
  padding:16px;
  border:2px solid #90caf9;
  border-radius:18px;
  background:#eef6fb;
}

.dot-focus-days-control label{
  display:block;
  margin:0 0 8px;
  color:#0e3a5a;
  font-weight:900;
}

.dot-focus-days-control select{
  width:100%;
  min-height:46px;
  padding:10px 14px;
  border:1px solid #b8c8d5;
  border-radius:14px;
  background:#ffffff;
  color:#1f2937;
  font-size:1rem;
  font-weight:800;
}

.dot-focus-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:18px 0;
  padding:18px;
  border-radius:18px;
  background:#eef9ef;
  color:#1b5e20;
  font-weight:900;
}

.dot-focus-total strong{
  font-size:1.65rem;
}

.dot-booking-focus-overview__actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.dot-focus-btn{
  min-height:46px;
  border:0;
  border-radius:999px;
  padding:12px 18px;
  background:#2e7d32;
  color:#fff;
  font-family:inherit;
  font-weight:900;
  cursor:pointer;
}

.dot-focus-btn--blue{
  background:#0e3a5a;
}

.dot-focus-btn--light{
  background:#e9f4fb;
  color:#0e3a5a;
}

@media(max-width:720px){
  .dot-booking-focus-overview__panel{
    left:0;
    right:0;
    top:auto;
    bottom:0;
    width:100%;
    max-height:88vh;
    transform:none;
    padding:18px;
    border-radius:22px 22px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }

  .dot-booking-focus-overview__handle{
    display:block;
    width:48px;
    height:5px;
    margin:0 auto 14px;
    border-radius:999px;
    background:#cbd5df;
  }

  .dot-booking-focus-overview__actions{
    grid-template-columns:1fr;
  }

  .dot-focus-row{
    flex-direction:column;
    gap:6px;
  }

  .dot-focus-row b{
    white-space:normal;
  }

  .dot-focus-total{
    flex-direction:column;
    align-items:flex-start;
  }

  .dot-focus-total strong{
    font-size:1.45rem;
  }
}