.tbs-contact-icon {
    max-width: 10vw;
    color: var(--blue-colour);

}
.wp-block-column.center-children{
  align-items:center;        /* ⬅️ horizontal centering */
  text-align:center;         /* center inline text too */
}
.wp-block-column.center-children > *{
  margin-left:auto;          /* help for blocks with intrinsic width */
  margin-right:auto;
}
form.wpcf7-form{
    border: 2px solid var(--blue-colour);
    border-radius: 20px;
    padding: .5em 2em;
}

.tbs-field__row{
  display:grid;
  grid-template-columns: 25% 1fr; /* label | input */
  align-items:center;
  gap:12px;
}
.tbs-field__row > br, .tbs-form-submit br { display:none; }   /* hide CF7 <br> */
.tbs-field__label{ font-weight:600; }
.tbs-field__wrap{ min-width:0; }        /* allow input to shrink nicely */
.tbs-field__wrap input{ width:100%; }   /* fill the cell */
.tbs-field__description {
    font-size: 80%;
    font-style: italic;
    color: var(--text-secondary);
    padding-left: 1em;
}
.tbs-field__row:has(.tbs-field__description) {
    margin-top: 0 !important;
}
.tbs-field > .tbs-field__row:first-of-type{
  margin-bottom: 0 !important;
}
.tbs-form-submit {
  text-align: center;
  margin-top: 1em;
}
button.wpcf7-submit {
    background-color: var(--blue-colour);
    color: white;
    border: none;
    border-radius: 10px;
    padding: .5em 2em;
    font-size: 1.25rem;
    cursor: pointer;
}

/* Mobile: label above input */
@media (max-width:600px){
  .tbs-field__row{ grid-template-columns: 1fr; }
}

.tbs-field__row > br{ display:none; }
input.wpcf7-form-control.wpcf7-text, input.wpcf7-form-control.wpcf7-file {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: .25rem .5rem !important;
    width: 100%;
}
select.wpcf7-form-control.wpcf7-select {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: .25rem .5rem !important;
}
/* wrapper toggle */
.tbs-cf7 { position: relative; }

/* full-cover overlay */
.tbs-cf7 .tbs-cf7__overlay{
  position:absolute; inset:0; z-index:50;
  display:none; align-items:center; justify-content:center;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(1.2) blur(2px);
  padding:16px;
}
.tbs-cf7 .tbs-cf7__overlay.is-active{ display:flex; }

.tbs-cf7 .tbs-cf7__modal{
  max-width:520px; width:100%;
  background:#fff; border:1px solid #e7e7e7; border-radius:12px;
  box-shadow:0 8px 30px rgba(0,0,0,.08);
  padding:18px 16px;
  display:grid; gap:12px; justify-items:center; text-align:center;
}

/* spinner */
.tbs-cf7 .tbs-cf7__spinner{
  width:28px; height:28px; border-radius:50%;
  border:3px solid #ddd; border-top-color:#7c3aed; animation:tbs-spin 1s linear infinite;
}
@keyframes tbs-spin { to { transform:rotate(360deg); } }

.tbs-cf7 .tbs-cf7__status{ font-weight:600; }
.tbs-cf7 .tbs-cf7__msg{ color:#333; }

.tbs-cf7 .tbs-cf7__close{
  appearance:none; border:0; border-radius:10px; cursor:pointer;
  background:#7c3aed; color:#fff; font-weight:700; padding:.6em 1em;
}
.tbs-cf7 .tbs-cf7__close:hover{ filter:brightness(1.05); }

/* Hide CF7's <br> if needed in your forms */
.wpcf7 br{ display:none; }
