/* JBH Gravur 1.2.0 – Schriften lokal (OFL/Apache), kein externes CDN */
@font-face { font-family: 'JBH Gravur Arimo'; src: url('fonts/jbh-arimo.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'JBH Gravur Tinos'; src: url('fonts/jbh-tinos.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'JBH Gravur Great Vibes'; src: url('fonts/jbh-greatvibes.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'JBH Gravur Pinyon'; src: url('fonts/jbh-pinyon.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'JBH Gravur Symbole'; src: url('fonts/jbh-symbole.woff2') format('woff2'); unicode-range: U+2020, U+221E, U+2606, U+263A, U+2661, U+266A, U+26AD; font-display: block; }

.jbh-gravur { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #e3d7c6; border-radius: 6px; background: #fbf8f3; }
.jbh-gravur__toggle { display: flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; font-weight: 600; }
.jbh-gravur__toggle input { margin: 0; width: 18px; height: 18px; }
.jbh-gravur__badge { margin-left: auto; padding: 2px 9px; border-radius: 20px; background: #2f6b3a; color: #fff; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.jbh-gravur__panel { margin-top: 14px; }
.jbh-gravur__panel[hidden] { display: none !important; }

.jbh-gravur__tabs { display: flex; gap: 6px; justify-content: center; margin-bottom: 8px; }
.jbh-gravur__tab { padding: 4px 12px !important; min-height: 0 !important; border: 1px solid #d5c6ae !important; border-radius: 20px !important; background: #fff !important; color: #333 !important; font-size: 13px !important; line-height: 1.4 !important; text-transform: none !important; }
.jbh-gravur__tab.is-active { background: #333 !important; border-color: #333 !important; color: #fff !important; }

.jbh-gravur__preview { display: flex; justify-content: center; padding: 10px; background: #fff; border: 1px solid #eee5d8; border-radius: 6px; }
.jbh-gravur__svg { width: 100%; max-width: 260px; height: auto; display: block; filter: drop-shadow(0 3px 5px rgba(0,0,0,.18)); }
.jbh-gravur__svg.is-photo { max-width: 400px; filter: none; border-radius: 4px; }
.jbh-gravur__preview:has(.is-photo) { padding: 0; overflow: hidden; }
.jbh-gravur__preview-note { margin: 4px 0 12px; font-size: 12px; color: #888; text-align: center; }

.jbh-gravur__field { margin-bottom: 12px; }
.jbh-gravur__field label { display: block; margin-bottom: 4px; font-weight: 600; font-size: 14px; }
.jbh-gravur__field label small { font-weight: 400; color: #777; }
.jbh-gravur__input { width: 100%; resize: none; overflow: hidden !important; padding: 8px 10px; font-size: 16px; line-height: 1.6; font-family: inherit; border: 1px solid #cfc3b0; border-radius: 4px; background: #fff; }
.jbh-gravur__input:focus { border-color: #9a7b45; outline: none; box-shadow: 0 0 0 2px rgba(154,123,69,.15); }
.jbh-gravur__count { margin-top: 3px; font-size: 12px; color: #777; }

.jbh-gravur__lbl { display: block; width: 100%; margin-bottom: 4px; font-size: 13px; font-weight: 600; }
.jbh-gravur__symbols, .jbh-gravur__fonts { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.jbh-gravur__sym { width: 40px !important; height: 40px !important; min-height: 0 !important; padding: 0 !important; border: 1px solid #d5c6ae !important; border-radius: 4px !important; background: #fff !important; color: #333 !important; font-family: 'JBH Gravur Symbole', sans-serif !important; font-size: 20px !important; line-height: 38px !important; text-transform: none !important; }
.jbh-gravur__sym:hover { border-color: #9a7b45 !important; }
.jbh-gravur__font { display: flex !important; flex-direction: column; align-items: center; justify-content: center; min-width: 86px; flex: 1 1 86px; padding: 6px 8px !important; min-height: 0 !important; border: 1px solid #d5c6ae !important; border-radius: 4px !important; background: #fff !important; color: #333 !important; text-transform: none !important; line-height: 1.1 !important; }
.jbh-gravur__font-sample { font-size: 24px; line-height: 1.2; }
.jbh-gravur__font-name { margin-top: 3px; font-family: inherit; font-size: 11px; color: #777; }
.jbh-gravur__font .jbh-gravur__font-name { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.jbh-gravur__font.is-active { border-color: #333 !important; box-shadow: inset 0 0 0 1px #333; }

.jbh-gravur__msg { min-height: 1.2em; font-size: 13px; color: #b3261e; }
.jbh-gravur__hints { margin: 6px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: #555; }
.jbh-gravur__hints li { margin: 0 0 4px; padding-left: 14px; position: relative; }
.jbh-gravur__hints li::before { content: '–'; position: absolute; left: 0; }

@media (max-width: 480px) {
	.jbh-gravur { padding: 12px; }
	.jbh-gravur__svg { max-width: 220px; }
}
