.submission-page #booking{padding:28px 0 36px!important;background:#f7faf9}
.submission-page .booking-box{width:min(920px,calc(100% - 32px))!important;grid-template-columns:minmax(0,1fr);gap:20px;margin:auto}
.submission-page .booking-copy{padding:0;text-align:center;max-width:720px;margin:0 auto}
.submission-page .booking-copy h1{font-size:28px;margin:6px 0 10px;letter-spacing:0}
.submission-page #booking .booking-copy p{font-size:14px!important;line-height:1.6;margin:0}
.submission-page .form-card{padding:24px;border-radius:8px;box-shadow:none;min-width:0}
.submission-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.submission-page .field{min-width:0;gap:6px}
.submission-page .submission-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;min-width:0}
.submission-page .form-grid>.submission-details{grid-column:1/-1}
.submission-page .submission-details:not(:has([data-service-field]:not([hidden]))){display:none}
.submission-page .submission-details>.field:nth-last-child(1 of :not([hidden])):nth-child(odd of :not([hidden])){grid-column:1/-1}
.submission-page .field label{margin:0;line-height:1.4}
.submission-page .field :is(input,select,textarea){padding:10px 12px;border-radius:6px;min-width:0}
.submission-page .field textarea{min-height:76px;resize:vertical}
.submission-page .field-hint{margin:0;font-size:12px}
.submission-page .payment-choice{padding:12px;border-radius:6px}
.submission-page .payment-choice-options>label{padding:10px;border-radius:6px}
.submission-page .captcha-field{margin-top:0}
.checkout-page{padding:28px 0 36px;background:#fff;overflow-wrap:anywhere}
.checkout-page .checkout-shell{width:min(1080px,calc(100% - 32px))!important;margin:0 auto}
.checkout-heading{padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #dfe6e8;text-align:center}
.checkout-heading h1{font-size:28px;line-height:1.25;letter-spacing:0;color:#203b4c;margin:0 0 6px}
.checkout-heading p{font-size:14px;margin:0;color:#576774}
.checkout-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.checkout-summary,.checkout-confirmation{min-width:0}
.checkout-summary h2,.checkout-methods legend{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:0;color:#203b4c;margin:0 0 14px;padding:0}
.checkout-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:0}
.checkout-details>div{min-width:0;padding-bottom:12px;border-bottom:1px solid #e3e9ec}
.checkout-details dt{font-size:12px;color:#596b77;margin-bottom:4px}
.checkout-details dd{font-size:14px;line-height:1.5;margin:0;font-weight:600;color:#203b4c}
.checkout-details .checkout-total{grid-column:1/-1;padding:14px 0;border-top:2px solid #18745c;border-bottom:0}
.checkout-total dt{font-size:14px;font-weight:700;color:#18745c}
.checkout-total dd{font-size:22px;line-height:1.4;color:#115d49}
.checkout-help{display:inline-block;font-size:13px;font-weight:600;color:#17694f;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.checkout-methods{border:0;min-width:0;padding:0;margin:0 0 18px}
.checkout-method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.checkout-method{border:1px solid #d6dfe4;border-radius:6px;padding:14px;min-width:0;background:#f9fbfc}
.checkout-method:has(input:checked){border-color:#18745c;box-shadow:inset 0 0 0 1px #18745c;background:#f0faf5}
.checkout-method-label{display:flex;gap:8px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.45}
.checkout-method-label input{width:17px;height:17px;flex:0 0 auto;margin:2px 0 0;accent-color:#18745c}
.checkout-method p{font-size:13px;line-height:1.5;margin:8px 0 0;color:#4c606e}
.checkout-method .checkout-account{font-size:17px;font-weight:700;color:#203b4c}
.checkout-qris{display:block;width:200px;max-width:100%;height:auto;object-fit:contain;margin:12px auto 0}
.checkout-page .checkout-form{gap:14px}
.checkout-form .field{min-width:0;gap:7px;font-size:14px;line-height:1.5}
.checkout-form .field input:not([type=checkbox]){padding:10px 12px;border-radius:6px}
.checkout-page .check-row{display:flex;flex-direction:row;align-items:flex-start;gap:9px}
.checkout-page .check-row input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0;accent-color:#18745c}
.checkout-page .btn{width:100%;border-radius:6px;min-height:44px}
.checkout-page a:focus-visible,.checkout-page input:focus-visible{outline:3px solid #ae761b;outline-offset:3px}
@media(max-width:760px){
  .checkout-columns{grid-template-columns:minmax(0,1fr);gap:22px}
  .checkout-summary{padding-bottom:18px;border-bottom:1px solid #dfe6e8}
  .checkout-page,.submission-page #booking{padding:24px 0!important}
  .checkout-heading{margin-bottom:18px;padding-bottom:14px}
  .checkout-heading h1,.submission-page .booking-copy h1{font-size:25px}
}
@media(max-width:540px){
  .submission-page .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .submission-page .submission-details{grid-template-columns:minmax(0,1fr);gap:12px}
  .submission-page .form-card{padding:16px}
  .submission-page .booking-box{gap:16px}
  .checkout-details{gap:12px}
  .checkout-total dd{font-size:20px}
}
