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

/* Textarea Label */

lightning-textarea label.slds-form-element__label,
.ecomm-textarea 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);
}

/* Textarea Label Disabled */

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

/* Textarea Label Error */

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

/* Textarea Label Required */

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

/* Textarea */

lightning-textarea textarea.slds-textarea,
.ecomm-textarea textarea.slds-textarea {
    min-height: 6rem;
    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;
}

/* Textarea Readonly */

lightning-textarea textarea.slds-textarea[readonly],
.ecomm-textarea textarea.slds-textarea[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;
}

/* Textarea Error */

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

/* Textarea Placeholder */

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

/* Textarea Hover */

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

/* Textarea Error Hover */

lightning-textarea.slds-has-error textarea.slds-textarea:not(:disabled):not([readonly]):hover,
.ecomm-textarea.slds-has-error textarea.slds-textarea: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);
}

/* Textarea Focus */

lightning-textarea textarea.slds-textarea:not(:disabled):not([readonly]):focus,
lightning-textarea textarea.slds-textarea:not(:disabled):not([readonly]):active,
.ecomm-textarea textarea.slds-textarea:not(:disabled):not([readonly="true"]):focus,
.ecomm-textarea textarea.slds-textarea: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);
}

/* Textarea Error Focus */

lightning-textarea.slds-has-error textarea.slds-textarea:not(:disabled):not([readonly]):focus,
lightning-textarea.slds-has-error textarea.slds-textarea:not(:disabled):not([readonly]):active,
.ecomm-textarea.slds-has-error textarea.slds-textarea:not(:disabled):not([readonly="true"]):focus,
.ecomm-textarea.slds-has-error textarea.slds-textarea: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);
}

/* Textarea Readonly Focus */

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

/* Textarea Disabled */

lightning-textarea textarea.slds-textarea:disabled,
.ecomm-textarea textarea.slds-textarea: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;
}

/* Textarea Error Disabled */

lightning-textarea.slds-has-error textarea.slds-textarea:disabled,
.ecomm-textarea.slds-has-error textarea.slds-textarea: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;
}

/* Textarea Readonly Disabled */

lightning-textarea textarea.slds-textarea[readonly]:disabled,
.ecomm-textarea textarea.slds-textarea[readonly="true"]:disabled {
    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;
}

/* Textarea Placeholder Disabled */

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

/* Textarea Helptext */

lightning-textarea .slds-form-element__help,
.ecomm-textarea .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);
}

/* Textarea Helptext Empty */

lightning-textarea .slds-form-element__help:empty,
.ecomm-textarea .slds-form-element__help:empty {
    display: none;
}

/* Textarea Helptext Error */

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