/* ============================================================
   Pro Booking System — Public CSS FINAL
   Islamic Green + Gold + Cream — Attractive, Wide, Padded
   ============================================================ */

/* ── Hard reset inside wrapper only ── */
#pbs-wrap,#pbs-wrap *,#pbs-wrap *::before,#pbs-wrap *::after{
  box-sizing:border-box;
}
#pbs-wrap{display:block;}

/* ── Google Font Import ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ── Root Variables ── */
#pbs-wrap{
  --g1:#1a3d2b;
  --g2:#2d6a4f;
  --g3:#40916c;
  --g4:#74c69d;
  --gold:#c9a84c;
  --gold2:#e8c96d;
  --cream:#f9f5ec;
  --cream2:#f0ead8;
  --cream3:#e8e0ca;
  --white:#ffffff;
  --tx1:#12261a;
  --tx2:#2d4a35;
  --tx3:#5a7a62;
  --tx4:#8aaa90;
  --bd1:#d4e4cb;
  --bd2:#c0d4b8;
  --red:#c0392b;
  --sh1:0 4px 20px rgba(26,61,43,.10);
  --sh2:0 8px 40px rgba(26,61,43,.18);
  --sh3:0 16px 60px rgba(26,61,43,.25);
  --rd:16px;
  --rd2:12px;
  --rd3:50px;

  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif!important;
  background:var(--cream)!important;
  color:var(--tx1)!important;
  min-height:60vh;
  padding:0 0 100px;
  width:100%;
  border-radius: 10px;
}

/* ── Container ── */
.pbs-container{
  max-width:1100px;
  margin:0 auto!important;
  padding:0 48px;
  width:100%;
}

/* ══════════════════════════════
   HEADER
══════════════════════════════ */
.pbs-header{
  display:flex;align-items:center;justify-content:center;
  gap:20px;padding:56px 0 44px;text-align:center;flex-wrap:wrap;
}
.pbs-header-icon{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  display:flex;align-items:center;justify-content:center;
  font-size:32px;box-shadow:0 8px 24px rgba(26,61,43,.3);
  flex-shrink:0;
}
.pbs-header-text{display:flex;flex-direction:column;gap:6px;}
.pbs-header-title{
  font-size:32px!important;font-weight:900!important;
  color:var(--g1)!important;line-height:1.15!important;
  font-family:inherit!important;letter-spacing:-.5px!important;
}
.pbs-header-sub{
  font-size:16px!important;color:var(--tx3)!important;
  font-family:inherit!important;font-weight:500!important;
}

/* ══════════════════════════════
   PROGRESS BAR
══════════════════════════════ */
.pbs-progress{
  display:flex;align-items:center;
  max-width:680px;margin:0 auto 56px;padding:0 12px;
}
.pbs-prog-item{
  display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;
}
.pbs-prog-bubble{
  width:52px;height:52px;border-radius:50%;
  background:var(--white);border:2px solid var(--bd1);
  display:flex;align-items:center;justify-content:center;
  position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);
  box-shadow:var(--sh1);
}
.prog-num{
  font-size:18px;font-weight:800;color:var(--tx4);
  font-family:inherit;transition:all .3s;
}
.prog-tick{
  position:absolute;font-size:0px;opacity:0;
  transition:all .3s;color:var(--g1);font-weight:900;
}
.pbs-prog-lbl{
  font-size:13px;font-weight:700;color:var(--tx4);
  white-space:nowrap;font-family:inherit;transition:color .3s;
  letter-spacing:.2px;
}
/* Active */
.pbs-prog-item.active .pbs-prog-bubble{
  background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);
  border-color:transparent;
  box-shadow:0 0 0 5px rgba(26,61,43,.12),var(--sh2);
  transform:scale(1.08);
}
.pbs-prog-item.active .prog-num{color:#fff;font-size:19px;}
.pbs-prog-item.active .pbs-prog-lbl{color:var(--g1);font-weight:800;font-size:14px;}
/* Done */
.pbs-prog-item.done .pbs-prog-bubble{
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold2) 100%);
  border-color:transparent;
  box-shadow:0 0 0 4px rgba(201,168,76,.18),0 4px 16px rgba(201,168,76,.25);
}
.pbs-prog-item.done .prog-num{opacity:0;font-size:0;}
.pbs-prog-item.done .prog-tick{opacity:1;font-size:22px;}
.pbs-prog-item.done .pbs-prog-lbl{color:var(--g2);font-weight:700;}
/* Track */
.pbs-prog-track{
  flex:1;height:3px;background:var(--bd1);
  margin:0 8px 28px;border-radius:99px;
  overflow:hidden;min-width:24px;
}
.pbs-prog-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,var(--gold),var(--g2));
  transition:width .6s cubic-bezier(.4,0,.2,1);
  border-radius:99px;
}
.pbs-prog-fill.done{width:100%;}

/* ══════════════════════════════
   STEPS
══════════════════════════════ */
.pbs-step{display:none;}
.pbs-step.active{
  display:block;
  animation:pbsFadeUp .4s cubic-bezier(.4,0,.2,1) both;
}
@keyframes pbsFadeUp{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}
.pbs-step-head{text-align:center;margin-bottom:40px;}
.pbs-step-title{
  font-size:30px!important;font-weight:900!important;
  color:var(--g1)!important;margin-bottom:10px!important;
  font-family:inherit!important;letter-spacing:-.4px!important;
  line-height:1.2!important;
}
.pbs-step-hint{
  font-size:16px!important;color:var(--tx3)!important;
  font-family:inherit!important;font-weight:500!important;
}

/* ══════════════════════════════
   SERVICE CARDS
══════════════════════════════ */
.pbs-svc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;margin-bottom:16px;
}
.pbs-svc-card{
  background:var(--white);
  border:2px solid var(--bd1);border-radius:var(--rd);
  overflow:hidden;cursor:pointer;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  box-shadow:var(--sh1);
}
.pbs-svc-card:hover{
  border-color:var(--g2);
  transform:translateY(-6px);
  box-shadow:var(--sh3);
}
.pbs-svc-thumb{
  height:175px;
  background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 60%,var(--g3) 100%);
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.svc-emoji{font-size:56px;z-index:1;position:relative;}
.svc-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 35%,rgba(18,38,26,.55) 100%);
}
.pbs-svc-info{padding:20px 20px 14px;flex:1;display:flex;flex-direction:column;gap:10px;}
.svc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.svc-name{
  font-size:18px!important;font-weight:800!important;
  color:var(--tx1)!important;line-height:1.35!important;
  font-family:inherit!important;letter-spacing:-.2px!important;
}
.svc-cat{
  font-size:11px;background:rgba(26,61,43,.08);
  color:var(--g2);padding:4px 12px;
  border-radius:99px;white-space:nowrap;flex-shrink:0;
  font-weight:700;letter-spacing:.3px;text-transform:uppercase;
}
.svc-desc{
  font-size:14px!important;color:var(--tx3)!important;
  line-height:1.65!important;font-family:inherit!important;flex:1;
  font-weight:500!important;
}
.svc-meta-row{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:12px;border-top:1px solid var(--bd1);margin-top:auto;
}
.svc-dur{
  font-size:14px;color:var(--tx3);font-weight:600;
  display:flex;align-items:center;gap:6px;font-family:inherit;
}
.svc-dur svg{color:var(--g2);flex-shrink:0;}
.svc-price{
  font-size:24px!important;font-weight:900!important;
  color:var(--g1)!important;font-family:inherit!important;
  letter-spacing:-.5px!important;
}
.svc-select-strip{
  background:linear-gradient(135deg,var(--g1),var(--g2));
  color:#fff;display:flex;align-items:center;justify-content:center;
  gap:8px;padding:14px;font-size:14px;font-weight:700;
  opacity:0;transform:translateY(6px);
  transition:all .25s cubic-bezier(.4,0,.2,1);
  font-family:inherit;letter-spacing:.3px;
}
.pbs-svc-card:hover .svc-select-strip{opacity:1;transform:translateY(0);}

/* ══════════════════════════════
   STAFF CARDS
══════════════════════════════ */
.pbs-staff-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:20px;margin-bottom:32px;
}
.pbs-stf-card{
  background:var(--white);border:2px solid var(--bd1);
  border-radius:var(--rd);padding:30px 20px 24px;
  text-align:center;cursor:pointer;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  box-shadow:var(--sh1);
}
.pbs-stf-card:hover{
  border-color:var(--g2);transform:translateY(-6px);box-shadow:var(--sh3);
}
.pbs-stf-card.selected{
  border-color:var(--g1);background:rgba(26,61,43,.04);
  box-shadow:0 0 0 4px rgba(26,61,43,.12),var(--sh2);
}
.stf-av{
  width:88px;height:88px;border-radius:50%;margin:0 auto 16px;
  border:3px solid var(--gold);overflow:hidden;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  display:flex;align-items:center;justify-content:center;
  font-size:30px;color:#fff;
  box-shadow:0 6px 20px rgba(201,168,76,.35);
  transition:border-color .3s;
}
.pbs-stf-card.selected .stf-av{border-color:var(--g1);}
.stf-av img{width:100%;height:100%;object-fit:cover;display:block;}
.stf-name{
  font-size:17px!important;font-weight:800!important;
  color:var(--tx1)!important;margin-bottom:5px!important;
  font-family:inherit!important;letter-spacing:-.2px!important;
}
.stf-role{
  font-size:13px!important;color:var(--g2)!important;
  font-weight:700!important;font-family:inherit!important;
  letter-spacing:.2px!important;text-transform:uppercase!important;
}
.stf-tick{
  display:flex;align-items:center;justify-content:center;
  gap:6px;margin-top:14px;font-size:13px;
  color:var(--g1);font-weight:800;
  opacity:0;transition:opacity .25s;font-family:inherit;
}
.pbs-stf-card.selected .stf-tick{opacity:1;}

/* Loading */
.pbs-loading{
  display:flex;align-items:center;justify-content:center;
  gap:14px;padding:60px 20px;color:var(--tx3);
  font-size:16px;font-family:inherit;font-weight:500;
}
.pbs-spinner{
  width:26px;height:26px;
  border:3px solid var(--bd1);border-top-color:var(--g2);
  border-radius:50%;animation:pbsSpin .7s linear infinite;flex-shrink:0;
}
@keyframes pbsSpin{to{transform:rotate(360deg);}}

/* ══════════════════════════════
   DATE & TIME
══════════════════════════════ */
.pbs-dt-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin-bottom:28px;
}
@media(max-width:680px){.pbs-dt-layout{grid-template-columns:1fr;}}

/* Calendar Card */
.pbs-cal-card{
  background:var(--white);border:1.5px solid var(--bd1);
  border-radius:var(--rd);padding:26px;
  display:flex;flex-direction:column;gap:18px;box-shadow:var(--sh1);
}
.pbs-cal-nav{display:flex;align-items:center;justify-content:space-between;}
.pbs-cal-month{
  font-size:18px!important;font-weight:800!important;
  color:var(--g1)!important;font-family:inherit!important;letter-spacing:-.2px!important;
}
.pbs-cal-btn{
  background:var(--cream2);border:1.5px solid var(--bd1);color:var(--g1);
  border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;line-height:1;font-family:inherit;flex-shrink:0;font-weight:700;
}
.pbs-cal-btn:hover{background:var(--g1);border-color:var(--g1);color:#fff;}
.pbs-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:-4px;}
.pbs-cal-dow span{
  font-size:12px!important;color:var(--tx4)!important;text-align:center;
  padding:4px 0;font-weight:800!important;font-family:inherit!important;
  text-transform:uppercase;letter-spacing:.8px;
}
.pbs-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.pbs-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  border-radius:10px;font-size:15px!important;color:var(--tx2);
  cursor:pointer;border:1.5px solid transparent;
  transition:all .15s;font-family:inherit!important;font-weight:600;
}
.pbs-day:hover:not(.pbs-past):not(.pbs-empty){
  background:rgba(26,61,43,.08);border-color:var(--g3);color:var(--g1);
}
.pbs-day.pbs-today{
  border-color:var(--gold);color:var(--g1)!important;
  font-weight:800!important;background:rgba(201,168,76,.08);
}
.pbs-day.pbs-sel{
  background:linear-gradient(135deg,var(--g1),var(--g2))!important;
  color:#fff!important;border-color:transparent!important;
  font-weight:800!important;box-shadow:0 4px 16px rgba(26,61,43,.3);
}
.pbs-day.pbs-past{color:var(--bd2)!important;cursor:not-allowed!important;}
.pbs-day.pbs-empty{cursor:default;}

/* Timezone */
.pbs-tz-row{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;background:var(--cream2);
  border:1.5px solid var(--bd1);border-radius:10px;
}
.pbs-tz-row svg{color:var(--g2);flex-shrink:0;}
.pbs-tz-label{
  font-size:13px;color:var(--tx3);white-space:nowrap;
  font-family:inherit;font-weight:700;
}
.pbs-tz-select{
  background:transparent;border:none;color:var(--tx1);
  font-size:13px;font-family:inherit;outline:none;flex:1;cursor:pointer;font-weight:600;
}
.pbs-tz-select option{background:var(--white);color:var(--tx1);}

/* Slots Card */
.pbs-slots-card{
  background:var(--white);border:1.5px solid var(--bd1);
  border-radius:var(--rd);padding:26px;
  display:flex;flex-direction:column;gap:14px;
  overflow-y:auto;max-height:440px;box-shadow:var(--sh1);
}
.pbs-slots-head{
  display:flex;align-items:center;gap:8px;flex-shrink:0;
  font-size:17px!important;font-weight:800!important;
  color:var(--g1)!important;font-family:inherit!important;
}
.pbs-slots-head svg{color:var(--g2);}
.pbs-slots-hint{
  text-align:center;color:var(--tx4);
  font-size:15px;padding:50px 0;font-family:inherit;font-weight:500;
}
.pbs-slot{
  background:var(--cream);border:1.5px solid var(--bd1);
  border-radius:10px;padding:14px 18px;
  font-size:16px!important;color:var(--tx1)!important;
  cursor:pointer;transition:all .2s;
  display:flex;align-items:center;gap:12px;
  font-family:inherit!important;font-weight:600;
}
.pbs-slot::before{
  content:'';width:10px;height:10px;border-radius:50%;
  background:var(--bd2);flex-shrink:0;transition:all .2s;
}
.pbs-slot:hover{
  border-color:var(--g2);background:rgba(26,61,43,.05);color:var(--g1)!important;
}
.pbs-slot:hover::before{background:var(--g2);transform:scale(1.2);}
.pbs-slot.selected{
  background:rgba(26,61,43,.07)!important;
  border-color:var(--g1)!important;color:var(--g1)!important;
  box-shadow:0 0 0 3px rgba(26,61,43,.1);
}
.pbs-slot.selected::before{background:var(--g1);transform:scale(1.2);}
.pbs-no-slots{
  text-align:center;color:var(--tx4);font-size:15px;
  padding:30px 0;font-family:inherit;font-weight:500;
}

/* ══════════════════════════════
   SUMMARY CARD
══════════════════════════════ */
.pbs-summary-card{
  background:var(--white);border:1.5px solid var(--bd1);
  border-radius:var(--rd);padding:26px 32px;margin-bottom:24px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:20px;position:relative;overflow:hidden;box-shadow:var(--sh1);
}
.pbs-summary-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--g1),var(--gold),var(--g2));
}
.sum-lbl{
  font-size:11px!important;color:var(--tx4)!important;
  text-transform:uppercase;letter-spacing:1.2px;
  margin-bottom:6px!important;font-weight:800!important;
  font-family:inherit!important;
}
.sum-val{
  font-size:16px!important;font-weight:700!important;
  color:var(--tx1)!important;font-family:inherit!important;
  line-height:1.4!important;
}
.sum-val.price{
  font-size:26px!important;font-weight:900!important;
  color:var(--g1)!important;letter-spacing:-.5px!important;
}

/* ══════════════════════════════
   FORM CARD
══════════════════════════════ */
.pbs-form-card{
  background:var(--white);border:1.5px solid var(--bd1);
  border-radius:var(--rd);padding:36px 44px;margin-bottom:22px;
  box-shadow:var(--sh1);
}
.pbs-form-card-title{
  display:flex;align-items:center;gap:10px;
  font-size:18px!important;font-weight:800!important;
  color:var(--g1)!important;margin-bottom:26px!important;
  font-family:inherit!important;letter-spacing:-.2px!important;
  padding-bottom:16px;border-bottom:1.5px solid var(--bd1);
}
.pbs-form-card-title svg{color:var(--g2);}
.pbs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.pbs-form-row:last-child{margin-bottom:0;}
@media(max-width:580px){.pbs-form-row{grid-template-columns:1fr;gap:16px;}}
.pbs-field{display:flex;flex-direction:column;gap:8px;}
.pbs-field label{
  font-size:13px!important;color:var(--tx3)!important;font-weight:800!important;
  text-transform:uppercase!important;letter-spacing:.6px!important;
  font-family:inherit!important;
}
.req-star{color:var(--red);}
.pbs-field input{
  background:var(--cream)!important;
  border:1.5px solid var(--bd1)!important;
  border-radius:10px!important;color:var(--tx1)!important;
  padding:15px 18px!important;font-size:16px!important;
  font-family:inherit!important;font-weight:500!important;
  outline:none!important;
  transition:border-color .2s,box-shadow .2s,background .2s!important;
  width:100%!important;-webkit-appearance:none;
}
.pbs-field input:focus{
  border-color:var(--g2)!important;background:var(--white)!important;
  box-shadow:0 0 0 4px rgba(26,61,43,.1)!important;
}
.pbs-field input::placeholder{color:var(--tx4)!important;opacity:1!important;}

/* ══════════════════════════════
   PAYMENT CARD
══════════════════════════════ */
.pbs-payment-card{
  background:var(--white);
  border:1.5px solid rgba(201,168,76,.45);
  border-radius:var(--rd);padding:30px 32px;margin-bottom:22px;
  position:relative;overflow:hidden;box-shadow:var(--sh1);
}
.pbs-payment-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--gold),var(--g1),var(--gold2));
}
.pbs-payment-header{
  display:flex;align-items:flex-start;gap:16px;margin-bottom:26px;
  padding-bottom:20px;border-bottom:1.5px solid var(--bd1);
}
.pbs-payment-icon{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  display:flex;align-items:center;justify-content:center;
  font-size:26px;flex-shrink:0;
  box-shadow:0 4px 16px rgba(26,61,43,.25);
}
.pbs-payment-title{
  font-size:19px!important;font-weight:900!important;
  color:var(--g1)!important;margin-bottom:5px!important;
  font-family:inherit!important;letter-spacing:-.3px!important;
}
.pbs-payment-sub{
  font-size:14px!important;color:var(--tx3)!important;
  font-family:inherit!important;font-weight:500!important;line-height:1.5!important;
}
/* Amount box */
.pbs-payment-amount-box{
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(135deg,rgba(201,168,76,.1),rgba(26,61,43,.06));
  border:1.5px solid rgba(201,168,76,.4);border-radius:12px;
  padding:18px 24px;margin-bottom:20px;
}
.pay-amt-label{
  font-size:14px;color:var(--tx3);font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;font-family:inherit;
}
.pay-amt-value{
  font-size:32px;font-weight:900;color:var(--g1);
  font-family:inherit;letter-spacing:-.5px;
}
/* Method box */
.pbs-payment-method-box{
  background:var(--cream);border:1.5px solid var(--bd1);
  border-radius:12px;padding:20px 22px;margin-bottom:20px;
  display:flex;flex-direction:column;gap:18px;
}
.pbs-method-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pbs-method-badge{display:flex;align-items:center;gap:12px;}
.method-dot{
  width:12px;height:12px;border-radius:50%;
  background:linear-gradient(135deg,var(--g1),var(--gold));flex-shrink:0;
  box-shadow:0 2px 8px rgba(26,61,43,.3);
}
.method-name{
  font-size:18px;font-weight:900;color:var(--g1);
  font-family:inherit;letter-spacing:-.2px;
}
.pbs-method-tag{
  font-size:11px;background:rgba(26,61,43,.08);color:var(--g2);
  padding:5px 14px;border-radius:99px;font-weight:800;
  text-transform:uppercase;letter-spacing:.5px;
}
/* Steps */
.pbs-pay-steps{
  display:flex;flex-direction:column;gap:12px;padding:6px 0;
}
.pbs-pay-step{display:flex;align-items:flex-start;gap:14px;}
.pay-step-num{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  color:#fff;font-size:13px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 12px rgba(26,61,43,.25);margin-top:1px;
}
.pay-step-txt{
  font-size:15px;color:var(--tx2);line-height:1.55;
  font-family:inherit;font-weight:500;
}
.pay-step-txt strong{color:var(--g1);font-weight:800;}
/* Number display */
.pbs-payment-number-wrap{display:flex;flex-direction:column;gap:10px;}
.pay-num-label{
  display:flex;align-items:center;gap:7px;font-size:12px;
  color:var(--tx3);font-weight:800;text-transform:uppercase;
  letter-spacing:.6px;font-family:inherit;
}
.pay-num-label svg{color:var(--g2);}
.pbs-phone-display{
  display:flex;align-items:center;gap:14px;
  background:var(--white);border:2px solid var(--g2);
  border-radius:12px;padding:16px 20px;
  box-shadow:0 4px 16px rgba(26,61,43,.1);
}
.pbs-number-text{
  font-size:26px;font-weight:900;color:var(--g1);
  font-family:'Courier New',monospace;letter-spacing:4px;flex:1;
}
.pbs-copy-btn{
  display:flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,var(--g1),var(--g2));
  border:none;color:#fff;border-radius:10px;
  padding:11px 18px;font-size:14px;font-weight:700;
  cursor:pointer;font-family:inherit;transition:all .25s;flex-shrink:0;
  box-shadow:0 4px 14px rgba(26,61,43,.3);letter-spacing:.2px;
}
.pbs-copy-btn:hover{
  box-shadow:0 6px 20px rgba(26,61,43,.45);transform:translateY(-2px);
}
.pbs-pay-instructions{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14px;color:var(--tx3);line-height:1.6;
  font-family:inherit;padding:12px 16px;
  background:rgba(201,168,76,.08);border-radius:8px;
  border:1px solid rgba(201,168,76,.25);
}
.pbs-pay-instructions svg{color:var(--gold);flex-shrink:0;margin-top:2px;}
/* Transaction ID */
.pbs-txn-field{display:flex;flex-direction:column;gap:10px;}
.pbs-txn-field>label{
  font-size:13px!important;color:var(--tx3)!important;font-weight:800!important;
  text-transform:uppercase!important;letter-spacing:.6px!important;font-family:inherit!important;
}
.pbs-txn-input-wrap{position:relative;display:flex;align-items:center;}
.pbs-txn-input-wrap svg{position:absolute;left:16px;color:var(--g2);pointer-events:none;}
.pbs-txn-input-wrap input{
  background:var(--cream)!important;border:1.5px solid var(--bd1)!important;
  border-radius:10px!important;color:var(--tx1)!important;
  padding:15px 18px 15px 44px!important;font-size:16px!important;
  font-family:inherit!important;font-weight:500!important;
  outline:none!important;width:100%!important;
  transition:border-color .2s,box-shadow .2s,background .2s!important;
  -webkit-appearance:none;
}
.pbs-txn-input-wrap input:focus{
  border-color:var(--g2)!important;background:var(--white)!important;
  box-shadow:0 0 0 4px rgba(26,61,43,.1)!important;
}
.pbs-txn-input-wrap input::placeholder{color:var(--tx4)!important;opacity:1!important;}
.pbs-txn-help{
  font-size:13px!important;color:var(--tx4)!important;
  font-family:inherit!important;font-weight:500!important;line-height:1.5!important;
}

/* ══════════════════════════════
   POLICY CARD
══════════════════════════════ */
.pbs-policy-card{
  background:var(--white);border:1.5px solid var(--bd1);
  border-radius:var(--rd);padding:26px 32px;margin-bottom:24px;
  box-shadow:var(--sh1);
}
.pbs-policy-header{
  display:flex;align-items:center;gap:10px;
  font-size:17px!important;font-weight:800!important;
  color:var(--g1)!important;margin-bottom:14px!important;
  font-family:inherit!important;
}
.pbs-policy-header svg{color:var(--gold);}
.pbs-policy-body{
  font-size:15px!important;color:var(--tx2)!important;
  line-height:1.75!important;max-height:120px;overflow-y:auto;
  margin-bottom:18px!important;font-family:inherit!important;font-weight:500!important;
}
.pbs-agree-row{
  display:flex;align-items:center;gap:12px;
  cursor:pointer;user-select:none;padding:12px 16px;
  background:var(--cream2);border-radius:10px;
  border:1.5px solid var(--bd1);
}
.pbs-agree-cb{display:none;}
.pbs-agree-box{
  width:24px;height:24px;border-radius:7px;
  border:2px solid var(--bd2);background:var(--white);
  flex-shrink:0;display:flex;align-items:center;
  justify-content:center;transition:all .2s;
}
.pbs-agree-cb:checked+.pbs-agree-box{
  background:linear-gradient(135deg,var(--g1),var(--g2));border-color:transparent;
}
.pbs-agree-cb:checked+.pbs-agree-box::after{
  content:'✓';color:#fff;font-size:14px;font-weight:900;line-height:1;
}
.pbs-agree-txt{
  font-size:15px!important;color:var(--tx1)!important;
  font-family:inherit!important;font-weight:600!important;line-height:1.4!important;
}

/* ══════════════════════════════
   ERROR MESSAGE
══════════════════════════════ */
.pbs-error-msg{
  display:none;
  background:rgba(192,57,43,.07);border:1.5px solid rgba(192,57,43,.3);
  color:var(--red);border-radius:10px;padding:15px 20px;
  font-size:15px;font-family:inherit;margin-bottom:20px;
  align-items:center;gap:10px;font-weight:600;
}
.pbs-error-msg.show{display:flex!important;}

/* ══════════════════════════════
   BUTTONS — MATCHING PAIR
══════════════════════════════ */
.pbs-nav-row{
  display:flex;align-items:center;justify-content:flex-start;
  margin-top:36px;gap:16px;
}
.pbs-nav-confirm{justify-content:space-between;}

/* Shared base */
.pbs-btn-back,
.pbs-btn-confirm{
  display:inline-flex;align-items:center;justify-content:center;
  gap:12px;border-radius:var(--rd3);padding:0 36px;height:56px;
  font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;
  letter-spacing:.2px;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;white-space:nowrap;
  text-decoration:none;border:2px solid transparent;
}

/* Back Button */
.pbs-btn-back{
  background:var(--white);
  border-color:var(--bd2);color:var(--tx3);
  box-shadow:var(--sh1);
}
.pbs-btn-back .btn-icon-wrap{
  width:32px;height:32px;border-radius:50%;
  background:var(--cream2);border:1.5px solid var(--bd1);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;
}
.pbs-btn-back .btn-icon-wrap svg{
  stroke:var(--tx3);transition:all .3s cubic-bezier(.4,0,.2,1);
}
.pbs-btn-back:hover{
  border-color:var(--g2);color:var(--g1);
  box-shadow:var(--sh2);background:rgba(26,61,43,.03);
}
.pbs-btn-back:hover .btn-icon-wrap{
  background:var(--g1);border-color:var(--g1);
}
.pbs-btn-back:hover .btn-icon-wrap svg{
  stroke:#fff;transform:translateX(-3px);
}
.pbs-btn-back:active{transform:scale(.97);}

/* Confirm Button */
.pbs-btn-confirm{
  background:linear-gradient(135deg,var(--g1) 0%,var(--g2) 100%);
  border-color:transparent;color:#fff;
  box-shadow:0 8px 28px rgba(26,61,43,.35),0 2px 8px rgba(26,61,43,.2);
}
.pbs-btn-confirm .btn-icon-wrap{
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;
}
.pbs-btn-confirm:hover{
  background:linear-gradient(135deg,var(--g1) 0%,var(--gold) 100%);
  box-shadow:0 14px 42px rgba(26,61,43,.45),0 4px 16px rgba(201,168,76,.25);
  transform:translateY(-3px);
}
.pbs-btn-confirm:hover .btn-icon-wrap{
  background:rgba(255,255,255,.28);transform:scale(1.1);
}
.pbs-btn-confirm:active{transform:translateY(-1px) scale(.98);}
.pbs-btn-confirm:disabled{
  opacity:.5;cursor:not-allowed;
  transform:none!important;box-shadow:none!important;
}
.pbs-spinner-sm{
  width:20px;height:20px;
  border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;
  border-radius:50%;animation:pbsSpin .7s linear infinite;flex-shrink:0;
}

/* ══════════════════════════════
   SUCCESS SCREEN
══════════════════════════════ */
.pbs-success-wrap{text-align:center;padding:80px 20px 100px;}
.pbs-success-anim{margin-bottom:32px;}
.pbs-success-circle{
  width:104px;height:104px;border-radius:50%;
  background:linear-gradient(135deg,var(--g1) 0%,var(--gold) 100%);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;
  box-shadow:0 0 0 12px rgba(26,61,43,.1),0 16px 50px rgba(26,61,43,.3);
  animation:pbsPop .6s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes pbsPop{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}
.pbs-success-title{
  font-size:36px!important;font-weight:900!important;
  color:var(--g1)!important;margin-bottom:12px!important;
  font-family:inherit!important;letter-spacing:-.5px!important;
}
.pbs-success-sub{
  font-size:17px!important;color:var(--tx3)!important;
  margin-bottom:40px!important;font-family:inherit!important;font-weight:500!important;
}
.pbs-success-ref{
  display:inline-block;background:var(--white);
  border:2px solid var(--gold);border-radius:var(--rd);
  padding:26px 52px;margin-bottom:24px;
  box-shadow:0 8px 30px rgba(201,168,76,.2);
}
.ref-label{
  display:block;font-size:12px;color:var(--tx4);
  text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:10px;font-weight:800;font-family:inherit;
}
.ref-code{
  display:block;font-size:30px;font-weight:900;color:var(--g1);
  letter-spacing:4px;font-family:'Courier New',monospace;
}
.pbs-success-email-note{
  display:flex;align-items:center;justify-content:center;
  gap:9px;font-size:15px;color:var(--tx3);
  margin-bottom:40px;font-family:inherit;font-weight:500;
}
.pbs-success-email-note svg{color:var(--g2);}

/* ══════════════════════════════
   STATIC SECTIONS
══════════════════════════════ */
.pbs-pub-wrap{
  background:var(--cream,#f9f5ec);color:var(--tx1,#12261a);
  padding:48px 28px 68px;
  font-family:'Inter',-apple-system,'Segoe UI',Arial,sans-serif;
}
.pbs-pub-title{
  text-align:center;font-size:34px;font-weight:900;
  color:#1a3d2b;margin-bottom:40px;letter-spacing:-.5px;
}
.pbs-pub-svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.pbs-pub-svc-card{
  background:#fff;border:1.5px solid #d4e4cb;border-radius:16px;
  overflow:hidden;transition:all .3s;box-shadow:0 4px 20px rgba(26,61,43,.1);
}
.pbs-pub-svc-card:hover{transform:translateY(-5px);border-color:#2d6a4f;box-shadow:0 12px 40px rgba(26,61,43,.18);}
.pbs-pub-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;}
.pbs-pub-team-card{
  background:#fff;border:1.5px solid #d4e4cb;border-radius:16px;
  padding:32px 22px;text-align:center;transition:all .3s;
  box-shadow:0 4px 20px rgba(26,61,43,.1);
}
.pbs-pub-team-card:hover{transform:translateY(-5px);border-color:#2d6a4f;box-shadow:0 12px 40px rgba(26,61,43,.18);}
.pub-team-av{
  width:90px;height:90px;border-radius:50%;object-fit:cover;
  border:3px solid #c9a84c;margin:0 auto 16px;display:block;
  box-shadow:0 6px 20px rgba(201,168,76,.3);
}
.pub-team-av-ph{
  width:90px;height:90px;border-radius:50%;
  background:linear-gradient(135deg,#1a3d2b,#2d6a4f);
  display:flex;align-items:center;justify-content:center;
  font-size:34px;color:#fff;margin:0 auto 16px;
}
.pub-team-name{font-size:18px;font-weight:800;color:#12261a;margin-bottom:5px;letter-spacing:-.2px;}
.pub-team-pos{font-size:13px;color:#2d6a4f;margin-bottom:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.pub-team-bio{font-size:14px;color:#5a7a62;line-height:1.65;font-weight:500;}
.pbs-pub-rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.pbs-pub-rev-card{
  background:#fff;border:1.5px solid #d4e4cb;border-radius:16px;
  padding:26px;transition:all .3s;box-shadow:0 4px 20px rgba(26,61,43,.1);
}
.pbs-pub-rev-card:hover{transform:translateY(-4px);border-color:#2d6a4f;}
.pub-rev-stars{font-size:20px;color:#c9a84c;margin-bottom:14px;letter-spacing:3px;}
.pub-rev-text{font-size:15px;color:#12261a;line-height:1.75;margin-bottom:16px;font-style:italic;font-weight:500;}
.pub-rev-author{font-size:15px;font-weight:800;color:#1a3d2b;}
.pub-rev-date{font-size:12px;color:#8aaa90;margin-top:4px;font-weight:600;}
.pbs-pub-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.pbs-pub-gal-item{border-radius:12px;overflow:hidden;aspect-ratio:1;background:#e8e0ca;box-shadow:0 4px 16px rgba(26,61,43,.1);}
.pbs-pub-gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}
.pbs-pub-gal-item:hover img{transform:scale(1.07);}

/* ══════════════════════════════
   SCROLLBAR
══════════════════════════════ */
#pbs-wrap ::-webkit-scrollbar{width:6px;}
#pbs-wrap ::-webkit-scrollbar-track{background:var(--cream2);}
#pbs-wrap ::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:3px;}
#pbs-wrap ::-webkit-scrollbar-thumb:hover{background:var(--g3);}

/* ══════════════════════════════
   MOBILE RESPONSIVE
══════════════════════════════ */
@media(max-width:768px){
  .pbs-container{padding:0 24px;}
  .pbs-header{padding:36px 0 30px;gap:14px;}
  .pbs-header-icon{width:56px;height:56px;font-size:28px;}
  .pbs-header-title{font-size:26px!important;}
  .pbs-header-sub{font-size:15px!important;}
  .pbs-step-title{font-size:24px!important;}
  .pbs-step-hint{font-size:15px!important;}
  .pbs-step-head{margin-bottom:28px;}
  .pbs-svc-grid{grid-template-columns:1fr;gap:16px;}
  .svc-name{font-size:17px!important;}
  .svc-price{font-size:22px!important;}
  .svc-desc{font-size:14px!important;}
  .pbs-staff-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .stf-av{width:72px;height:72px;}
  .stf-name{font-size:15px!important;}
  .stf-role{font-size:12px!important;}
  .pbs-summary-card{grid-template-columns:1fr 1fr;gap:14px;padding:20px 22px;}
  .sum-val{font-size:14px!important;}
  .sum-val.price{font-size:22px!important;}
  .pbs-form-card{padding:22px 20px;}
  .pbs-field input{font-size:16px!important;padding:14px 16px!important;}
  .pbs-payment-card{padding:22px 20px;}
  .pbs-number-text{font-size:20px!important;letter-spacing:2px!important;}
  .pay-amt-value{font-size:26px;}
  .pbs-policy-card{padding:20px 20px;}
  .pbs-prog-bubble{width:42px;height:42px;}
  .prog-num{font-size:16px;}
  .pbs-prog-lbl{font-size:11px;}
  .pbs-prog-track{min-width:16px;}
  .pbs-btn-back,.pbs-btn-confirm{height:52px;padding:0 26px;font-size:15px;gap:10px;}
  .btn-icon-wrap{width:28px!important;height:28px!important;}
  .pbs-success-title{font-size:28px!important;}
  .pbs-success-ref{padding:20px 32px;}
  .ref-code{font-size:24px;letter-spacing:2px;}
}

@media(max-width:480px){
  .pbs-container{padding:0 18px;}
  .pbs-header-title{font-size:22px!important;}
  .pbs-step-title{font-size:21px!important;}
  .pbs-staff-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .pbs-stf-card{padding:20px 12px 16px;}
  .stf-av{width:64px;height:64px;font-size:24px;}
  .stf-name{font-size:14px!important;}
  .pbs-summary-card{grid-template-columns:1fr;gap:12px;padding:18px 18px;}
  .pbs-prog-bubble{width:38px;height:38px;}
  .prog-num{font-size:14px;}
  .pbs-prog-lbl{font-size:10px;}
  .pbs-prog-track{min-width:10px;}
  .pbs-btn-back,.pbs-btn-confirm{height:50px;padding:0 20px;font-size:14px;}
}
