a[href*="vivaco-katalog-74-stran"] {
    pointer-events: none !important;
    text-decoration: none !important;
    color: inherit !important;
}

tr:has(a[href*="vivaco-katalog-74-stran"]) .p-amount {
    pointer-events: none !important;
    opacity: 0.5 !important;
}

tr:has(a[href*="vivaco-katalog-74-stran"]) .cart-item-price,
tr:has(a[href*="vivaco-katalog-74-stran"]) .p-total,
.recapitulation-item:has(a[href*="vivaco-katalog-74-stran"]) .price {
    font-size: 0 !important;
}

.catalog-checkbox-wrapper {
    margin-top: 15px !important;
    padding: 12px !important;
    background-color: #f9f9f9 !important;
    border: 1px solid #7FC241 !important;
    border-radius: 4px !important;
    transition: all 0.25s;
    max-width: 526px;
}

.catalog-checkbox-wrapper:hover {
    color:#7FC241;
}

.catalog-checkbox-label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.catalog-checkbox-input {
    margin: 0 10px 0 0 !important;
    width: 18px !important;
    height: 18px !important;
}







.form-control:focus, 
input[type="text"]:focus, 
input[type="email"]:focus, 
input[type="password"]:focus, 
input[type="tel"]:focus, 
textarea:focus, 
select:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 1px var(--color-primary) !important;
}

.smart-label-wrapper {
    position: relative !important;
}

.smart-label-wrapper label {
    position: absolute !important;
    top: 26px !important;
    left: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: #777 !important;
    pointer-events: none !important;
    transition: all 0.2s ease-out !important;
    height: auto !important;
    z-index: 10 !important;
    display: block !important;
}

.smart-label-wrapper.focused label,
.smart-label-wrapper.filled label,
.smart-label-wrapper.populated label,
.smart-label-wrapper:focus-within label,
.smart-label-wrapper:has(input:-webkit-autofill) label,
.smart-label-wrapper:has(textarea:-webkit-autofill) label {
    top: 4px !important;
    font-size: 11px !important;
    color: var(--color-primary) !important;
}

.smart-label-wrapper.filled:not(:focus-within) label,
.smart-label-wrapper:not(:focus-within):has(input:-webkit-autofill) label,
.smart-label-wrapper:not(:focus-within):has(textarea:-webkit-autofill) label {
    color: #777 !important;
}

.smart-label-wrapper input::-moz-placeholder,
.smart-label-wrapper textarea::-moz-placeholder {
    color: transparent !important;
}

.smart-label-wrapper input::placeholder,
.smart-label-wrapper textarea::placeholder {
    color: transparent !important;
}

.smart-label-wrapper.focused input::-moz-placeholder,
.smart-label-wrapper.focused textarea::-moz-placeholder,
.smart-label-wrapper:focus-within input::-moz-placeholder,
.smart-label-wrapper:focus-within textarea::-moz-placeholder {
    color: #aaa !important;
}

.smart-label-wrapper.focused input::placeholder,
.smart-label-wrapper.focused textarea::placeholder,
.smart-label-wrapper:focus-within input::placeholder,
.smart-label-wrapper:focus-within textarea::placeholder {
    color: #aaa !important;
}

.smart-label-wrapper .form-control {
    padding-top: 16px !important;
    padding-bottom: 2px !important;
    height: 45px !important;
}

.smart-label-wrapper .form-control-wrapper {
    width: 100% !important;
}

.phone-combined-input {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    position: relative !important;
}

.phone-combined-input .country-flags {
    flex: 0 0 95px !important;
    background-color: #f9f9f9 !important;
    border: 1px solid #e7e7e7 !important;
    border-right: none !important;
    border-radius: 4px 0 0 4px !important;
    position: relative !important;
    z-index: 20 !important;
    padding: 0 !important;
}

.phone-combined-input .country-flags:not(.active) {
    height: 45px !important;
    overflow: hidden !important;
}

.phone-combined-input .country-flags:not(.active) .country-flag.selected {
    height: 43px !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 10px !important;
}

.phone-combined-input select.js-phone-code {
    display: none !important;
}

.phone-combined-input .form-control.js-phone-form-control {
    flex: 1 1 auto !important;
    width: calc(100% - 95px) !important;
    height: 45px !important;
    border-radius: 0 4px 4px 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.smart-label-wrapper:has(.phone-combined-input) label {
    left: 105px !important;
    z-index: 4 !important;
}

.smart-label-wrapper.form-group--inline:has(p.label.js-location) {
    display: flex !important;
    align-items: center !important;
    min-height: 45px !important;
    padding: 15px 12px !important;
    background-color: #f9f9f9 !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 4px !important;
    margin-bottom: 15px !important;
}

.smart-label-wrapper.form-group--inline p.label.js-location {
    display: none !important;
}

.smart-label-wrapper.form-group--inline:has(p.label.js-location) > label {
    position: static !important;
    flex: 0 0 15% !important;
    font-size: 14px !important;
    color: #777 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    display: block !important;
}

.smart-label-wrapper.form-group--inline .form-control-wrapper--with-note.js-location {
    flex: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    position: static !important;
    height: auto !important;
}

.smart-label-wrapper.form-group--inline .form-control-wrapper--with-note.js-location strong {
    display: block !important;
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.smart-label-wrapper.form-group--inline .form-control-wrapper--with-note.js-location .helpNote {
    display: block !important;
    font-size: 12px !important;
    color: #777 !important;
    margin-top: 4px !important;
    font-style: normal !important;
}