/*************************************
Pantalla de producto SELECTORES
**************************************/

/* variables de personalizacion 
    
    copia estas variables en variables.css 

    --disabled-color:       silver;
    --selected-color:       var(--primary-color);
    --selected-contrast:    var(--primary-contrast);

    --product-select-btn-padding:   0.75rem 1.25rem;
    --product-select-btn-border:    2px silver solid;
    --product-select-btn-bg:        transparent;
    --product-select-btn-border-selected:  2px solid var(--selected-color);
    --product-select-btn-border-disabled:  2px dashed var(--disabled-color);

    --select-attr-text:     "selecciona una opción"; 
    --disabled-attr-text:   "No Disponible";
*/
:root{
    --check-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

/*dropdown*/
.attr-dropdown{
    border:1px solid silver;
    border-radius:var(--default-border-radius);
    margin-bottom:1rem;
}
.attr-dropdown .dropdown-toggle{
    width:100%;
    text-align:left;
    display:flex;
    align-items:center;
}
.attr-dropdown .dropdown-toggle::after{
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
}
.attr-dropdown .bs-product__label__attr{
    margin:0;
    width:100%
}
.attr-dropdown .dropdown-menu{
    max-height: 280px;
    overflow-y: auto;
}
.attr-dropdown .dropdown-item{
    display:flex;
    align-items:center;
}
.attr-dropdown .dropdown-item.attr-none-stock,
.attr-dropdown .dropdown-item.attr-disabled{
    color: silver;
}
.attr-dropdown .dropdown-item.attr-none-stock::after,
.attr-dropdown .dropdown-item.attr-disabled::after{
    content: var(--disabled-attr-text,"No Disponible");
    display:inline-block;
    padding:4px;
    border-radius:var(--default-border-radius);
    background:var(--disabled-color, silver);
    color:white;
    font-size:80%;
    margin-left:auto;

}
.attr-dropdown .attr-color-ball{
    margin-right:.5rem;
}

/* buttons */
.bs-product__label__attr{
    display:block;
}
.bs-product__label__attr::after{
    content: attr(data-info);
    font-weight: var(--font-bold);
    text-transform:capitalize;
}

.bs-product__label__attr[data-info=""]::after{
    content: var(--select-attr-text,"");
    font-weight:inherit;
    text-transform:inherit;
    opacity:.6;
}
.bs-product__label__attr.is-invalid{
    color: var(--danger-color);
    font-weight: var(--font-bold);
}
.btn-attr{
    border:none;
    position:relative;
    display:flex;
    justify-content:center;
    padding: var(--product-select-btn-padding,0.75rem 1.25rem);
    color:inherit;
    border-radius: var(--default-border-radius);
    border: var(--product-select-btn-border, 2px solid silver);
    background: var(--product-select-btn-bg, transparent);
}

button.btn-attr.attr-selected,
button.btn-attr.attr-selected:focus{
    border-color: var(--selected-color ,var(--primary-color)) !important;

}
.btn-attr.attr-selected::after{
    content:"";
    width:1rem;
    height:1rem;
    display:block;
    position:absolute;
    bottom:-2px;
    right:-2px;
    background-image: var(--check-icon);
    background-repeat: no-repeat;
    background-position:center center;
    background-color:var(--selected-color ,var(--primary-color, black));
    border-radius:var(--default-border-radius);
    border: 2px solid white;
}


.btn-attr:not(.btn-color).attr-selected::after{
    border-color:var(--selected-color ,var(--primary-color, black));
}
.btn-color{
    padding:2px;
    border-radius:3rem;
}
.attr-color-ball{
    width:var(--product-attr-color-size, 3rem);
    height:var(--product-attr-color-size, 3rem);
}
.attr-color-ball::after{
    width:var(--product-attr-color-size, 3rem);
    height:var(--product-attr-color-size, 3rem);
    content:"";
    background: var(--color-attr);
    box-shadow: 0px 0px 0px 2px rgba(0,0,0,0.5) inset;
    
    border-radius:3rem;
    display:flex;
    align-items:center;
    justify-content:center; 
}
.dropdown-item .attr-color-ball{
    position:relative;
}

.dropdown-item .attr-color-ball,
.dropdown-item .attr-color-ball::after{
    width:2rem;
    height:2rem;
}
.attr-dropdown .dropdown-item.attr-selected.attr-selected{
    background:var(--selected-color ,var(--primary-color, silver));
    color:var(--selected-contrast ,var(--primary-contrast, black));
}
.dropdown-item.attr-selected .attr-color-ball::before{
    content:"";
    width:1rem;
    height:1rem;
    display:block;
    position:absolute;
    bottom:-2px;
    right:-2px;
    z-index:1000;
    background-image: var(--check-icon);
    background-repeat: no-repeat;
    background-position:center center;
    background-color:var(--selected-color ,var(--primary-color, black));
    border-radius:var(--default-border-radius);
    border: 2px solid white;
}

.btn-color.attr-none-stock::before,
.btn-color.attr-disabled::before{
    content:"";
    border-top: solid var(--disabled-color, silver); 2px;
    display: block;
    width:100%;
    position:absolute;
    transform: rotate(-45deg);
    top:50%;
}
.btn-attr.attr-disabled,
.btn-attr.attr-none-stock{
    border-style: dashed !important;
    color:var(--disabled-color, silver);
}
.attr-disabled > .attr-color-ball::after,
.attr-none-stock > .attr-color-ball::after{
    opacity:0.5;
}
/*********** 
tooltip 
************/
.attr-color-ball{
    position:relative;
    display:flex;
    justify-content:center;
}

.btn-color:hover .attr-color-ball::before,
.attr-disabled:not(.btn-color):hover::before,
.attr-none-stock:not(.btn-color):hover::before{  
    position:absolute;
    top:100%;
    font-size:80%;
    background:black;
    color:white;
    z-index:1000;
    white-space: pre;
    padding:4px;
    border-radius:var(--default-border-radius);
}
.btn-color:hover .attr-color-ball::before{
    content:attr(tooltip);
}
.attr-disabled:not(.btn-color):not(.dropdown-item):hover::before,
.attr-none-stock:not(.btn-color):not(.dropdown-item):hover::before{
    content:var(--disabled-attr-text,"No Disponible");;
}
.btn-color.attr-none-stock:hover .attr-color-ball::before,
.btn-color.attr-disabled:hover .attr-color-ball::before{
    content:attr(tooltip) "\a" var(--disabled-attr-text,"No Disponible");;
}

.bs-error-stock{
    display:inline-block;
}

/* selector de variante radio button */
.bs-variant-select{
    display:inline-block;
}
.bs-variant-select .bs-variant-select__input{
    display:none;
}
.bs-variant-select__label{
    padding: var(--product-select-btn-padding,0.75rem 1.25rem);
    border: var(--product-select-btn-border, 2px solid silver);
    border-radius: var(--default-border-radius);
    position:relative;
    background: var(--product-select-btn-bg, transparent);
}

.bs-variant-select .bs-variant-select__input.disabled +.bs-variant-select__label{
    color: var(--disabled-color, silver);
    border: var(--product-select-btn-border-disabled,2px dashed var(--disabled-color, silver)) !important;
}
.bs-variant-select .bs-variant-select__input:checked +.bs-variant-select__label,
.bs-variant-select .bs-variant-select__input.disabled:checked +.bs-variant-select__label{
    border-color:var(--selected-color ,var(--primary-color, black)) !important;   
}
.bs-variant-select .bs-variant-select__input:checked +.bs-variant-select__label::after{
    content:"";
    width:1rem;
    height:1rem;
    display:block;
    position:absolute;
    bottom:-2px;
    right:-2px;
    background-image: var(--check-icon); 
    background-repeat: no-repeat;
    background-position:center center;
    background-color:var(--selected-color ,var(--primary-color, black));
    border-radius:var(--default-border-radius);
}


/*************************************
Pantalla de coleccion: FILTROS
**************************************/

.bs-filter-color-input{
    display:none;
}
.bs-filter-color-label{
    max-width:300px;
    display:flex;
    position:relative;
    align-items:center;
    margin:0;
}
.bs-filter-color-label::before{
    content:"";
    background: var(--attr-code);/*lo define el componente*/ 
    display:block;
    width:var(--filter-attr-color-size, 2rem);
    height:var(--filter-attr-color-size, 2rem);
    border-radius:var(--filter-attr-color-size, 2rem);
    position:relative;
    box-shadow: 0px 0px 0px 2px rgba(0,0,0,0.5) inset;
    margin-right:.5rem;
}

.bs-filter-color-input:checked+.bs-filter-color-label::after{
    content:"";
    width:1rem;
    height:1rem;
    display:block;
    position:absolute;
    bottom:0;
    left:1rem;
    background-image: var(--check-icon); 
    background-repeat: no-repeat;
    background-position:center center;
    background-color:var(--selected-color ,var(--primary-color, black));
    outline:2px solid white;
    border-radius:4px;
}