:root {
  --tb-green: #006b55;
  --tb-green-dark: #004f3f;
  --tb-gold: #b7a16a;
  --tb-text: #37404a;
  --tb-muted: #6f7780;
  --tb-border: #e4e7e9;
  --tb-bg-soft: #f7f8f8;
}

.com-tragbuilder, .tragbuilder-page { width: 100%; }
.tb-page-title-wrap { max-width: 1120px; margin: 42px auto 10px; padding: 0 20px; }
.tb-page-title-wrap h1 { color: var(--tb-green); font-weight: 500; margin: 0; }
.tb-section { position: relative; padding: 56px 0; }
.tb-container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.tb-container-wide { width: min(1500px, calc(100% - 40px)); }
.tb-row { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 24px; }
.tb-row:last-child { margin-bottom: 0; }
.tb-col { flex: 0 0 calc((var(--tb-col-span, 12) / 12) * 100% - 24px); min-width: 0; }
.tb-col-12 { flex-basis: 100%; }
.tb-addon { margin-bottom: 20px; }
.tb-addon:last-child { margin-bottom: 0; }
.tb-heading { color: var(--tb-green); font-weight: 500; line-height: 1.2; margin: 0 0 14px; }
.tb-text { color: var(--tb-text); line-height: 1.75; }
.tb-text p:first-child { margin-top: 0; }
.tb-text p:last-child { margin-bottom: 0; }
.tb-image { margin: 0; }
.tb-image img { max-width: 100%; height: auto; display: block; border-radius: 2px; }
.tb-image figcaption { color: var(--tb-muted); font-size: 14px; margin-top: 8px; }
.tb-map { position: relative; overflow: hidden; border: 1px solid var(--tb-border); border-radius: 4px; background: var(--tb-bg-soft); }
.tb-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.tb-button-wrap { margin-top: 18px; }
.tb-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 24px; background: var(--tb-green); color: #fff !important; text-decoration: none !important; border: 0; border-radius: 0; font-weight: 600; transition: .18s ease; cursor: pointer; }
.tb-button:hover, .tb-button:focus { background: var(--tb-green-dark); color: #fff !important; }
.tb-divider { border: 0; border-top: 1px solid var(--tb-border); margin: 24px 0; }
.tb-contact { background: #fff; border: 1px solid var(--tb-border); padding: 26px; box-shadow: 0 8px 24px rgba(0,0,0,.04); }
.tb-contact h3 { margin: 0 0 18px; color: var(--tb-green); }
.tb-contact label { display: grid; gap: 7px; margin-bottom: 14px; color: var(--tb-text); font-weight: 600; }
.tb-contact input, .tb-contact textarea { width: 100%; border: 1px solid #d9dee3; min-height: 42px; padding: 9px 10px; font: inherit; }
.tb-contact textarea { min-height: 130px; resize: vertical; }
.tb-contact-message { max-width: 1120px; margin: 24px auto 0; padding: 13px 18px; border-left: 4px solid var(--tb-green); background: #eef7f4; color: var(--tb-green-dark); }
.tb-raw iframe, .tb-raw img, .tb-raw video { max-width: 100%; }

html[dir="rtl"] .tb-contact-message { border-left: 0; border-right: 4px solid var(--tb-green); }

@media (max-width: 900px) {
  .tb-row { gap: 18px; }
  .tb-col { flex-basis: 100% !important; }
  .tb-section { padding: 38px 0; }
}
@media (max-width: 560px) {
  .tb-container, .tb-container-wide { width: min(100% - 28px, 1120px); }
  .tb-contact { padding: 18px; }
}
