
/* Truibakt Bestellingen – interface v1.0.3 */
.tb-order-form{
  width:100%;
  max-width:1100px;
  display:grid;
  gap:34px;
  font:inherit;
  color:inherit;
}
.tb-order-form *{box-sizing:border-box}
.tb-order-form label{
  display:grid;
  gap:9px;
  font:inherit;
}
.tb-order-form fieldset{
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}
.tb-order-form legend{
  width:100%;
  margin:0 0 16px;
  padding:0 0 10px;
  border-bottom:1px solid rgba(0,0,0,.28);
  font-size:1.15em;
  font-weight:600;
}
.tb-grid{display:grid;gap:18px}
.tb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.tb-order-form input[type="text"],
.tb-order-form input[type="email"],
.tb-order-form input[type="tel"],
.tb-order-form input[type="number"],
.tb-order-form select,
.tb-order-form textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.55);
  border-radius:0;
  background:rgba(255,255,255,.16);
  color:inherit;
  font:inherit;
  line-height:1.3;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.tb-order-form textarea{
  min-height:130px;
  resize:vertical;
}
.tb-order-form input:focus,
.tb-order-form select:focus,
.tb-order-form textarea:focus{
  outline:none;
  border-color:#c91414;
  box-shadow:0 0 0 1px #c91414;
  background:rgba(255,255,255,.3);
}
.tb-products .tb-grid>label{
  padding:18px;
  border:1px solid rgba(0,0,0,.24);
  background:rgba(255,255,255,.16);
  align-content:start;
}
.tb-products .tb-grid>label:hover{
  border-color:rgba(0,0,0,.48);
}
.tb-price{
  display:block;
  opacity:.72;
  font-size:.9em;
  font-weight:400;
}
.tb-products small{
  display:block;
  opacity:.72;
  line-height:1.45;
}
.tb-summary{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px 28px;
  padding:18px 20px;
  border:1px solid rgba(0,0,0,.28);
  background:rgba(255,255,255,.2);
  font-size:1.03em;
}
.tb-availability-message{
  margin-top:-20px;
  min-height:0;
  font-size:.95em;
  font-weight:600;
}
.tb-payment{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
}
.tb-payment legend{grid-column:1/-1}
.tb-radio{
  display:flex!important;
  align-items:center;
  gap:11px!important;
  min-height:52px;
  padding:13px 15px;
  border:1px solid rgba(0,0,0,.28);
  background:rgba(255,255,255,.14);
  cursor:pointer;
}
.tb-radio:has(input:checked){
  border-color:#c91414;
  box-shadow:inset 0 0 0 1px #c91414;
}
.tb-radio input,
.tb-consent input{
  width:16px;
  height:16px;
  flex:0 0 auto;
  margin:0;
  accent-color:#c91414;
}
.tb-consent{
  display:flex!important;
  align-items:flex-start;
  gap:10px!important;
  font-size:.92em;
  line-height:1.5;
}
.tb-consent input{margin-top:.2em}
.tb-consent a{color:#c91414;text-decoration:underline}
.tb-submit{
  width:100%;
  min-height:54px;
  border:1px solid #c91414;
  border-radius:0;
  padding:14px 22px;
  background:#c91414;
  color:#fff;
  font:inherit;
  font-weight:600;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.tb-submit:hover{
  background:transparent;
  color:#c91414;
}
.tb-submit:active{transform:translateY(1px)}
.tb-submit:focus-visible,
.tb-order-form a:focus-visible{
  outline:2px solid #c91414;
  outline-offset:3px;
}
.tb-message{
  width:100%;
  max-width:1100px;
  margin:0 0 24px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.35);
  background:rgba(255,255,255,.24);
  line-height:1.5;
}
.tb-error{border-color:#c91414}
.tb-success{border-color:rgba(0,0,0,.5)}
.tb-hp{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:767px){
  .tb-order-form{gap:26px}
  .tb-grid-2,.tb-grid-3,.tb-payment{grid-template-columns:1fr}
  .tb-summary{display:grid;justify-content:stretch}
  .tb-products .tb-grid>label{padding:15px}
  .tb-order-form input[type="text"],
  .tb-order-form input[type="email"],
  .tb-order-form input[type="tel"],
  .tb-order-form input[type="number"],
  .tb-order-form select{min-height:48px}
}
