/* ===== Lens Options ===== */

.cl-lens-options-wrap{
    margin:20px 0;
}

.cl-lens-options-title{
    display:none;
}

/* Same spacing as checkout fields */
.cl-lens-option-field{
    margin-bottom:24px;
}

.cl-option-label{
    display:block;
    margin:0 0 8px;

    font-family:Arial,sans-serif;

    font-size:var(--cl-option-label-size) !important;

    font-weight:var(--cl-option-label-weight) !important;

    color:var(--cl-option-label-color) !important;

    line-height:1.4;
}

/* Required star */
.cl-required{
    color:#dc2626;
    margin-left:4px;
}

/* Options container */
.cl-option-inputs{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:8px;
}

/* Radio option */
.cl-option-card{

    display:flex !important;

    flex-direction:row !important;

    align-items:center !important;

    justify-content:flex-start !important;

    gap:10px;

    width:auto;

    min-width:140px;

    min-height:var(--cl-option-card-height);

    padding:
    var(--cl-option-card-padding-y)
    var(--cl-option-card-padding-x);

border:2px solid var(--cl-option-card-border);

border-radius:var(--cl-option-card-radius);

background:var(--cl-option-card-bg);

    cursor:pointer;

    transition:.25s ease;

    box-sizing:border-box;

}

.cl-option-card:hover{

    border-color:var(--cl-option-hover-border);

    background:var(--cl-option-hover-bg);

    transform:translateY(-2px);

}

/* Radio */

.cl-option-radio{

    width:18px;
    height:18px;

    margin:0;

    flex:0 0 18px;

    accent-color:var(--cl-button-bg);

}


/* Validation message */
.cl-option-error{
    display:none;
    margin-top:8px;
    color:#dc2626;
    font-size:15px;
    font-weight:600;
}

/* Mobile */
@media (max-width:768px){

    .cl-option-inputs{

        display:flex;

        flex-direction:row;

        flex-wrap:wrap;

        gap:8px;

    }

    .cl-option-card{

        width:auto;

        min-width:120px;

        max-width:100%;

        flex:0 0 auto;

        padding:
            var(--cl-option-card-padding-y)
            var(--cl-option-card-padding-x);

    }

}


/* Selected Card */


.cl-option-card.is-selected{

    border-color:var(--cl-option-selected-border);

    background:var(--cl-option-selected-bg);

    box-shadow:0 6px 18px rgba(255,122,0,.18);

}

.cl-option-card.is-selected .cl-option-text{

    font-weight:700;

    color:var(--cl-option-selected-text);

}

.cl-option-left{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:6px;
}


.cl-option-text{
    display:block;
    flex:1;

    font-family:Arial,sans-serif;
    font-size:var(--cl-option-value-size);

    font-weight:var(--cl-option-value-weight);

    color:var(--cl-option-value-color);


    line-height:1.3;

    white-space:normal;
    overflow:visible;
}

/* ===== Select ===== */

.cl-option-select{

    width:100%;

    min-height:48px;

    padding:12px 14px;

    border:2px solid var(--cl-option-card-border);

    border-radius:var(--cl-option-card-radius);

    background:var(--cl-option-card-bg);

    font-family:Arial,sans-serif;

    font-size:var(--cl-option-value-size);

    font-weight:var(--cl-option-value-weight);

    color:var(--cl-option-value-color);

    box-sizing:border-box;

    outline:none;

    appearance:none;

    transition:.25s ease;

}

.cl-option-select:hover{

    border-color:var(--cl-option-hover-border);

}

.cl-option-select:focus{

    border-color:var(--cl-option-selected-border);

    background:var(--cl-option-selected-bg);

}

/* ===== Color Option ===== */

.cl-color-card{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    width:52px;

    height:52px;

    padding:0;

    margin:0;

    border:4px solid transparent;

    border-radius:50%;

    cursor:pointer;

    transition:.2s ease;

    box-sizing:border-box;

    overflow:hidden;

}

.cl-color-card:hover{

    border:4px solid #ff8a00;

}

.cl-color-card input{

    position:absolute;

    inset:0;

    width:100% !important;

    height:100% !important;

    margin:0;

    opacity:0;

    cursor:pointer;

}

.cl-color-swatch{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    width:40px;

    height:40px;

    border-radius:50%;

    border:1px solid rgba(0,0,0,.15);

    box-sizing:border-box;

}

.cl-color-card.is-selected{

    border:4px solid #ff8a00;

}

/* ===== Selected Color Text ===== */

.cl-color-selected{

    margin-top:12px;

    font-size:15px;

    font-weight:600;

    color:#333;

}

.cl-color-selected strong{

    color:#000;

}

/* ===== Custom Color Tooltip ===== */


.cl-color-tooltip{

    position:absolute;

    bottom:calc(100% + 10px);

    left:50%;

    transform:translateX(-50%) scale(.9);

    background:#111;

    color:#fff;

    font-size:12px;

    padding:6px 10px;

    border-radius:6px;

    white-space:nowrap;

    opacity:0;

    visibility:hidden;

    transition:.18s;

    pointer-events:none;

    z-index:99;

}

.cl-color-tooltip::after{

    content:"";

    position:absolute;

    top:100%;

    left:50%;

    transform:translateX(-50%);

    border:6px solid transparent;

    border-top-color:#111;

}

.cl-color-card:hover .cl-color-tooltip{

    opacity:1;

    visibility:visible;

    transform:translateX(-50%) scale(1);

}

.cl-color-card.is-selected:hover .cl-color-tooltip{

    opacity:0;

    visibility:hidden;

}

/* Check Icon */

.cl-color-check{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%) scale(.6);

    color:#fff;

    font-size:16px;

    font-weight:700;

    line-height:1;

    opacity:0;

    transition:.2s ease;

    pointer-events:none;

    z-index:10;

}

/* Selected */

.cl-color-card.is-selected .cl-color-check{

    opacity:1;

    transform:translate(-50%,-50%) scale(1);

}