.tm-bh, .tm-bh-form, .tm-bh-mod, .tm-bh-admin-mod, .tm-bh-title-row {
  --bh-ink:#1a1f16; --bh-muted:#5c6554; --bh-line:#d7ddd0; --bh-bg:#f3f5ef; --bh-accent:#2f6b3a; --bh-card:#fff;
}
.tm-bh-title-row {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:.65rem 1.25rem; margin:0 0 1rem;
}
.tm-bh-title-row .wp-block-post-title,
.tm-bh-title-row .wp-block-heading {
  margin:0; flex:1 1 auto; min-width:min(100%, 12rem);
}
.tm-bh-tg {
  display:inline-flex; align-items:center; gap:.45rem;
  margin-left:auto; flex:0 0 auto;
  color:#229ED9; text-decoration:none; font-weight:600; font-size:.95rem; line-height:1.2;
  white-space:nowrap;
}
.tm-bh-tg:hover, .tm-bh-tg:focus-visible {
  color:#1a7eae; text-decoration:underline;
}
.tm-bh-tg__icon { display:block; flex:0 0 auto; }
.tm-bh { margin:1.5rem 0 2.5rem; }
.tm-bh__toolbar { display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:end; margin-bottom:1rem; padding:1rem; background:var(--bh-bg); border:1px solid var(--bh-line); }
.tm-bh__filter { display:flex; flex-direction:column; gap:.35rem; font-size:.85rem; color:var(--bh-muted); min-width:9rem; }
.tm-bh__filter--search { flex:1; min-width:12rem; }
.tm-bh__filter select, .tm-bh__filter input, .tm-bh-form input, .tm-bh-form select, .tm-bh-form textarea {
  font:inherit; color:var(--bh-ink); border:1px solid var(--bh-line); background:#fff; padding:.55rem .7rem; border-radius:0;
}
.tm-bh__cta, .tm-bh-form__submit {
  display:inline-flex; align-items:center; justify-content:center; padding:.85rem 1.25rem;
  background:#2f6b3a !important; background:var(--bh-accent, #2f6b3a) !important; color:#fff !important;
  text-decoration:none !important; border:0; cursor:pointer; font:inherit; font-weight:700; font-size:1.05rem;
  min-height:3rem; box-sizing:border-box;
}
.tm-bh-form__actions {
  margin-top:1.25rem; padding-top:1rem; border-top:1px solid var(--bh-line, #d7ddd0); clear:both;
}
.tm-bh-form__submit {
  display:flex; width:100%; max-width:28rem; margin-top:0;
}
.tm-bh-form__submit:disabled { opacity:.65; cursor:wait; }
.tm-bh-form__file-hint { font-size:.8rem; color:var(--bh-muted); }
.tm-bh-card__photos { margin:.15rem 0 .35rem; }
.tm-bh-mod-card__photos { display:flex; flex-wrap:wrap; gap:.5rem; margin:.5rem 0; }
.tm-bh-thumb {
  position:relative; display:block; padding:0; margin:0; width:100%; border:0; background:#e8ebe3;
  cursor:zoom-in; overflow:hidden; color:inherit; font:inherit; -webkit-tap-highlight-color:transparent;
}
.tm-bh-thumb:focus-visible { outline:2px solid var(--bh-accent, #2f6b3a); outline-offset:2px; }
.tm-bh-thumb__img { display:block; width:100%; height:100%; object-fit:cover; pointer-events:none; background:#e8ebe3; }
.tm-bh-thumb__img--card { height:160px; }
.tm-bh-thumb__img--mod { width:96px; height:96px; }
.tm-bh-mod-card__photos .tm-bh-thumb { width:96px; height:96px; flex:0 0 auto; }
.tm-bh-zoom {
  position:absolute; right:6px; bottom:6px;
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:6px;
  background:rgba(28,25,21,.72); color:#fff; pointer-events:none;
}
.tm-bh-zoom svg { width:14px; height:14px; display:block; }
.tm-bh-thumb__count {
  position:absolute; left:6px; top:6px; min-width:1.4rem; padding:.1rem .35rem;
  border-radius:4px; background:rgba(28,25,21,.72); color:#fff;
  font-size:.75rem; font-weight:700; line-height:1.3; pointer-events:none;
}
.tm-bh-lightbox {
  display:none; position:fixed; inset:0; z-index:100000;
  background:rgba(20,16,12,.78); align-items:center; justify-content:center;
  padding:1.25rem; cursor:zoom-out;
}
.tm-bh-lightbox.is-open { display:flex; }
.tm-bh-lightbox__inner {
  position:relative; display:flex; align-items:center; justify-content:center;
  max-width:min(920px, 96vw); max-height:90vh; cursor:default;
}
.tm-bh-lightbox__img {
  display:block; max-width:min(920px, 96vw); max-height:90vh; object-fit:contain;
  background:#fff; border-radius:12px; padding:.75rem;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.tm-bh-lightbox__nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:2.5rem; height:2.5rem; border:0; border-radius:999px;
  background:rgba(28,25,21,.75); color:#fff; font:inherit; font-size:1.4rem; line-height:1;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
}
.tm-bh-lightbox__nav:disabled { opacity:.35; cursor:default; }
.tm-bh-lightbox__prev { left:.35rem; }
.tm-bh-lightbox__next { right:.35rem; }
.tm-bh-lightbox__counter {
  position:absolute; left:50%; bottom:.35rem; transform:translateX(-50%);
  padding:.2rem .55rem; border-radius:999px;
  background:rgba(28,25,21,.75); color:#fff; font-size:.85rem; font-weight:600;
  pointer-events:none;
}
.tm-bh-lightbox__close {
  position:absolute; top:.35rem; right:.35rem;
  width:2.25rem; height:2.25rem; border:0; border-radius:999px;
  background:rgba(28,25,21,.75); color:#fff; font:inherit; font-size:1.25rem; line-height:1;
  cursor:pointer;
}
@media (max-width:640px) {
  .tm-bh-zoom { width:28px; height:28px; right:5px; bottom:5px; }
  .tm-bh-zoom svg { width:15px; height:15px; }
}
.tm-bh__count { color:var(--bh-muted); font-size:.9rem; margin:.25rem 0 1rem; }
.tm-bh__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
@media (max-width:900px) {
  .tm-bh__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .tm-bh__grid { grid-template-columns:1fr; }
}
.tm-bh-card { background:var(--bh-card); border:1px solid var(--bh-line); padding:1rem 1.1rem 1.15rem; display:flex; flex-direction:column; gap:.45rem; }
.tm-bh-card[hidden] { display:none !important; }
.tm-bh-card__eyebrow { font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; color:var(--bh-accent); font-weight:700; }
.tm-bh-card__title { margin:0; font-size:1.15rem; line-height:1.25; color:var(--bh-ink); }
.tm-bh-card__price { margin:0; font-weight:700; font-size:1.05rem; }
.tm-bh-card__desc { margin:0; color:var(--bh-muted); font-size:.95rem; line-height:1.4; white-space:pre-line; }
.tm-bh-card__meta { list-style:none; margin:.35rem 0 0; padding:0; color:var(--bh-muted); font-size:.88rem; display:grid; gap:.2rem; }
.tm-bh-card__contact { margin:.5rem 0 0; font-weight:600; }
.tm-bh-card__more-wrap { margin:.15rem 0 0; }
.tm-bh-card__more {
  display:inline; padding:0; margin:0; border:0; background:none;
  color:var(--bh-accent); font:inherit; font-size:.9rem; font-weight:700;
  text-decoration:underline; cursor:pointer;
}
.tm-bh-card__more:hover, .tm-bh-card__more:focus-visible { color:#1f4d28; }
.tm-bh-tg-link { color:#229ED9; text-decoration:none; font-weight:700; }
.tm-bh-tg-link:hover, .tm-bh-tg-link:focus-visible { color:#1a7eae; text-decoration:underline; }
.tm-bh-detail-modal {
  display:none; position:fixed; inset:0; z-index:100001;
  background:rgba(20,16,12,.72); align-items:center; justify-content:center;
  padding:1.25rem; cursor:pointer;
}
.tm-bh-detail-modal.is-open { display:flex; }
.tm-bh-detail-modal__inner {
  position:relative; width:min(560px, 96vw); max-height:min(88vh, 760px);
  overflow:auto; background:var(--bh-card, #fff); border:1px solid var(--bh-line, #d7ddd0);
  padding:1.25rem 1.35rem 1.4rem; cursor:default;
  box-shadow:0 16px 48px rgba(0,0,0,.28);
}
.tm-bh-detail-modal__close {
  position:sticky; top:0; float:right; margin:-.35rem -.35rem .5rem .75rem;
  width:2.25rem; height:2.25rem; border:0; border-radius:999px;
  background:rgba(28,25,21,.78); color:#fff; font:inherit; font-size:1.25rem; line-height:1;
  cursor:pointer; z-index:1;
}
.tm-bh-detail { display:flex; flex-direction:column; gap:.45rem; }
.tm-bh-detail__eyebrow { font-size:.75rem; letter-spacing:.04em; text-transform:uppercase; color:var(--bh-accent); font-weight:700; }
.tm-bh-detail__title { margin:0; font-size:1.25rem; line-height:1.25; color:var(--bh-ink); }
.tm-bh-detail__photos { margin:.1rem 0 .25rem; }
.tm-bh-detail__desc { white-space:pre-line; }
.tm-bh__empty { grid-column:1/-1; color:var(--bh-muted); }
.tm-bh-form { position:relative; margin:2.5rem 0 1rem; padding:1.25rem; border:1px solid var(--bh-line); background:var(--bh-bg); }
.tm-bh-form__title { margin:0 0 .35rem; font-size:1.4rem; }
.tm-bh-form__hint { margin:0 0 1rem; color:var(--bh-muted); }
.tm-bh-form__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.85rem; }
.tm-bh-form label { display:flex; flex-direction:column; gap:.35rem; font-size:.88rem; color:var(--bh-muted); }
.tm-bh-form label[hidden] { display:none !important; }
.tm-bh-form__full { display:flex; flex-direction:column; gap:.35rem; margin-top:.85rem; font-size:.88rem; color:var(--bh-muted); }
.tm-bh-form__status { margin:.85rem 0 0; }
.tm-bh-form__status.is-ok { color:var(--bh-accent); }
.tm-bh-form__status.is-err { color:#8a1f1f; }
@media (max-width:640px) {
  .tm-bh-title-row { align-items:flex-start; }
  .tm-bh-tg { margin-left:0; white-space:normal; }
  .tm-bh__toolbar { flex-direction:column; align-items:stretch; }
  .tm-bh__cta { text-align:center; }
}

/* Moderation (WP admin session) */
.tm-bh-mod, .tm-bh-admin-mod { margin: 0 0 2rem; padding: 1.1rem 1.2rem; border: 2px solid #2f6b3a; background: #eef6ef; }
.tm-bh-mod h2, .tm-bh-admin-mod h1 { margin-top: 0; }
.tm-bh-mod__hint { color: #5c6554; }
.tm-bh-mod__err, .tm-bh-mod-card__msg.is-err { color: #8a1f1f; }
.tm-bh-mod-card__msg.is-ok { color: #2f6b3a; }
.tm-bh-mod-list { display: grid; gap: 1rem; margin-top: 1rem; }
.tm-bh-mod-card { background: #fff; border: 1px solid #d7ddd0; padding: 1rem; }
.tm-bh-mod-card--done { opacity: .65; }
.tm-bh-mod-card__head { display: flex; flex-wrap: wrap; gap: .5rem 1rem; color: #5c6554; font-size: .85rem; margin-bottom: .35rem; }
.tm-bh-mod-card__status { font-weight: 700; color: #2f6b3a; }
.tm-bh-mod-card h3 { margin: 0 0 .35rem; }
.tm-bh-mod-card__meta { list-style: none; margin: .5rem 0; padding: 0; color: #5c6554; font-size: .9rem; display: grid; gap: .2rem; }
.tm-bh-mod-card__actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .75rem; }
.tm-bh-mod-card__actions .button-primary, .tm-bh-mod-card__actions [data-bh-mod-approve] {
  background: #2f6b3a; color: #fff; border: 0; padding: .5rem .9rem; cursor: pointer; font: inherit;
}
.tm-bh-mod-card__actions [data-bh-mod-reject],
.tm-bh-mod-card__actions [data-bh-mod-remove] {
  background: #fff; color: #1a1f16; border: 1px solid #d7ddd0; padding: .5rem .9rem; cursor: pointer; font: inherit;
}
.tm-bh-card__mod { margin: .65rem 0 0; }
.tm-bh-card__remove {
  background: #fff; color: #8a2f2f; border: 1px solid #e0c0c0;
  padding: .4rem .75rem; cursor: pointer; font: inherit; font-size: .9rem;
}
.tm-bh-card__remove:disabled { opacity: .6; cursor: default; }

.tm-bh-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;
}
.tm-bh-form__captcha { margin:1rem 0 .25rem; }
