/* SmartMarudu v0.10.11 — Booking Public Premium
 * Self-contained hardening for /bisnes|business|app/{slug}/tempah and custom-domain /tempah.
 * Loaded last so booking layout does not depend on historical Owner CSS versions.
 */
.booking-public-head{
  max-width:920px!important;
  padding:34px 0 18px!important;
  margin:0!important;
}
.booking-public-head h1{margin:6px 0 10px!important;line-height:1.08!important}
.booking-public-head p{max-width:760px!important;line-height:1.65!important}

.booking-progress{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 0 22px!important;
  overflow:hidden!important;
  border:1px solid #e4e7ec!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.04)!important;
}
.booking-progress>span{
  min-width:0!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  color:#667085!important;
  font-size:16px!important;
  font-weight:700!important;
  border-right:1px solid #edf0f3!important;
  background:#fff!important;
}
.booking-progress>span:last-child{border-right:0!important}
.booking-progress>span b{
  width:25px!important;height:25px!important;display:grid!important;place-items:center!important;
  flex:none!important;border-radius:50%!important;background:#eef2f6!important;color:#475467!important;
  font-size:16px!important;line-height:1!important
}
.booking-progress>span.is-active{color:#0f172a!important;background:#f8fafc!important}
.booking-progress>span.is-active b{background:var(--owner-accent,#0b5bd3)!important;color:#fff!important}

.public-booking-layout{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(290px,330px)!important;
  gap:24px!important;
  align-items:start!important;
  margin:0 0 54px!important;
}
.automation-booking-form{
  min-width:0!important;
  padding:28px!important;
  border-radius:20px!important;
  border:1px solid #e4e7ec!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(15,23,42,.055)!important;
}
.automation-booking-form>section{
  display:grid!important;
  gap:14px!important;
  padding:0 0 24px!important;
  margin:0 0 24px!important;
  border-bottom:1px solid #eaecf0!important;
}
.automation-booking-form>section:last-of-type{border-bottom:0!important;margin-bottom:10px!important;padding-bottom:0!important}
.automation-booking-form section h2{margin:2px 0 2px!important;line-height:1.2!important}
.automation-booking-form label{display:block!important;min-width:0!important}
.automation-booking-form input,
.automation-booking-form select,
.automation-booking-form textarea{
  width:100%!important;
  min-height:52px!important;
  margin-top:8px!important;
  padding:13px 14px!important;
  border:1px solid #d0d5dd!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#101828!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.automation-booking-form textarea{min-height:118px!important;resize:vertical!important}
.automation-booking-form input:focus,
.automation-booking-form select:focus,
.automation-booking-form textarea:focus{
  border-color:var(--owner-accent,#0b5bd3)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--owner-accent,#0b5bd3) 12%,transparent)!important;
  outline:0!important;
}
.automation-booking-form .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.booking-quantity-wrap{
  padding:16px!important;margin-top:2px!important;border:1px solid #e4e7ec!important;
  border-radius:13px!important;background:#f8fafc!important
}
.booking-quantity-wrap[hidden]{display:none!important}
.booking-quantity-wrap small,.slot-message,.booking-form-note{font-size:16px!important;line-height:1.55!important;color:#667085!important}
.slot-message{padding:11px 13px!important;border-radius:10px!important;background:#f8fafc!important;border:1px solid #eaecf0!important}
.booking-submit-panel{display:grid!important;gap:10px!important;padding-top:4px!important}
.booking-submit-panel .btn{min-height:52px!important;border-radius:12px!important;font-size:16px!important}
.booking-form-note{text-align:center!important;margin:0!important}

.booking-summary-side{min-width:0!important}
.sticky-booking-info{
  position:sticky!important;top:92px!important;padding:22px!important;border-radius:18px!important;
  border:1px solid #e4e7ec!important;background:#101828!important;color:#fff!important;
  box-shadow:0 14px 34px rgba(15,23,42,.16)!important
}
.sticky-booking-info .section-kicker{color:#fdb022!important}
.sticky-booking-info h2{color:#fff!important;margin:5px 0 12px!important;line-height:1.2!important}
.booking-business-logo{
  width:100%!important;height:108px!important;object-fit:contain!important;padding:10px!important;
  border-radius:12px!important;background:#fff!important;border:0!important;margin:4px 0 14px!important
}
.booking-selected-package{
  display:grid!important;gap:7px!important;padding:14px!important;margin:0 0 12px!important;
  border:1px solid rgba(255,255,255,.13)!important;border-radius:12px!important;background:rgba(255,255,255,.07)!important
}
.booking-selected-package[hidden]{display:none!important}
.booking-selected-package>b{color:#fff!important;font-size:16px!important}
.booking-summary-price{display:flex!important;align-items:baseline!important;gap:7px!important;flex-wrap:wrap!important}
.booking-summary-price strong{color:#fff!important;font-size:24px!important;line-height:1!important}
.booking-summary-price small{color:#cbd5e1!important;font-size:16px!important}
.sticky-booking-info .detail-list{display:grid!important;gap:0!important;margin-top:6px!important}
.sticky-booking-info .detail-list>div{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;
  padding:11px 0!important;border-bottom:1px solid rgba(255,255,255,.11)!important
}
.sticky-booking-info .detail-list>div:last-child{border-bottom:0!important}
.sticky-booking-info .detail-list span{color:#98a2b3!important;font-size:16px!important}
.sticky-booking-info .detail-list b{color:#fff!important;font-size:16px!important;text-align:right!important}
.sticky-booking-info .whatsapp-action{margin-top:14px!important;min-height:46px!important}

/* Related packages: intentionally self-contained so old owner-dynamic.css cannot break cards. */
.booking-related-section{
  width:100%!important;max-width:none!important;margin:0 0 62px!important;padding:0!important;
}
.booking-related-section .sm-owner-section-head{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;
  margin:0 0 20px!important
}
.booking-related-section .sm-owner-section-head>div{min-width:0!important}
.booking-related-section .sm-owner-section-kicker,
.booking-related-section .sm-package-category{
  display:block!important;color:#b54708!important;font-size:16px!important;font-weight:800!important;
  letter-spacing:.08em!important;text-transform:uppercase!important
}
.booking-related-section .sm-owner-section-head h2{margin:5px 0 6px!important;line-height:1.14!important}
.booking-related-section .sm-owner-section-head p{margin:0!important;color:#667085!important;font-size:16px!important;line-height:1.6!important}
.booking-related-section .sm-owner-section-link{flex:none!important;font-size:16px!important;font-weight:800!important;color:#344054!important}
.booking-related-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  align-items:stretch!important
}
.booking-related-card{
  min-width:0!important;max-width:100%!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  border:1px solid #e4e7ec!important;border-radius:18px!important;background:#fff!important;
  box-shadow:0 10px 28px rgba(15,23,42,.06)!important
}
.booking-related-media{
  width:100%!important;max-width:100%!important;display:block!important;
  aspect-ratio:16/10!important;min-height:0!important;max-height:none!important;
  overflow:hidden!important;background:#f2f4f7!important
}
.booking-related-media img{
  width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  display:block!important;object-fit:cover!important;object-position:center!important
}
.booking-related-body{
  min-width:0!important;flex:1!important;display:flex!important;flex-direction:column!important;
  gap:12px!important;padding:17px!important
}
.booking-related-body h3{margin:3px 0 0!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.booking-related-price{margin-top:auto!important}
.booking-related-price>span,.booking-related-price small{display:block!important;color:#667085!important;font-size:16px!important;line-height:1.45!important}
.booking-related-price strong{display:block!important;color:#101828!important;font-size:22px!important;line-height:1.15!important;margin-top:2px!important}
.booking-related-price.is-contact strong{font-size:16px!important;line-height:1.4!important}
.booking-related-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:2px!important}
.booking-related-actions .btn{width:100%!important;min-width:0!important;min-height:44px!important;padding:10px 11px!important;font-size:16px!important;border-radius:10px!important}

@media(max-width:980px){
  .public-booking-layout{grid-template-columns:1fr!important}
  .booking-summary-side{order:-1!important}
  .sticky-booking-info{position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr)!important;column-gap:24px!important;align-items:start!important}
  .sticky-booking-info>.section-kicker,.sticky-booking-info>h2,.sticky-booking-info>.booking-business-logo{grid-column:1!important}
  .sticky-booking-info>.booking-selected-package,.sticky-booking-info>.detail-list,.sticky-booking-info>.whatsapp-action{grid-column:2!important}
  .sticky-booking-info>.booking-selected-package{grid-row:1 / span 2!important}
  .booking-business-logo{max-width:180px!important}
  .booking-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .booking-public-head{padding-top:26px!important}
  .booking-progress{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .booking-progress>span{justify-content:flex-start!important;border-bottom:1px solid #edf0f3!important}
  .booking-progress>span:nth-child(2n){border-right:0!important}
  .automation-booking-form{padding:20px!important;border-radius:16px!important}
  .automation-booking-form .form-grid{grid-template-columns:1fr!important}
  .sticky-booking-info{display:block!important;padding:20px!important}
  .booking-business-logo{width:120px!important;height:88px!important}
  .booking-related-section .sm-owner-section-head{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .booking-related-grid{grid-template-columns:1fr!important;gap:14px!important}
  .booking-related-media{aspect-ratio:16/9!important}
}
@media(max-width:430px){
  .booking-progress>span{padding:9px 10px!important}
  .automation-booking-form{padding:17px!important}
  .booking-related-actions{grid-template-columns:1fr!important}
}

/* v0.10.13 — compact package comparison link */
.booking-package-tools{display:flex!important;justify-content:flex-end!important;margin-top:-2px!important}
.booking-package-tools a{font-size:16px!important;font-weight:700!important;color:var(--owner-accent,#0b5bd3)!important;text-decoration:none!important}
.booking-package-tools a:hover{text-decoration:underline!important}
