/* Buttons */
input, button, select, optgroup, textarea {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}
button, input {
    overflow: visible;
}
button, select {
    text-transform: none;
}
input[type="checkbox"] {
	display: inline-block;
	width: auto;
}
[type="button"]:not(.input-password-toggle), 
[type="submit"],
.btn:not(.input-password-toggle),
.HdOrderLayer .btn,
.btn-primary,
.HdOrderViewCartContent a.btn,
.LoginDropdown .HdDropdownContent .logout-button .btn-primary,
.klaro .cookie-modal .cm-btn.cm-btn-info, 
.klaro .context-notice .cm-btn.cm-btn-info, 
.klaro .cookie-notice .cm-btn.cm-btn-info,
button.HdOrderDetails,
button.HdMemberCartTriggerButton,
.priceBoxButton,
.membershipItemLayer .membershipAction div {
	background-color: var(--VzForestDeep);
  	color: var(--VzBgColor);
	border: 0px;
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius:6px;
    padding: 6px 8px;
}
button.HdMemberCartTriggerButton {
	width: 100%;
}

.LoginDropdown .HdDropdownContent .logout-button .btn-primary {
	margin-top: 15px !important;
}
.LoginDropdown .HdDropdownContent .logout-button .btn-primary:hover,
.LoginDropdown .HdDropdownContent .logout-button .btn-primary:active {
	color: inherit;
}

.klaro .cookie-modal .cm-btn.cm-btn-info, 
.klaro .context-notice .cm-btn.cm-btn-info, 
.klaro .cookie-notice .cm-btn.cm-btn-info {
	background-color: var(--VzBgColor) !important;
}
.HdOrderSubmitDisabled {
	background-color: var(--VzBgColor) !important;
	color: #bbb8b8 !important;
	border: 1px solid var(--VzTextMain) !important;
	cursor: none;
}


/* input Text, select textarea */
select,
select.hdOrderSelectNumeric, 
select.addPriceBoxItemToCartUsage {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  cursor: pointer;
}
select::-ms-expand,
select.hdOrderSelectNumeric::-ms-expand, 
select.addPriceBoxItemToCartUsage::-ms-expand {
	display: none;
}
select:focus::-ms-value,
select.hdOrderSelectNumeric:focus::-ms-value, 
select.addPriceBoxItemToCartUsage:focus::-ms-value {
	background-color: transparent;
	color: inherit;
}
select option:focus::-ms-value,
select option:hover::-ms-value {
    background-color: #EBEBEB;
}
select option:active::-ms-value {
    background-color: #DADADA;
}

[type=tel],
[type=text],
[type=email],
[type=number]:not(.numberStyled),
.HdOrderLayer input:not(.numberStyled),
.HdOrderLayer input[type=text],
[type=password],
select,
select.hdOrderSelectNumeric, 
select.addPriceBoxItemToCartUsage,
textarea {
	font-size: 14px;
	border: 1px solid var(--VzTextMain);
    -moz-border-radius:6px;
    -webkit-border-radius:6px;
    border-radius:6px;
	background-color: var(--VzBgColor);
    color: var(--HamrahRose);
    padding:4px 8px;
	padding-top: 7px;
	line-height: 1.2em;
	box-sizing: border-box;
}
textarea {
	border: 1px solid var(--VzTextMain) !important;
    -moz-border-radius:6px !important;
    -webkit-border-radius:6px !important;
    border-radius:6px !important;
	background-color: var(--VzBgColor) !important;
    color: var(--HamrahRose) !important;
}
input[type="number"] {
	max-width: 60px;
	box-sizing: border-box;
    width: 100%;
}
/* 2. Das Input-Feld radikal zähmen */
/*.addItemToCartByCount,
.addTicketToCartCount {
    width: 60px !important;
    min-width: 0 !important;
    max-width: 60px !important;
    flex-basis: 60px !important;
    
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
    
    padding-left: 4px !important;
    padding-right: 4px !important;
}*/

@media (max-width: 400px) {
	/* Chrome/Safari Spinner explizit verstecken */
	input::-webkit-outer-spin-button,
	input::-webkit-inner-spin-button {
	  -webkit-appearance: none;
	  margin: 0;
	}
	input[type="number"] {
	    appearance: textfield; 
	    -moz-appearance: textfield;
	}	
}
.selectWrapper:not(:has(select.HdLibMobileNumberField)) {
	width: 50%;
	min-width: 200px;
}
.selectWrapper:has(select.HdLibMobileNumberField) {
	width: 60px;
	min-width: 0px;
	max-width: 100%;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}
.selectWrapper select {
	background-color: var(--HamrahPurple);
    color: var(--VzTextMain);
    width: 100%;
}
input:autofill,
input:is(:-webkit-autofill, :autofill) {
	background-color: var(--VzTextMain) !important;
	
}
[type=tel],
[type=text]:not(#addCouponField),
[type=email],
.HdOrderLayer input:not(#addCouponField):not(.numberStyled):not([type="checkbox"]):not([type="radio"]),
.HdOrderLayer input[type=text]:not(#addCouponField),
[type=password] {
	width: 100%;
	max-width: 100%;
}
select,
select.hdOrderSelectNumeric {
	color: var(--VzBgColor);
}
.selectWrapper::before {
	font-size: 18px;
	top: 4px;
	color: var(--VzTextMain);
}
.HdOrderLayer input[type="text"] {
	height: auto;
	background-color: var(--HamrahRose50);
}
.HdOrderLayer .btn:not(.input-password-toggle):not(.documentModal) {
	font-size: inherit;
	background-color: var(--VzForestDeep);
	color: var(--VzBgColor);
	border: 1px solid var(--VzTextMain);
}

.password-group input[type="password"],
.btn.input-password-toggle {
	padding: 4px 8px;
}
.btn.input-password-toggle {
	display: flex !important;
	padding: 4px 8px;
	line-height: unset;
	display: block;
	background-color: var(--VzBgColor);
	color: var(--HamrahRose);
	border: 1px solid var(--VzTextMain);
}
.btn.input-password-toggle span.icon-eye {
	line-height: 24px;
}
.password-group .icon-eye::before, .password-group .icon-eye-slash::before {
	font-size: 20px;
	color: var(--VzForestDeep);
}
select.hdOrderSelectNumeric {
	padding-bottom: 2px;
}
select.hdOrderSelectNumeric {
	width: 80px;
}

select option,
select.hdOrderSelectNumeric option, 
select.addPriceBoxItemToCartUsage option {
  color: #666;
}
.adminform select {
	width: 360px;
}

.cart_coupon input[type="text"] {
	font-size: 15px;
  	line-height: normal;
  	border-top-right-radius: 0px;
  	border-bottom-right-radius: 0px;
  	margin: 0px;
  	padding: 4px 8px;
  	height: 28px;
}
.HdOrderLayer .cart_coupon button.btn {
    border-top-left-radius: 0px;
  	border-bottom-left-radius: 0px;
  	margin-left: -10px;
  	font-size: 12px;
  	padding: 4px 8px;
  	height: 28px;
}
@media (max-width: 560px) {
	.HdOrderLayer .cart_coupon label {
		display: block;
		margin-bottom: 10px;
	}	
	.cart_coupon input[type="text"] {
		width: 60%
	}
}

form input.invalid, 
form select.invalid, 
input:required:invalid, 
form input[type="checkbox"].checkboxRequiredError,
form select:focus:invalid textarea.invalid {
	border: 1px solid var(--VzTextMain) !important;
  	background-color: var(--VzBgColor) !important;
  	color: var(--VzTextMain) !important;
}

input.form-control-danger:required:invalid, 
form input[type="checkbox"].form-control-danger.checkboxRequiredError {
	border: 1px solid var(--HdLibDarkRed) !important;
}

.HdOrderViewCartContent form > div.orderCheckCheckboxRow {
	margin-top: 20px;
}
.HdOrderViewCartContent form > .orderCheckCheckboxRow:last-of-type {
	margin-bottom: 20px;
}
.HdOrderViewCartContent form > div.orderCheckCheckboxRow input.orderCheckCheckboxConfirm {
	margin-top: 5px;
}

