body .tb-contact {
  padding-block: var(--space-2xl);
}
body .tb-contact .tb-contact__cols {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-xl);
  align-items: start;
  margin-top: var(--space-xl);
}
body .tb-contact .tb-contact__list {
  list-style: none;
  margin: var(--space-lg) 0 0;
  padding: 0;
  display: grid;
  gap: var(--space-md);
}
body .tb-contact .tb-contact__list li {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
body .tb-contact .tb-contact__list li::before {
  content: "";
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border: 1px solid var(--wp--preset--color--gray-light);
  border-radius: var(--radius-full);
  background: var(--wp--preset--color--white) var(--tb-contact-icon) center/18px 18px no-repeat;
  box-shadow: var(--shadow-sm);
}
body .tb-contact .tb-contact__list .tb-contact__item--phone {
  --tb-contact-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E10005" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></svg>');
}
body .tb-contact .tb-contact__list .tb-contact__item--mail {
  --tb-contact-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E10005" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><polyline points="22,6 12,13 2,6"/></svg>');
}
body .tb-contact .tb-contact__list .tb-contact__item--chat {
  --tb-contact-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E10005" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg>');
}
body .tb-contact .tb-contact__list .tb-contact__item--clock {
  --tb-contact-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E10005" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>');
}
body .tb-contact .tb-contact__list .tb-contact__item--moon {
  --tb-contact-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E10005" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>');
}
body .tb-contact .tb-contact__list a {
  color: var(--wp--preset--color--black);
  text-decoration: none;
  transition: color var(--transition);
}
body .tb-contact .tb-contact__list a:hover {
  color: var(--wp--preset--color--primary);
}
body .tb-contact .tb-contact__list .tb-contact__item--chat,
body .tb-contact .tb-contact__list .tb-contact__item--clock,
body .tb-contact .tb-contact__list .tb-contact__item--moon {
  color: var(--wp--preset--color--gray-dark);
}
body .tb-contact .tb-contact__note {
  margin-top: var(--space-lg);
  color: var(--wp--preset--color--gray-dark);
}
body .tb-contact .tb-contact__note a {
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body .tb-contact .heading-3 {
  margin: var(--space-xl) 0 0;
}
body .tb-contact .heading-3:first-child {
  margin-top: 0;
}
@media only screen and (max-width: 991px) {
  body .tb-contact .tb-contact__cols {
    grid-template-columns: 1fr;
  }
}

body .tb-contact .wpcf7 {
  background-color: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--gray-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-xl);
}

body .tb-cf7 .tb-cf7__row {
  margin: 0 0 var(--space-md);
}
body .tb-cf7 .tb-cf7__row label {
  display: block;
  margin-bottom: var(--space-xs);
}
body .tb-cf7 .tb-cf7__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--space-md);
}
@media only screen and (max-width: 575px) {
  body .tb-cf7 .tb-cf7__grid {
    grid-template-columns: 1fr;
  }
}
body .tb-cf7 .tb-cf7__req {
  color: var(--wp--preset--color--primary);
}
body .tb-cf7 .wpcf7-form-control-wrap {
  display: block;
}
body .tb-cf7 input[type=text],
body .tb-cf7 input[type=email],
body .tb-cf7 input[type=tel],
body .tb-cf7 textarea {
  width: 100%;
  padding: var(--space-md);
  border: 1px solid var(--wp--preset--color--gray-light);
  border-radius: var(--radius-sm);
  background-color: var(--wp--preset--color--white);
  font: inherit;
  transition: border-color var(--transition), box-shadow var(--transition);
}
body .tb-cf7 input[type=text]:focus,
body .tb-cf7 input[type=email]:focus,
body .tb-cf7 input[type=tel]:focus,
body .tb-cf7 textarea:focus {
  outline: none;
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--primary) 15%, transparent);
}
body .tb-cf7 .tb-cf7__consent {
  margin: 0 0 var(--space-md);
  color: var(--wp--preset--color--gray-dark);
}
body .tb-cf7 .tb-cf7__consent .wpcf7-list-item {
  margin: 0;
}
body .tb-cf7 .tb-cf7__consent label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  cursor: pointer;
}
body .tb-cf7 .tb-cf7__consent input[type=checkbox] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--wp--preset--color--primary);
}
body .tb-cf7 .tb-cf7__actions {
  margin: 0;
}
body .tb-cf7 .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-xl);
  border: 1px solid var(--wp--preset--color--primary);
  border-radius: var(--radius-sm);
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  font-family: var(--ffont);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--transition), color var(--transition);
}
body .tb-cf7 .wpcf7-submit:hover {
  background-color: transparent;
  color: var(--wp--preset--color--primary);
}
body .tb-cf7 .wpcf7-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
body .tb-cf7 .wpcf7-not-valid-tip {
  display: block;
  margin-top: var(--space-xs);
  color: var(--wp--preset--color--primary);
  font-size: var(--wp--preset--font-size--text-smaller);
}
body .tb-cf7 input.wpcf7-not-valid,
body .tb-cf7 textarea.wpcf7-not-valid {
  border-color: var(--wp--preset--color--primary);
}

body .tb-contact .wpcf7-response-output {
  margin: var(--space-md) 0 0;
  padding: var(--space-md);
  border: 0;
  border-left: 3px solid var(--wp--preset--color--primary);
  background-color: #fef2f2;
  color: var(--wp--preset--color--accent);
  border-radius: var(--radius-sm);
}

body .tb-contact .wpcf7 form.sent .wpcf7-response-output {
  border-left-color: #15803d;
  background-color: #f0fdf4;
  color: #166534;
}
