/* Büro Straube – Terminanfrage Mediation
   Farben kommen per Inline-Style (:root --bs-term-primary / --bs-term-accent). */

.bs-term{--bs-term-primary:#445505;--bs-term-accent:#ff9900;max-width:780px;margin:0 auto;}
.bs-term *{box-sizing:border-box;}

.bs-term-head{margin-bottom:1.2rem;}
.bs-term-title{margin:0 0 .4rem;}

/* Meldungen */
.bs-term-msg{font-size:1.12rem;line-height:1.4;font-weight:700;padding:1.1rem 1.3rem;margin:0 0 1.4rem;border-left:6px solid;}
.bs-term-ok{background:#eef3e1;border-color:#6f8f2e;color:#33430a;}
.bs-term-error{background:#fdecea;border-color:#b3271f;color:#7a1810;}

/* Fester Vollbreiten-Hinweis ganz oben (per wp_footer auf Body-Ebene ausgegeben) */
.bs-term-topbanner{
	position:fixed;top:0;left:0;right:0;z-index:99999;margin:0;
	padding:.85rem 2.6rem .85rem 1rem;font-size:1rem;line-height:1.4;font-weight:600;
	text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.bs-term-topbanner.bs-term-ok{background:var(--bs-term-primary,#445505);color:#fff;}
.bs-term-topbanner.bs-term-error{background:#b3450a;color:#fff;}
.bs-term-topbanner a{color:#fff;text-decoration:underline;}
.bs-term-topbanner-x{
	position:absolute;top:50%;right:.55rem;transform:translateY(-50%);
	border:0;background:transparent;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .3rem;
}

/* Preisbox */
.bs-term-pricebox{background:#f6f7f0;border:1px solid #e2e6d3;border-left:5px solid var(--bs-term-primary);padding:1rem 1.2rem;margin:0 0 1.6rem;}
.bs-term-price-title{margin:0 0 .6rem;font-size:1.15rem;}
.bs-term-price-table{width:100%;border-collapse:collapse;}
.bs-term-price-table th,.bs-term-price-table td{text-align:left;padding:.35rem .2rem;border-bottom:1px solid #e6e9da;vertical-align:top;}
.bs-term-price-table th{font-weight:600;padding-right:1rem;}
.bs-term-price-table td{white-space:nowrap;font-variant-numeric:tabular-nums;}
.bs-term-price-note{margin:.7rem 0 0;font-size:.92rem;color:#5a5f4e;}

/* Formular */
.bs-term-form{margin-top:.5rem;}
.bs-term-fs{border:1px solid #e2e6d3;padding:1rem 1.2rem 1.2rem;margin:0 0 1.2rem;}
.bs-term-fs>legend{font-weight:700;color:var(--bs-term-primary);padding:0 .5rem;}
.bs-term-opt{font-weight:400;color:#777;}

.bs-term-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem;}
@media(max-width:560px){.bs-term-grid{grid-template-columns:1fr;}}

.bs-term-row{display:flex;flex-direction:column;gap:.3rem;margin:0 0 .8rem;}
.bs-term-row-block{margin-bottom:.3rem;}
.bs-term-lbl{font-weight:600;}
.bs-term-star{color:var(--bs-term-accent);}
.bs-term-req-note{margin:.4rem 0 0;font-size:.9rem;color:#5a5f4e;}

.bs-term-input,.bs-term-select,.bs-term-num,.bs-term-textarea{
	width:100%;padding:.55rem .6rem;border:1px solid #c8ccba;background:#fff;border-radius:0;font:inherit;
}
.bs-term-num{max-width:8rem;}
.bs-term-input:focus,.bs-term-select:focus,.bs-term-num:focus,.bs-term-textarea:focus{
	outline:none;border-color:var(--bs-term-primary);box-shadow:0 0 0 2px rgba(68,85,5,.15);
}

.bs-term-sub{margin:.2rem 0 .8rem;color:#5a5f4e;}
.bs-term-checks{margin:0 0 .9rem;}
.bs-term-checks-title{display:block;font-weight:600;margin-bottom:.4rem;}
.bs-term-checkrow{display:flex;flex-wrap:wrap;gap:.5rem .9rem;}
.bs-term-check{display:inline-flex;align-items:center;gap:.4rem;background:#f6f7f0;border:1px solid #dfe3d2;padding:.4rem .7rem;cursor:pointer;}
.bs-term-check input{margin:0;}

.bs-term-hint{margin:.2rem 0 0;font-size:.9rem;color:#5a5f4e;font-style:italic;}

.bs-term-consent{margin:0 0 1.2rem;}
.bs-term-consent label{display:flex;gap:.5rem;align-items:flex-start;}
.bs-term-consent input{margin-top:.25rem;}

.bs-term-submit-row{margin:0;}
.bs-term-submit{background:var(--bs-term-primary)!important;color:#fff!important;border:none!important;border-radius:0!important;padding:.75rem 1.6rem!important;font-weight:700;cursor:pointer;}
.bs-term-submit:hover{background:#36410b!important;}

.bs-term-cta-link{display:inline-block;background:var(--bs-term-primary,#445505)!important;color:#fff!important;border-radius:0!important;padding:.6rem 1.2rem!important;text-decoration:none;}
.bs-term-cta-link:hover{background:#36410b!important;}

/* Honeypot unsichtbar */
.bs-term-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}

/* v1.0.3: Ueberschriften-Schrift (Yanone Kaffeesatz) in allen Buttons, ohne Versalien, ohne kuenstliche Fettung */
.bs-term-submit,
.bs-term-cta-link {
  font-family: var(--bs-btn-font, "Yanone Kaffeesatz", sans-serif) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}
