/* Harztor Kurkarten Buchung - FINAL FULL VERSION */
.htsb-form { display: block; width: 100% !important; max-width: none !important; margin: 0; font-family: inherit !important; color: inherit; box-sizing: border-box; }
.htsb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.htsb-grid.full { grid-template-columns: 1fr; }
.htsb-grid label { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.htsb-grid label span { font-weight: 600; font-size: 1rem; color: #333; }
.htsb-grid input[type="text"], .htsb-grid input[type="number"], .htsb-grid input[type="date"], .htsb-grid input[type="email"], .htsb-grid select { padding: 12px 15px !important; border: 1px solid #ddd !important; border-radius: 4px !important; background-color: #fafafa; color: #333; font-size: 1rem; width: 100% !important; box-sizing: border-box; box-shadow: none !important; transition: all 0.2s ease; height: auto; }
.htsb-grid input:focus, .htsb-grid select:focus { border-color: #3eaa49 !important; background-color: #fff; outline: none; box-shadow: 0 0 0 1px #3eaa49 !important; }
.htsb-names-wrap { background: #fff; margin-bottom: 20px; border-top: 1px solid #eee; }
.htsb-names-wrap .row { display: grid; grid-template-columns: 1fr auto auto auto; gap: 15px; padding: 15px 0; align-items: center; border-bottom: 1px solid #eee; }
.htsb-names-wrap .row:last-child { border-bottom: none; }
.htsb-names-wrap .row input[type="text"] { width: 100%; }
.htsb-names-wrap .row .flag { display: flex; gap: 8px; align-items: center; white-space: nowrap; }
.htsb-names-wrap .row .flag label { margin: 0; font-size: 0.9rem; cursor: pointer; flex-direction: row; align-items: center; }
.htsb-total-box { background: #f4f6f8; border-radius: 4px; padding: 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-top: 30px; border: 1px solid #eee; }
.htsb-total { font-weight: 800; font-size: 1.4rem; color: #3eaa49; }
.htsb-breakdown { font-size: 0.9rem; color: #666; }
.htsb-button { background-color: #3eaa49 !important; color: #ffffff !important; padding: 16px 32px !important; font-size: 1rem !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 4px !important; border: none !important; cursor: pointer; min-width: 200px; text-align: center; transition: all 0.3s ease; }
.htsb-button:hover { background-color: #34913e !important; transform: translateY(-2px); }
.htsb-button:disabled { background-color: #ccc !important; cursor: not-allowed; transform: none; }
.htsb-billing-toggle { margin-top: 20px; padding: 15px; background: #f9f9f9; border: 1px solid #eee; border-radius: 4px; }
.htsb-billing-toggle label { flex-direction: row; align-items: center; gap: 10px; }
.htsb-verify { padding: 15px; border-radius: 4px; margin: 15px 0; font-weight: 600; }
.htsb-valid { background: #eafbea; color: #3eaa49; border: 1px solid #c3e6cb; }
.htsb-invalid { background: #fbeaea; color: #dc3545; border: 1px solid #f5c6cb; }
.htsb-partner-wrapper{width:100%;max-width:100%;background:#fff;padding:25px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.05);font-family:inherit}
.htsb-partner-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f0f0;padding-bottom:15px;margin-bottom:25px}
.htsb-partner-header h2{margin:0}
.htsb-discounts-box{background:#f9f9f9;padding:15px;border-radius:6px;margin-bottom:20px;border:1px solid #eee}
.htsb-discounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}
.htsb-discounts-grid input{text-align:center;font-weight:700}
.htsb-total-box .htsb-price-label{font-size:1.5rem;font-weight:800;color:#2e7d32;margin-bottom:15px}
.htsb-print-btn{width:100%;padding:15px !important;font-size:1.2rem !important;background-color:#2e7d32 !important;border:none !important;color:#fff !important;cursor:pointer;text-transform:uppercase;font-weight:700}
.htsb-print-btn:hover{background-color:#1b5e20 !important}
.htsb-success-msg{margin-top:15px;padding:15px;background:#d4edda;color:#155724;border-radius:4px;text-align:center}
.htsb-error-msg{margin-top:15px;padding:15px;background:#f8d7da;color:#721c24;border-radius:4px;text-align:center}
@media (max-width: 768px) {
    .htsb-grid { grid-template-columns: 1fr; gap: 15px; }
    .htsb-names-wrap .row { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; background: #f8f9fa; padding: 15px; border: 1px solid #eee; margin-bottom: 10px; border-radius: 4px; }
    .htsb-names-wrap .row .flag { width: 100%; padding: 5px 0; }
    .htsb-button { width: 100%; }
    .htsb-total-box { flex-direction: column; align-items: flex-start; gap: 15px; }
    .htsb-discounts-grid{grid-template-columns:1fr}
}
/* Copyright-Hinweis */
.htsb-copyright {
    margin-top: 12px;
    font-size: 11px;
    color: #aaa;
    text-align: center;
}
