/* ================================

   FRONTEND WIDGET (product page)

   ================================ */



/* Container */

.qgb-wrap{

  background:#0f0f0f; color:#e9e9e9;

  border:0; border-radius:10px; padding:0px; margin:0px 0 16px 0;

}

.qgb-title{display:none;} /* keep UI tight near the product title */



.qgb-row{ margin:18px 0; }

.qgb-row > label{

  display:block; font-weight:700; letter-spacing:.02em;

  margin:0 0 10px; color:#fff;

}

.qgb-hint{ font-size:12px; color:#9a9a9a; margin-top:6px; }



/* ---------- Players ---------- */

.qgb-players{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

.qgb-input{

  width:84px; height:42px; text-align:center;

  font-weight:700; font-size:16px; color:#fff;

  background:#161616; border:1px solid #2a2a2a; border-radius:8px;

}

.qgb-minus,.qgb-plus{

  width:42px; height:42px; border-radius:999px;

  background:#161616; border:1px solid #2a2a2a; color:#fff;

  cursor:pointer; line-height:40px; font-size:18px; font-weight:700;

}

.qgb-minus:hover,.qgb-plus:hover{ background:#1e1e1e; }



/* Optional pills (if you render them) */

.qgb-pills{ display:flex; gap:8px; flex-wrap:wrap; }

.qgb-pill{

  width:10px; height:10px; border-radius:999px;

  display:inline-flex; align-items:center; justify-content:center;

  border:1px solid #2a2a2a; background:#161616; color:#fff;

  font-weight:600; cursor:pointer; transition:background .15s, border-color .15s, transform .12s;

}

.qgb-pill:hover{ background:#1e1e1e; transform:translateY(-1px); }

.qgb-pill.is-active{ border-color:#fff; background:#fff; color:#c30; }

.qgb-pill[disabled]{ opacity:.5; cursor:not-allowed; }



/* ---------- Legacy time chips (single-day fallback) ---------- */

.qgb-times{

  display:grid; grid-template-columns:repeat(auto-fill, minmax(120px,1fr));

  gap:10px; margin-top:6px;

}

.qgb-time-btn{

  border:1px solid #2a2a2a; background:#161616; color:#e9e9e9;

  border-radius:10px; padding:12px 12px; text-align:center; cursor:pointer;

  transition:transform .12s ease, background .12s ease, border-color .12s ease;

}

.qgb-time-btn:hover{ background:#1c1c1c; transform:translateY(-1px); }

.qgb-time-btn.is-active{ border-color:#c30; background:#241010; }

.qgb-time-btn.is-soldout{ opacity:.45; cursor:not-allowed; }

.qgb-time-btn .qgb-remaining{ display:block; font-size:12px; color:#b7b7b7; }



/* ---------- 7-day grid ---------- */

.qgb-week{

  display:grid !important; /* enforce grid even if theme sets display:block */

  grid-template-columns:repeat(3, minmax(140px,1fr));

  gap:14px; margin-top:8px;

}

.qgb-day{

  background:#121212; border:1px solid #242424; border-radius:12px; padding:12px;

}

.qgb-day__head{

  font-weight:700; color:#fff; margin-bottom:10px;

  white-space:nowrap; word-break:normal; letter-spacing:.02em;

}

.qgb-day__slots{ display:grid; grid-auto-rows:1fr; gap:10px; }



.qgb-slot{

  display:flex; align-items:center; justify-content:center; gap:6px;

  height:46px; padding:0 10px;

  border:1px solid #2a2a2a; border-radius:10px;

  background:#181818; color:#e9e9e9; cursor:pointer;

  transition: transform .12s ease, background .12s ease, border-color .12s ease;

}

.qgb-slot:hover{ background:#1f1f1f; transform:translateY(-1px); }

.qgb-slot.is-active{ border-color:#c30; background:#241010; }

.qgb-slot.is-soldout{ opacity:.45; cursor:not-allowed; }

.qgb-slot .qgb-remaining{ font-size:12px; color:#b7b7b7; }



.qgb-note{ font-size:12px; color:#b7b7b7; }



/* Hide legacy rows when week grid exists (JS adds .qgb--has-week) */

.qgb--has-week .qgb-date,

.qgb--has-week .qgb-times,

.qgb--has-week .qgb-row label + .qgb-date,

.qgb--has-week .qgb-row label + .qgb-times{ display:none !important; }



/* ---------- Summary ---------- */

.qgb-summary{

  margin-top:14px; padding-top:12px; 

  display:flex; gap:18px; flex-wrap:wrap; font-size:18px;

}

.qgb-summary strong{ color:#fff; }



/* ---------- Woo button states ---------- */

.single_add_to_cart_button{ height:48px; font-weight:700; border-radius:10px; }

.single_add_to_cart_button[disabled],

.single_add_to_cart_button.disabled{ opacity:.5 !important; cursor:not-allowed !important; }



/* ---------- Responsive ---------- */

@media (max-width:1200px){ .qgb-week{ grid-template-columns:repeat(5, minmax(140px,1fr)); } }

@media (max-width:992px){  .qgb-week{ grid-template-columns:repeat(4, minmax(130px,1fr)); } }

@media (max-width:768px){  .qgb-week{ grid-template-columns:repeat(3, minmax(120px,1fr)); } }

@media (max-width:560px){

  .qgb-week{ grid-template-columns:repeat(2, minmax(140px,1fr)); }

  .qgb-times{ grid-template-columns:repeat(2, 1fr); }

  .qgb-input{ width:68px; }

}



/* ================================

   ADMIN UI (schedule/blackouts)

   (scoped to avoid front-end clashes)

   ================================ */

.qgb-table{ width:100%; border-collapse:collapse; margin-bottom:12px; }

.qgb-table th, .qgb-table td{ padding:8px; border-bottom:1px solid #e5e5e5; vertical-align:top; }

.qgb-table .qgb-day{ width:64px; text-transform:uppercase; color:#555; }

/* tags for slot chips in admin */

.qgb-slots{ display:flex; flex-wrap:wrap; gap:6px; align-items:flex-start; }

.qgb-chip{

  background:#f3f4f6; border:1px solid #d1d5db; border-radius:16px;

  padding:3px 8px; display:inline-flex; align-items:center; gap:6px; font-size:12px;

}

.qgb-chip-remove{ border:0; background:transparent; color:#666; cursor:pointer; font-size:14px; line-height:1; }

.qgb-chip-remove:hover{ color:#000; }



.qgb-adder{ display:flex; align-items:center; gap:8px; margin-left:10px; }

.qgb-adder .qgb-time{ width:120px; }



.qgb-bulk{ border:1px solid #e5e5e5; padding:10px; border-radius:6px; margin-top:6px; }

.qgb-bulk h4{ margin:0 0 8px; font-size:14px; }

.qgb-gen-row{ display:flex; align-items:center; gap:10px; margin:6px 0; }

.qgb-daypick{ margin-right:10px; }



.qgb-blackouts-wrap{ display:flex; flex-direction:column; gap:8px; }

.qgb-badges{ display:flex; flex-wrap:wrap; gap:6px; }

.qgb-checkout-summary {
    display: none !important;
    
}

