/* <link rel="stylesheet" href="{ basePath }/sfsites/c/resource/ecommStyle/css/components/lightning-input.css?{ versionKey }"/> */

/* Input Label */

lightning-input label.slds-form-element__label,
.ecomm-input label.slds-form-element__label {
    margin: var(--ecomm-form-label-margin);
    padding: var(--ecomm-form-label-padding);
    font-family: var(--ecomm-form-field-labels-font-family);
    font-size: var(--ecomm-form-field-labels-font-size);
    font-style: var(--ecomm-form-field-labels-font-style);
    font-weight: var(--ecomm-form-field-labels-font-weight) !important;
    text-decoration: var(--ecomm-form-field-labels-text-decoration);
    text-transform: var(--ecomm-form-field-labels-text-transform);
    /* line-height: var(--ecomm-form-field-labels-line-height); */
    line-height: var(--ecomm-form-label-line-height); /* It's important for label height */
    letter-spacing: var(--ecomm-form-field-labels-letter-spacing);
    color: var(--ecomm-form-label-color);
    transition: color var(--ecomm-transition-color);
}

/* Input Label Disabled */

lightning-input:not(.slds-has-error):has(input.slds-input:disabled) label.slds-form-element__label,
lightning-input:has(:not(.slds-has-error)):has(input.slds-input:disabled) label.slds-form-element__label,
.ecomm-input:not(.slds-has-error):has(input.slds-input:disabled) label.slds-form-element__label {
    color: var(--ecomm-form-label-disabled-color);
}

/* Input Label Error */

lightning-input.slds-has-error label.slds-form-element__label,
lightning-input .slds-has-error label.slds-form-element__label,
.ecomm-input.slds-has-error label.slds-form-element__label {
    color: var(--ecomm-form-label-error-color) !important;
}

/* Input Label Required */

lightning-input label.slds-form-element__label .slds-required,
.ecomm-input label.slds-form-element__label .slds-required {
    margin: var(--ecomm-form-label-required-margin);
    color: var(--ecomm-form-label-required-color);
}

/* Input */

lightning-input input.slds-input,
.ecomm-input input.slds-input {
    padding-top: var(--ecomm-form-spacing-field-padding-top);
    padding-right: var(--ecomm-form-spacing-field-padding-right);
    padding-bottom: var(--ecomm-form-spacing-field-padding-bottom);
    padding-left: var(--ecomm-form-spacing-field-padding-left);
    font-family: var(--ecomm-form-input-text-font-family);
    font-size: var(--ecomm-form-input-text-font-size);
    font-style: var(--ecomm-form-input-text-font-style);
    font-weight: var(--ecomm-form-input-text-font-weight);
    text-decoration: var(--ecomm-form-input-text-text-decoration);
    text-transform: var(--ecomm-form-input-text-text-transform);
    /* line-height: var(--ecomm-form-input-text-line-height); */
    line-height: var(--ecomm-form-element-line-height); /* It's important for element height */
    letter-spacing: var(--ecomm-form-input-text-letter-spacing);
    border-radius: var(--ecomm-form-borders-field-border-radius);
    border-width: var(--ecomm-form-borders-field-border-width);
    color: var(--ecomm-color-form-input-text);
    border-color: var(--ecomm-color-form-field-border);
    background-color: var(--ecomm-color-form-field-background-fill);
    outline-width: var(--ecomm-form-element-outline-width) !important;
    outline-style: var(--ecomm-form-element-outline-style) !important;
    outline-color: var(--ecomm-form-element-outline-color) !important;
    outline-offset: var(--ecomm-form-element-outline-offset);
    transition:
        color var(--ecomm-transition-color),
        border-color var(--ecomm-transition-border-color),
        background-color var(--ecomm-transition-background-color),
        box-shadow var(--ecomm-transition-box-shadow),
        outline-color var(--ecomm-transition-outline-color)
    !important;
}

/* Input Readonly */

lightning-input input.slds-input[readonly],
.ecomm-input input.slds-input[readonly="true"] {
    font-size: var(--ecomm-form-element-readonly-font-size);
    border-color: var(--ecomm-form-element-readonly-border-color);
    background-color: var(--ecomm-form-element-readonly-background-color);
    box-shadow: unset;
    cursor: default;
}

/* Input Error */

lightning-input.slds-has-error input.slds-input,
lightning-input .slds-has-error input.slds-input,
.ecomm-input.slds-has-error input.slds-input {
    border-color: var(--ecomm-form-element-error-border-color);
    outline-color: var(--ecomm-form-element-error-outline-color) !important;
    box-shadow: unset;
}

/* Input Placeholder */

lightning-input input.slds-input::placeholder,
lightning-input input.slds-input::-webkit-input-placeholder,
.ecomm-input input.slds-input::placeholder,
.ecomm-input input.slds-input::-webkit-input-placeholder {
    color: var(--ecomm-color-form-placeholder-text);
    transition: color var(--ecomm-transition-color);
}

/* Input Hover */

lightning-input input.slds-input:not(:disabled):not([readonly]):hover,
.ecomm-input input.slds-input:not(:disabled):not([readonly="true"]):hover {
    border-color: var(--ecomm-form-element-border-color-hover);
    box-shadow: var(--ecomm-form-element-box-shadow-hover);
}

/* Input Error Hover */

lightning-input.slds-has-error input.slds-input:not(:disabled):not([readonly]):hover,
lightning-input .slds-has-error input.slds-input:not(:disabled):not([readonly]):hover,
.ecomm-input.slds-has-error input.slds-input:not(:disabled):not([readonly="true"]):hover {
    border-color: var(--ecomm-form-element-error-border-color-hover);
    outline-color: var(--ecomm-form-element-error-outline-color-hover) !important;
    box-shadow: var(--ecomm-form-element-error-box-shadow-hover);
}

/* Input Focus */

lightning-input input.slds-input:not(:disabled):not([readonly]):focus,
lightning-input input.slds-input:not(:disabled):not([readonly]):active,
.ecomm-input input.slds-input:not(:disabled):not([readonly="true"]):focus,
.ecomm-input input.slds-input:not(:disabled):not([readonly="true"]):active {
    color: var(--ecomm-color-form-input-text-focus);
    border-color: var(--ecomm-color-form-field-border-focus);
    outline-color: var(--ecomm-form-element-outline-color-focus) !important;
    background-color: var(--ecomm-color-form-field-background-focus);
    box-shadow: var(--ecomm-form-element-box-shadow-focus);
}

/* Input Error Focus */

lightning-input.slds-has-error input.slds-input:not(:disabled):not([readonly]):focus,
lightning-input.slds-has-error input.slds-input:not(:disabled):not([readonly]):active,
lightning-input .slds-has-error input.slds-input:not(:disabled):not([readonly]):focus,
lightning-input .slds-has-error input.slds-input:not(:disabled):not([readonly]):active,
.ecomm-input.slds-has-error input.slds-input:not(:disabled):not([readonly="true"]):focus,
.ecomm-input.slds-has-error input.slds-input:not(:disabled):not([readonly="true"]):active {
    color: var(--ecomm-form-element-error-color-focus);
    border-color: var(--ecomm-form-element-error-border-color-focus);
    outline-color: var(--ecomm-form-element-error-outline-color-focus) !important;
    background-color: var(--ecomm-form-element-error-background-color-focus);
    box-shadow: var(--ecomm-form-element-error-box-shadow-focus);
}

/* Input Readonly Focus */

lightning-input input.slds-input[readonly]:focus,
lightning-input input.slds-input[readonly]:active,
.ecomm-input input.slds-input[readonly="true"]:focus,
.ecomm-input input.slds-input[readonly="true"]:active {
    box-shadow: unset;
}

/* Input Disabled */

lightning-input input.slds-input:disabled,
.ecomm-input input.slds-input:disabled {
    color: var(--ecomm-form-element-disabled-color);
    border-color: var(--ecomm-form-element-disabled-border-color);
    background-color: var(--ecomm-form-element-disabled-background-color);
    box-shadow: unset;
    cursor: not-allowed;
}

/* Input Error Disabled */

lightning-input.slds-has-error input.slds-input:disabled,
lightning-input .slds-has-error input.slds-input:disabled,
.ecomm-input.slds-has-error input.slds-input:disabled {
    color: var(--ecomm-form-element-error-disabled-color);
    border-color: var(--ecomm-form-element-error-disabled-border-color);
    outline-color: var(--ecomm-form-element-error-disabled-outline-color) !important;
    background-color: var(--ecomm-form-element-error-disabled-background-color);
    box-shadow: unset;
}

/* Input Readonly Disabled */

lightning-input input.slds-input:disabled[readonly],
.ecomm-input input.slds-input:disabled[readonly="true"] {
    color: var(--ecomm-form-element-readonly-disabled-color);
    border-color: var(--ecomm-form-element-readonly-disabled-border-color);
    background-color: var(--ecomm-form-element-readonly-disabled-background-color);
    box-shadow: unset;
    cursor: default;
}

/* Input Placeholder Disabled */

lightning-input input.slds-input:disabled::placeholder,
lightning-input input.slds-input:disabled::-webkit-input-placeholder,
.ecomm-input input.slds-input:disabled::placeholder,
.ecomm-input input.slds-input:disabled::-webkit-input-placeholder {
    color: var(--ecomm-form-element-placeholder-disabled-color);
}

/* Input Helptext */

lightning-input .slds-form-element__help,
.ecomm-input .slds-form-element__help {
    font-family: var(--ecomm-form-caption-text-font-family);
    font-size: var(--ecomm-form-caption-text-font-size);
    font-style: var(--ecomm-form-caption-text-font-style);
    font-weight: var(--ecomm-form-caption-text-font-weight);
    text-decoration: var(--ecomm-form-caption-text-text-decoration);
    text-transform: var(--ecomm-form-caption-text-text-transform);
    /* line-height: var(--ecomm-form-caption-text-line-height); */
    line-height: var(--ecomm-form-helptext-line-height); /* It's important for helptext height */
    letter-spacing: var(--ecomm-form-caption-text-letter-spacing);
    color: var(--ecomm-form-helptext-color);
    transition: color var(--ecomm-transition-color);
}

/* Input Helptext Empty */

lightning-input .slds-form-element__help:empty {
    display: none;
}

/* Input Helptext Error */

lightning-input.slds-has-error .slds-form-element__help,
lightning-input .slds-has-error .slds-form-element__help,
.ecomm-input.slds-has-error .slds-form-element__help {
    color: var(--ecomm-form-helptext-error-color);
}

/* Input Icon Error */

lightning-input.slds-has-error lightning-primitive-icon[variant="bare"],
lightning-input .slds-has-error lightning-primitive-icon[variant="bare"],
.ecomm-input.slds-has-error lightning-primitive-icon[variant="bare"] {
    display: none;
}


/* LIGHTNING INPUT (SEARCH) */

/* Input */

lightning-input .slds-input-has-icon[type="search"] .slds-input {
    padding-left: 2.75rem;
    padding-right: 2.75rem;
}

/* Input Search Icon */

lightning-input .slds-input-has-icon[type="search"] > lightning-primitive-icon .slds-input__icon {
    display: none;
}

lightning-input .slds-input-has-icon[type="search"] > lightning-primitive-icon::after {
    display: block;
    content: var(--ecomm-form-icon-search);
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    pointer-events: none;
    opacity: 1;
    transition: opacity var(--ecomm-transition-opacity);
}

lightning-input .slds-input-has-icon[type="search"] > .slds-input:disabled + lightning-primitive-icon::after {
    opacity: 0.6;
}

/* Input Clear Icon */

lightning-input .slds-input-has-icon[type="search"] .slds-input__icon-group {
    top: 0.75rem;
    right: 0.75rem;
    margin: 0;
    height: auto;
}

lightning-input .slds-input-has-icon[type="search"] .slds-input__icon-group .slds-button_icon {
    top: 0;
    right: 0;
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    padding: 0;
    box-shadow: unset !important;
    border: 0 !important;
}

lightning-input .slds-input-has-icon[type="search"] .slds-input__icon-group .slds-button_icon lightning-primitive-icon {
    display: none;
}

lightning-input .slds-input-has-icon[type="search"] .slds-input__icon-group .slds-button_icon::after {
    display: block;
    content: var(--ecomm-form-icon-clear);
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity var(--ecomm-transition-opacity);
}

lightning-input .slds-input-has-icon[type="search"] .slds-input:disabled ~ .slds-input__icon-group .slds-input__icon {
    pointer-events: none;
}

lightning-input .slds-input-has-icon[type="search"] .slds-input:disabled ~ .slds-input__icon-group .slds-button_icon::after {
    opacity: 0.6;
}





/* LIGHTNING INPUT (DATE) */

/* Input */

lightning-input lightning-datepicker input.slds-input {
    padding-right: 2.75rem;
}

/* Input Calendar Icon */

lightning-input lightning-datepicker .slds-input-has-icon .slds-input__icon {
    top: 0.75rem;
    right: 0.75rem;
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    pointer-events: none;
}

lightning-input lightning-datepicker .slds-input-has-icon .slds-input__icon::after {
    display: block;
    content: var(--ecomm-form-icon-datapicker);
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity var(--ecomm-transition-opacity);
}

lightning-input lightning-datepicker .slds-input-has-icon input.slds-input:disabled + .slds-input__icon::after,
lightning-input lightning-datepicker .slds-input-has-icon input.slds-input[readonly] + .slds-input__icon::after {
    opacity: 0.6;
}

lightning-input lightning-datepicker .slds-input-has-icon .slds-input__icon button.slds-button_icon {
    display: none;
}

lightning-input lightning-datepicker lightning-calendar .slds-button {
    padding-left: 1rem;
    padding-right: 1rem;
}