/* Pizza Service By Bommy - Customer Order Theme V1.8.0
   Theme: Red / Yellow / Black
   Scope is intentionally limited to .psb-customer so Admin/Kitchen/POS layouts are unaffected. */
:root{
  --psb-black:#090909;
  --psb-black-2:#121212;
  --psb-black-3:#1b1b1b;
  --psb-red:#e51b23;
  --psb-red-dark:#b90e15;
  --psb-yellow:#ffc400;
  --psb-yellow-soft:#ffe16a;
  --psb-cream:#fff7d6;
  --psb-white:#fff;
  --psb-muted:#bdbdbd;
  --psb-line:#353535;
}

.psb-customer{
  background:var(--psb-black);
  color:var(--psb-white);
  min-height:100vh;
}
.psb-customer a{color:inherit}
.psb-customer .text-secondary{color:#bcbcbc!important}
.psb-customer .text-muted{color:#aaa!important}
.psb-customer .bg-light{background:var(--psb-black)!important}
.psb-customer hr{border-color:#454545;opacity:.85}

/* top bar */
.psb-customer .psb-customer-nav{
  background:rgba(9,9,9,.97);
  border-bottom:3px solid var(--psb-red);
  box-shadow:0 5px 22px rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
}
.psb-customer .navbar-brand{
  color:var(--psb-yellow)!important;
  font-weight:900;
  letter-spacing:-.02em;
}
.psb-customer .psb-brand-icon{filter:drop-shadow(0 0 8px rgba(255,196,0,.18))}
.psb-customer .psb-cart-nav{
  background:var(--psb-yellow);
  color:#080808;
  border:2px solid var(--psb-yellow);
  font-weight:800;
  border-radius:999px;
}
.psb-customer .psb-cart-nav:hover,.psb-customer .psb-cart-nav:focus{
  background:var(--psb-yellow-soft);
  color:#000;
  border-color:var(--psb-yellow-soft);
}
.psb-customer .psb-cart-count{background:var(--psb-red);color:#fff}
.psb-customer .psb-pos-mode{background:var(--psb-yellow);color:#080808}
.psb-customer .psb-pos-mode .btn-link{color:var(--psb-red-dark);font-weight:900}

/* hero */
.psb-customer .hero{
  background:
    radial-gradient(circle at 85% 15%,rgba(255,196,0,.16),transparent 28%),
    linear-gradient(135deg,#050505 0%,#17100a 48%,#5b080d 100%);
  color:#fff;
  border-radius:0 0 28px 28px;
  border-bottom:3px solid var(--psb-yellow);
  box-shadow:0 14px 40px rgba(0,0,0,.34);
}
.psb-customer .hero .text-warning{color:var(--psb-yellow)!important}
.psb-customer .hero h1{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.32)}
.psb-customer .hero .badge.text-bg-light{background:var(--psb-yellow)!important;color:#080808!important}
.psb-customer .hero .badge.text-bg-success{background:var(--psb-yellow)!important;color:#080808!important}
.psb-customer .hero .badge.text-bg-secondary{background:var(--psb-red)!important;color:#fff!important}

/* category + search */
.psb-customer .category-pills{
  background:rgba(9,9,9,.96)!important;
  border-bottom:1px solid #2a2a2a;
}
.psb-customer .filter-btn.btn-dark{
  background:var(--psb-yellow)!important;
  color:#080808!important;
  border-color:var(--psb-yellow)!important;
  font-weight:800;
}
.psb-customer .filter-btn.btn-outline-dark{
  color:#fff!important;
  border-color:#5c5c5c!important;
  background:#161616!important;
}
.psb-customer .filter-btn.btn-outline-dark:hover{
  border-color:var(--psb-yellow)!important;
  color:var(--psb-yellow)!important;
}
.psb-customer .input-group-text{
  background:var(--psb-yellow);
  border-color:var(--psb-yellow);
  color:#050505;
}
.psb-customer .form-control,.psb-customer .form-select{
  color:#fff;
  background:#171717;
  border-color:#414141;
}
.psb-customer .form-control::placeholder{color:#888;opacity:1}
.psb-customer .form-control:focus,.psb-customer .form-select:focus{
  color:#fff;
  background:#171717;
  border-color:var(--psb-yellow);
  box-shadow:0 0 0 .2rem rgba(255,196,0,.18);
}
.psb-customer .form-select option{background:#171717;color:#fff}
.psb-customer .form-check-input{background-color:#151515;border-color:#777}
.psb-customer .form-check-input:checked{background-color:var(--psb-red);border-color:var(--psb-red)}

/* food cards */
.psb-customer .menu-card,.psb-customer .card{
  --bs-card-bg:var(--psb-black-2);
  --bs-card-color:#fff;
  background:var(--psb-black-2);
  color:#fff;
  border:1px solid #2d2d2d!important;
  box-shadow:0 8px 24px rgba(0,0,0,.27)!important;
}
.psb-customer .menu-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.psb-customer .menu-card:hover{border-color:#4b4b4b!important;box-shadow:0 11px 28px rgba(0,0,0,.38)!important}
.psb-customer .menu-img{background:#050505}
.psb-customer .placeholder-food{background:linear-gradient(135deg,#220305,#740b11 58%,#ffc400)}
.psb-customer .menu-card h3{color:#fff}
.psb-customer .menu-card .price,.psb-customer .price{color:var(--psb-yellow);font-weight:900}
.psb-customer .badge.text-bg-warning{background:var(--psb-yellow)!important;color:#070707!important}
.psb-customer .badge.text-bg-secondary{background:#4b4b4b!important;color:#fff!important}
.psb-customer .badge.text-bg-light{background:#292929!important;color:var(--psb-yellow)!important;border:1px solid #444}
.psb-customer .badge.text-bg-dark{background:var(--psb-red)!important;color:#fff!important}

/* main buttons */
.psb-customer .btn-psb,
.psb-customer .btn-dark{
  background:var(--psb-red)!important;
  color:#fff!important;
  border-color:var(--psb-red)!important;
  font-weight:800;
}
.psb-customer .btn-psb:hover,.psb-customer .btn-psb:focus,
.psb-customer .btn-dark:hover,.psb-customer .btn-dark:focus{
  background:var(--psb-red-dark)!important;
  color:#fff!important;
  border-color:var(--psb-red-dark)!important;
}
.psb-customer .btn-outline-dark{
  color:var(--psb-yellow)!important;
  border-color:#6d5d1d!important;
  background:#151515!important;
}
.psb-customer .btn-outline-dark:hover,.psb-customer .btn-outline-dark:focus{
  color:#080808!important;
  background:var(--psb-yellow)!important;
  border-color:var(--psb-yellow)!important;
}
.psb-customer .btn-success{
  background:var(--psb-red)!important;
  border-color:var(--psb-red)!important;
  color:#fff!important;
  font-weight:900;
}
.psb-customer .btn-success:hover{background:var(--psb-red-dark)!important;border-color:var(--psb-red-dark)!important}
.psb-customer .btn-warning{background:var(--psb-yellow)!important;border-color:var(--psb-yellow)!important;color:#080808!important;font-weight:800}

/* selected radio/button options */
.psb-customer .btn-check:checked + .btn-outline-dark,
.psb-customer .btn-check:active + .btn-outline-dark{
  background:var(--psb-yellow)!important;
  color:#080808!important;
  border-color:var(--psb-yellow)!important;
  box-shadow:0 0 0 .16rem rgba(255,196,0,.14)!important;
}
.psb-customer label.border{
  border-color:#414141!important;
  background:#161616;
}
.psb-customer label.border:hover{border-color:#6a6a6a!important}

/* bottom cart CTA */
.psb-customer .bottom-cart{
  background:linear-gradient(90deg,var(--psb-red),#be0f16)!important;
  border:2px solid var(--psb-yellow)!important;
  color:#fff!important;
  box-shadow:0 10px 35px rgba(0,0,0,.55),0 0 0 1px rgba(255,196,0,.18)!important;
}
.psb-customer .bottom-cart strong{color:var(--psb-yellow)}

/* checkout / payment / tracking */
.psb-customer .card h4,.psb-customer .card h5,.psb-customer .card h6{color:#fff}
.psb-customer .display-5.text-danger{color:var(--psb-yellow)!important;text-shadow:0 1px 0 #000}
.psb-customer .display-2,.psb-customer .queue-number-big{color:var(--psb-yellow)}
.psb-customer .border-bottom,.psb-customer .border-top{border-color:#383838!important}
.psb-customer .order-step{color:#aaa}
.psb-customer .order-step.active{color:#fff;font-weight:700}
.psb-customer .order-step .dot{background:#444}
.psb-customer .order-step.active .dot{background:var(--psb-yellow);box-shadow:0 0 0 3px rgba(255,196,0,.15)}
.psb-customer .sticky-actions{background:#111;border-top-color:#353535}

/* alerts: retain meaning, but harmonize with brand */
.psb-customer .alert-warning{background:#2b2304;border-color:#765f00;color:#ffe98f}
.psb-customer .alert-info{background:#151515;border-color:#725d08;color:#ffe98f}
.psb-customer .alert-success{background:#142414;border-color:#315d31;color:#d8ffd8}
.psb-customer .alert-danger{background:#2b080b;border-color:#842029;color:#ffd6d9}

/* Modal */
.psb-customer .modal-content{background:#111;color:#fff;border:1px solid #3b3b3b}
.psb-customer .modal-header,.psb-customer .modal-footer{border-color:#333}
.psb-customer .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}

/* QR payment should remain bright/scannable */
.psb-customer #promptpayQr{
  background:#fff;
  width:max-content;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:14px;
  border:5px solid var(--psb-yellow);
  border-radius:18px;
}
.psb-customer #promptpayQr img,.psb-customer #promptpayQr canvas{display:block!important;max-width:100%;height:auto!important}

/* print receipt cleanly */
@media print{
  .psb-customer{background:#fff!important;color:#000!important}
  .psb-customer .card{background:#fff!important;color:#000!important;border:0!important;box-shadow:none!important}
  .psb-customer .text-secondary{color:#555!important}
  .psb-customer .navbar,.psb-customer .psb-customer-nav{display:none!important}
}

@media(max-width:575.98px){
  .psb-customer .navbar-brand{font-size:.94rem;max-width:62%;white-space:normal;line-height:1.05}
  .psb-customer .psb-cart-nav{font-size:.82rem;padding:.42rem .68rem}
  .psb-customer .hero{border-radius:0 0 20px 20px}
  .psb-customer .bottom-cart{bottom:10px;width:94%}
}

/* ===== Pizza Builder UX Fix V1.8.1 ===== */
.psb-customer .pizza-builder-modal .modal-dialog{max-width:min(1180px,96vw)}
.psb-customer .pizza-builder-modal .modal-content{overflow:hidden;border-radius:22px}
.psb-customer .pizza-builder-header{background:#0b0b0b;border-bottom:2px solid var(--psb-red)}
.psb-customer .pizza-builder-body{padding:1.15rem 1.25rem;overscroll-behavior:contain}
.psb-customer .pizza-builder-column{min-width:0}
.psb-customer .pizza-builder-section{background:#151515;border:1px solid #343434;border-radius:16px;padding:1rem}
.psb-customer .step-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--psb-yellow);color:#090909;font-weight:900;margin-right:.35rem}
.psb-customer .selection-counter{display:inline-flex;align-items:center;gap:.18rem;white-space:nowrap;background:#242424;border:1px solid #414141;border-radius:999px;padding:.25rem .55rem;color:var(--psb-yellow);font-size:.78rem}
.psb-customer .pizza-option-list{display:grid;grid-template-columns:1fr;gap:.5rem}
.psb-customer .pizza-option-row{display:flex!important;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin:0!important;padding:.7rem .75rem!important;border:1px solid #404040!important;border-radius:12px!important;background:#111!important;cursor:pointer;touch-action:manipulation;user-select:none}
.psb-customer .pizza-option-row:hover{border-color:#71641d!important;background:#181818!important}
.psb-customer .pizza-option-row:has(.form-check-input:checked){border-color:var(--psb-yellow)!important;background:#241f07!important;box-shadow:inset 0 0 0 1px rgba(255,196,0,.18)}
.psb-customer .pizza-option-row .form-check-input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:0}
.psb-customer .pizza-option-row .option-price{flex:0 0 auto;color:var(--psb-yellow);font-weight:800;font-size:.86rem}
.psb-customer .modifier-group-wrap{border-top:1px dashed #3b3b3b;padding-top:.75rem}
.psb-customer .modifier-group-wrap:first-child{border-top:0;padding-top:0}
.psb-customer .modifier-group-title .badge{min-width:42px}
.psb-customer .pizza-size-option{min-height:76px;display:flex;flex-direction:column;justify-content:center;line-height:1.15}
.psb-customer .pizza-builder-footer{z-index:5;gap:.8rem;background:#0d0d0d!important;border-top:2px solid #333!important;box-shadow:0 -8px 24px rgba(0,0,0,.35)}
.psb-customer .pizza-submit-wrap{text-align:right;min-width:min(330px,48%)}
.psb-customer .pizza-submit-btn{min-width:220px;min-height:52px;touch-action:manipulation}
.psb-customer .pizza-submit-btn:disabled{opacity:.65;cursor:wait}
.psb-customer #pizzaFormError{min-height:1.15rem;font-weight:700}
.psb-customer .min-w-0{min-width:0}

@media(min-width:992px){
  .psb-customer .pizza-builder-modal .modal-content{height:min(86vh,860px)}
  .psb-customer .pizza-builder-modal .modal-body{overflow-y:auto}
  .psb-customer .pizza-builder-column:first-child{border-right:1px solid #303030;padding-right:1.35rem}
  .psb-customer .pizza-builder-extras{padding-left:1.35rem}
  .psb-customer .pizza-option-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .psb-customer .modifier-group-wrap .pizza-option-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767.98px){
  .psb-customer .pizza-builder-modal .modal-dialog{max-width:none;margin:0}
  .psb-customer .pizza-builder-modal .modal-content{border-radius:0;min-height:100dvh}
  .psb-customer .pizza-builder-modal form{height:100dvh;display:flex;flex-direction:column;min-height:0}
  .psb-customer .pizza-builder-header{flex:0 0 auto;padding:.8rem .9rem}
  .psb-customer .pizza-builder-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.85rem .8rem 7.2rem}
  .psb-customer .pizza-builder-section{padding:.8rem;border-radius:14px}
  .psb-customer .pizza-builder-footer{position:fixed!important;left:0;right:0;bottom:0;width:100%;margin:0;padding:.75rem max(.8rem,env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left));display:grid;grid-template-columns:auto 1fr;align-items:end}
  .psb-customer .pizza-submit-wrap{min-width:0;width:100%}
  .psb-customer .pizza-submit-btn{width:100%;min-width:0;min-height:54px;font-size:1rem}
  .psb-customer .pizza-size-option{min-height:72px;font-size:.9rem}
  .psb-customer .pizza-option-row{padding:.72rem .68rem!important;min-height:48px}
  .psb-customer #pizzaFormError{font-size:.76rem;text-align:left;margin-bottom:.25rem!important}
}
