.booking-form{background:var(--color-form-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-dark);font-size:var(--font-size-lg);margin:var(--space-2xl) auto 0 auto;max-width:680px;padding:var(--space-xl) var(--space-lg)}.booking-form label{letter-spacing:.01em;margin-bottom:var(--space-xs);font-weight:600;display:block}.booking-form input,.booking-form select,.booking-form textarea{background:var(--color-form-input);border:1px solid var(--color-form-border);border-radius:var(--radius-sm);color:var(--color-text-dark);font-size:var(--font-size-base);padding:var(--space-sm) var(--space-sm);transition:border var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);width:100%;margin-bottom:0}.booking-form input:hover,.booking-form select:hover,.booking-form textarea:hover{background:var(--color-form-input-hover);border-color:var(--color-form-border-hover)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{background:var(--color-form-input-hover);border-color:var(--color-form-focus);outline:none;box-shadow:0 0 0 2px #fca23a33}.booking-form textarea{resize:vertical;min-height:54px}.booking-form .booking-grid{gap:var(--space-lg) var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.booking-form .booking-col2{grid-column:span 2}.booking-form .input-hint{color:var(--color-text-dark);font-size:var(--font-size-sm);margin-top:var(--space-xs);font-weight:400;display:block}.booking-form .required{color:var(--color-error);margin-left:var(--space-xs)}.booking-form .booking-btn{background:var(--color-form-focus);border-radius:var(--radius-sm);color:var(--color-text-dark);cursor:pointer;float:none;font-size:var(--font-size-lg);letter-spacing:.02em;margin:var(--space-xl) auto 0 auto;padding:var(--space-md) 0;transition:background var(--transition-fast);border:none;width:170px;font-weight:700;display:block}.booking-form .booking-error{color:var(--color-warning);margin:var(--space-sm) 0 0 0;text-align:center;grid-column:span 2;font-weight:600}.field-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-xs);font-weight:500}.booking-form input.error,.booking-form select.error,.booking-form textarea.error{background-color:var(--color-error-bg);border-color:var(--color-error)}.booking-form input.valid,.booking-form select.valid,.booking-form textarea.valid{border-color:#28a745;box-shadow:0 0 0 2px #28a74526}.booking-form .booking-datenschutz{flex-direction:column;grid-column:span 2;gap:4px;margin-top:10px;display:flex}.booking-form .ds-row{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.booking-form .ds-label{color:#232323;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;white-space:normal;word-break:break-word;max-width:100%;margin:0;font-size:1.05em;font-weight:500;display:block}@media (max-width:480px){.booking-form .ds-label{font-size:1em;line-height:1.4}}.booking-form .ds-hint{color:#474747;text-align:center;margin-top:2px;margin-left:2px;font-size:.85em;font-weight:400;line-height:1.35}.booking-form .telefon-row{gap:10px;display:flex}.booking-form .telefon-vorwahl{border:1px solid #eee;border-right:none;border-radius:6px 0 0 6px}.booking-form .telefon-input,.booking-form .telefon-vorwahl{color:#232323;background:silver;padding:8px 10px;font-size:1.02em}.booking-form .telefon-input{border:1px solid #eee;border-left:none;border-radius:0 6px 6px 0;width:100%}.booking-confirm-modern{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text);margin:var(--space-2xl) auto;max-width:520px;padding:var(--space-2xl) var(--space-lg) var(--space-xl) var(--space-lg);text-align:center;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow var(--transition-normal);animation:.6s fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.booking-confirm-modern .bc-icon{margin-bottom:var(--space-lg)}.booking-confirm-modern h2{color:var(--color-form-focus);font-size:var(--font-size-3xl);letter-spacing:.01em;margin-bottom:var(--space-md);font-weight:700}.booking-confirm-modern p{font-size:var(--font-size-lg);margin-bottom:var(--space-lg);line-height:1.45}.booking-confirm-modern .bc-tipp{color:var(--color-primary-light);font-size:var(--font-size-base);margin-top:var(--space-sm);opacity:.92;display:block}.booking-confirm-modern .bc-btn{background:var(--color-form-focus);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--color-text-dark);font-size:var(--font-size-lg);letter-spacing:.03em;margin-top:var(--space-lg);padding:var(--space-md) var(--space-xl);transition:background var(--transition-fast),color var(--transition-fast);font-weight:700;text-decoration:none;display:inline-block}@media (max-width:768px){.booking-form{isolation:isolate;z-index:1;max-width:95vw;margin:20px auto 0;padding:20px 4vw;font-size:.98em;position:relative}.booking-form .booking-grid{grid-template-columns:1fr;gap:15px 0}.booking-form .booking-col2{grid-column:span 1}.booking-form .ds-row{flex-direction:column;align-items:flex-start;gap:8px}.booking-form input,.booking-form select,.booking-form textarea{z-index:2;padding:12px 10px;font-size:16px;position:relative}.booking-form input[type=date]{background:var(--color-form-input);border:1px solid var(--color-form-border);z-index:10;position:relative}.booking-form input[type=date]:focus{z-index:20}.booking-form textarea{min-height:100px}}@media (max-width:480px){.booking-form{z-index:1;margin:10px auto 0;padding:16px 3vw;font-size:.95em;position:relative;overflow:visible}.booking-form h2{margin-bottom:16px;font-size:1.4em}.booking-form .booking-btn{margin-top:20px;padding:14px 20px;font-size:1.1em}.booking-form input[type=date]{z-index:15;min-height:44px;position:relative}.booking-form label{z-index:5;margin-bottom:8px;position:relative}}
