:root{
  --ttrbf-brand:#01421A;
  --ttrbf-brand-light:#117715;
  --ttrbf-brand-hover:#003514;
  --ttrbf-brand-soft:#F2F8F2;
  --ttrbf-white:#fff;
  --ttrbf-text:#111;
  --ttrbf-muted:#67717d;
  --ttrbf-border:#dfe4e8;
}
.ttrbf-wrap{max-width:980px;margin:20px auto;font-family:Arial,sans-serif;color:var(--ttrbf-text)}
.ttrbf-form{background:#fff}
.ttrbf-steps{border:1.5px solid var(--ttrbf-brand);border-radius:14px;background:var(--ttrbf-brand-soft);padding:24px 18px;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:36px}
.ttrbf-step-indicator{position:relative;text-align:center;font-size:13px}
.ttrbf-step-indicator:not(:last-child):before{content:"";position:absolute;top:19px;left:60%;right:-40%;height:2px;background:#fff}
.ttrbf-step-indicator span{position:relative;z-index:1;margin:auto;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ttrbf-muted);display:flex;align-items:center;justify-content:center;font-weight:700}
.ttrbf-step-indicator small{display:block;margin-top:9px}
.ttrbf-step-indicator.active span,.ttrbf-step-indicator.done span{background:var(--ttrbf-brand);color:#fff}
.ttrbf-step-indicator.current span{background:var(--ttrbf-brand-light);color:#fff}
.ttrbf-step-indicator.active small,.ttrbf-step-indicator.done small{color:var(--ttrbf-brand);font-weight:700}
.ttrbf-step-indicator.current small{color:var(--ttrbf-brand-light);font-weight:700}
.ttrbf-step{display:none}
.ttrbf-step.active{display:block}
.ttrbf-step h2{text-align:center;font-size:22px;margin:0 0 26px}
.ttrbf-step h3{font-size:22px;margin:20px 0}
.ttrbf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ttrbf-grid label{font-weight:700;font-size:13px}
.ttrbf-grid .full{grid-column:1/-1}
.ttrbf-grid input,.ttrbf-grid select,.ttrbf-grid textarea{width:100%;box-sizing:border-box;margin-top:8px;padding:13px 15px;border:1px solid var(--ttrbf-border);border-radius:9px;background:#fff;font-size:15px;min-height:44px}
.ttrbf-grid input:focus,.ttrbf-grid select:focus,.ttrbf-grid textarea:focus{outline:none;border-color:var(--ttrbf-brand-light);box-shadow:0 0 0 2px rgba(17,119,21,.10)}
.ttrbf-grid textarea{min-height:85px}
.ttrbf-summary{margin:58px auto 26px;max-width:850px;border:1.5px solid var(--ttrbf-brand);border-radius:14px;background:var(--ttrbf-brand-soft);padding:20px 30px;display:flex;justify-content:space-between}
.ttrbf-summary div{color:var(--ttrbf-brand)}
.ttrbf-summary b{font-size:25px;display:block}
.ttrbf-summary span{font-size:13px;display:block;margin-top:7px}
.ttrbf-actions{display:flex;gap:14px;margin-top:26px}
.ttrbf-actions button{border:0;border-radius:9px;padding:13px 25px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}
.ttrbf-actions button:hover{transform:translateY(-1px)}
.ttrbf-prev{background:#737e87;color:#fff;display:none;min-width:125px}
.ttrbf-next,.ttrbf-book{background:var(--ttrbf-brand);color:#fff;flex:1}
.ttrbf-next:hover,.ttrbf-book:hover{background:var(--ttrbf-brand-hover)}
.ttrbf-book{display:none}
.ttrbf-price-chart{border:1.5px solid var(--ttrbf-brand);background:var(--ttrbf-brand-soft);border-radius:12px;padding:18px;margin:0 auto 24px}
.ttrbf-price-chart h3{text-align:center;margin:5px 0 14px;font-size:18px;color:var(--ttrbf-brand)}
.ttrbf-price-chart table{width:100%;border-collapse:collapse;font-size:12px}
.ttrbf-price-chart th,.ttrbf-price-chart td{padding:12px;text-align:center}
.ttrbf-price-chart thead{border-top:1px solid #c9d9cc}
.ttrbf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ttrbf-card{position:relative;border:1px solid #dfe3e6;border-radius:10px;min-height:115px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-align:center;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.ttrbf-card:hover{border-color:var(--ttrbf-brand-light);box-shadow:0 3px 12px rgba(1,66,26,.08)}
.ttrbf-card input{position:absolute;opacity:0;pointer-events:none}
.ttrbf-card .icon{font-size:30px;margin-bottom:10px}
.ttrbf-card b{font-size:13px}
.ttrbf-card strong{color:var(--ttrbf-brand-light);margin-top:10px}
.ttrbf-card.selected{border-color:var(--ttrbf-brand);background:#f7fff8;box-shadow:0 0 0 1px var(--ttrbf-brand)}
.ttrbf-card em{position:absolute;top:4px;right:4px;background:var(--ttrbf-brand);color:#fff;font-size:10px;padding:4px 6px;border-radius:3px;font-style:normal}
.ttrbf-addon-cards{grid-template-columns:repeat(3,1fr)}
.ttrbf-error{color:#a32121;font-size:12px;margin-top:10px}
.ttrbf-notice{max-width:980px;margin:15px auto;padding:14px 18px;border-radius:8px;font-weight:700}
.ttrbf-notice.success{background:#e8f8ec;color:var(--ttrbf-brand);border:1px solid #a8dfb4}
.ttrbf-notice.error{background:#fff0f0;color:#8a1c16;border:1px solid #f4b6b6}

/* Keep booking fields consistent across WordPress themes and screen sizes */
.ttrbf-grid > label{min-width:0;display:block}
.ttrbf-grid input,.ttrbf-grid select,.ttrbf-grid textarea{
  display:block;
  max-width:100%;
  min-width:0;
  font-family:inherit;
  color:var(--ttrbf-text);
  line-height:1.25;
}
.ttrbf-grid input[type="date"],
.ttrbf-grid input[type="time"],
.ttrbf-grid select{
  height:46px !important;
  min-height:46px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  line-height:normal !important;
  vertical-align:middle;
}
.ttrbf-grid select{
  padding-left:15px !important;
  padding-right:42px !important;
  text-indent:0 !important;
}
.ttrbf-grid input[type="date"],.ttrbf-grid input[type="time"]{
  padding-left:15px !important;
  padding-right:15px !important;
}
@media(max-width:700px){
  .ttrbf-wrap{margin:10px;max-width:calc(100% - 20px)}.ttrbf-steps{padding:18px 7px}.ttrbf-step-indicator span{width:34px;height:34px}.ttrbf-step-indicator:not(:last-child):before{top:16px}.ttrbf-step-indicator small{font-size:9px}.ttrbf-grid{grid-template-columns:1fr}.ttrbf-grid .full{grid-column:auto}.ttrbf-cards,.ttrbf-addon-cards{grid-template-columns:repeat(2,1fr)}.ttrbf-summary{margin-top:40px}.ttrbf-table-scroll{overflow-x:auto}.ttrbf-price-chart table{min-width:600px}.ttrbf-grid input,.ttrbf-grid select,.ttrbf-grid textarea{font-size:16px}
}
@media(max-width:430px){
  .ttrbf-card{padding:10px}.ttrbf-actions{gap:10px}.ttrbf-prev{min-width:105px}.ttrbf-summary{padding:18px}.ttrbf-step h2{font-size:18px}
}

/* Driving Permit quantity controls */
.ttrbf-permit-card{cursor:default}
.ttrbf-permit-card strong{margin-top:10px}
.ttrbf-qty{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px}
.ttrbf-qty-btn{width:42px;height:42px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;line-height:1;cursor:pointer;background:var(--ttrbf-brand-light);color:#fff;transition:transform .15s ease,background .15s ease,opacity .15s ease}
.ttrbf-qty-btn:hover{background:var(--ttrbf-brand);transform:scale(1.04)}
.ttrbf-qty-btn:disabled{background:#cfd5d1;color:#fff;cursor:not-allowed;opacity:.9;transform:none}
.ttrbf-qty-number{min-width:24px;text-align:center;font-size:18px;font-weight:800;color:var(--ttrbf-text)}
@media(max-width:430px){.ttrbf-qty{gap:12px}.ttrbf-qty-btn{width:36px;height:36px;font-size:19px}}

/* Booking success / thank-you screen */
.ttrbf-thankyou{max-width:760px;margin:30px auto;padding:42px 30px;border:1.5px solid var(--ttrbf-brand);border-radius:18px;background:var(--ttrbf-brand-soft);text-align:center;font-family:Arial,sans-serif;color:var(--ttrbf-text);box-shadow:0 10px 30px rgba(1,66,26,.08)}
.ttrbf-thankyou-check{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--ttrbf-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800}
.ttrbf-thankyou h2{margin:0 0 12px;font-size:28px;color:var(--ttrbf-brand)}
.ttrbf-thankyou>p{max-width:600px;margin:0 auto 22px;line-height:1.65;color:#44514a}
.ttrbf-reference{max-width:480px;margin:24px auto;padding:18px 22px;border:1px solid #bfd5c4;border-radius:12px;background:#fff}
.ttrbf-reference span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#69776e;margin-bottom:7px}
.ttrbf-reference strong{display:block;font-size:21px;color:var(--ttrbf-brand);word-break:break-word}
.ttrbf-thankyou-summary{max-width:520px;margin:20px auto 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ttrbf-thankyou-summary div{padding:16px;border-radius:11px;background:#fff;border:1px solid #d7e4da}
.ttrbf-thankyou-summary span{display:block;font-size:12px;color:#647169;margin-bottom:6px}
.ttrbf-thankyou-summary b{display:block;font-size:22px;color:var(--ttrbf-brand)}
.ttrbf-thankyou .ttrbf-thankyou-email{font-size:14px;margin-bottom:0;color:#44514a}
@media(max-width:600px){.ttrbf-thankyou{margin:15px 10px;padding:30px 18px}.ttrbf-thankyou h2{font-size:23px}.ttrbf-thankyou-summary{grid-template-columns:1fr}.ttrbf-reference strong{font-size:17px}}
