/* Package booking right sidebar (Seatlayout45 jaisa look) */
#pbxSide{ margin-top:14px; }

/* quick tabs */
.pbx-tabs{ display:flex; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 12px; padding:2px 2px 8px; scrollbar-width:thin; }
.pbx-tab{ flex:0 0 auto; display:flex; align-items:center; gap:6px; padding:7px 13px; border:1.5px solid #e1e6eb; border-radius:20px; background:#fff; color:#4c5663; font-size:11.5px; font-weight:700; white-space:nowrap; cursor:pointer; user-select:none; transition:all .15s ease; }
.pbx-tab i{ color:#4a7729; font-size:13px; }
.pbx-tab:hover{ border-color:#4a7729; }
.pbx-tab:focus-visible{ outline:2px solid #4a7729; outline-offset:2px; }
.pbx-tab.on{ background:linear-gradient(135deg,#2f6b1e,#1f4a13); border-color:#1f4a13; color:#fff; box-shadow:0 4px 12px rgba(47,107,30,.28); }
.pbx-tab.on i{ color:#fff; }

/* section card */
.pbx-sec{ background:#fff; border:1px solid #e7ebee; border-radius:14px; padding:14px 15px; margin:0 0 12px; box-shadow:0 3px 10px rgba(20,45,70,.06); }
.pbx-sec.pbx-hide{ display:none; }
.pbx-title{ display:flex; align-items:center; gap:6px; margin:0 0 8px; color:#17345b; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; }
.pbx-title i{ color:#4a7729; }
.pbx-empty{ font-size:11.5px; color:#97a2ae; }

/* route */
.pbx-route{ background:#eaf3e3; border:1px solid #dfeed4; border-radius:10px; padding:10px 11px; font-size:12px; color:#4c5663; line-height:17px; }
.pbx-routedate{ margin-top:4px; font-size:11.5px; }

/* boarding / dropping list */
.pbx-plist{ display:flex; flex-direction:column; gap:14px; }
.pbx-pitem{ display:flex; align-items:flex-start; gap:10px; }
.pbx-dot{ flex:0 0 auto; width:9px; height:9px; margin-top:5px; border-radius:50%; background:#2e5d16; box-shadow:0 0 0 4px #eaf3e3; }
.pbx-pname{ font-size:13px; font-weight:700; color:#222; line-height:17px; }
.pbx-paddr{ font-size:10.5px; color:#97a2ae; line-height:14px; margin-top:2px; }
.pbx-ptime{ font-size:11.5px; font-weight:700; color:#444; margin-top:3px; }

/* cancellation */
.pbx-policy{ width:100%; border-collapse:collapse; font-size:10.5px; }
.pbx-policy th{ background:#def1d4; color:#4c5663; font-weight:700; text-align:left; padding:6px; border:1px solid #eaeeea; }
.pbx-policy td{ padding:6px; color:#444; border-bottom:1px solid #f3f5f3; }
.pbx-policy tr:last-child td{ border-bottom:0; }
.pbx-ok{ color:#2e5d16 !important; font-weight:700; }
.pbx-mid{ color:#a5730c !important; font-weight:700; }
.pbx-no{ color:#b23b3b !important; font-weight:700; }

/* amenities */
.pbx-chips{ display:flex; flex-wrap:wrap; gap:7px; }
.pbx-chip{ display:flex; align-items:center; gap:5px; padding:5px 9px; background:#f7f9f6; border:1px solid #eaeeea; border-radius:20px; font-size:10.5px; font-weight:600; color:#4c5663; }
.pbx-chip i{ color:#4a7729; font-size:12px; }

/* policies */
.pbx-ul{ margin:0; padding-left:15px; font-size:10.5px; color:#4c5663; line-height:16px; }

/* ---- responsive additions ---- */
#pbxSide{ min-width:0; }
.pbx-tabs{ max-width:100%; }
.pbx-sec{ min-width:0; }
.pbx-route,.pbx-pname,.pbx-paddr{ overflow-wrap:anywhere; }
.pbx-pitem{ min-width:0; }
.pbx-pitem > div{ min-width:0; }

@media (max-width:860px){
  #pbxSide{ margin-top:0; }
  .pbx-title{ font-size:12px; }
  .pbx-pname{ font-size:13.5px; }
  .pbx-paddr,.pbx-policy,.pbx-chip,.pbx-ul{ font-size:11.5px; }
  .pbx-tab{ font-size:12px; padding:8px 14px; }
}
@media (max-width:520px){
  .pbx-sec{ padding:12px 12px; border-radius:12px; }
}


.pbx-pbody{min-width:0;flex:1;}
.pbx-ptime{font-weight:700;color:#17345b;margin-bottom:2px;}
.pbx-pname{font-weight:700;margin-bottom:2px;}
.pbx-plandmark{font-size:12px;color:#2f6b17;margin-bottom:6px;}
.pbx-plandmark i{margin-right:4px;}
.pbx-map-btn{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:8px 22px;
  border:1px solid #cfd8c0;border-radius:22px;background:#fff;color:#2f5d14;
  font-size:12px;font-weight:700;text-transform:uppercase;cursor:pointer;}
.pbx-map-btn:hover{background:#f3f8ec;}
.pbx-map-box{display:none;margin-top:8px;border-radius:8px;overflow:hidden;border:1px solid #e1e6d8;}
.pbx-map-box.open{display:block;}
.pbx-map-box iframe{width:100%;height:200px;border:0;display:block;}