/* =====================================
   LAC TRY ON MODAL
===================================== */


.lac-modal {

    position:fixed;

    inset:0;

    display:none;

    z-index:999999;

}




.lac-modal-overlay {

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.65);

    backdrop-filter:blur(5px);

}




/* Modal */

.lac-modal-content {


    position:relative;


    width:520px;

    max-width:90%;


    max-height:85vh;


    margin:60px auto;


    background:#fff;


    border-radius:20px;


    padding:35px;


    overflow:hidden;


    box-shadow:
    0 20px 60px rgba(0,0,0,.25);


    animation:lacPopup .3s ease;


}



@keyframes lacPopup {


from {

opacity:0;

transform:translateY(-30px);

}


to {

opacity:1;

transform:translateY(0);

}


}





/* Close Button */


.lac-modal-close {


position:absolute;


right:20px;


top:20px;



width:35px;


height:35px;



border-radius:50%;



border:none;



background:#111;



color:white;



font-size:22px;



cursor:pointer;


}






/* Title */


.lac-modal-content h2 {


font-size:32px;


margin:0 0 25px;


font-weight:600;


}







/* Scroll Area */


.lac-upload-area {


max-height:65vh;


overflow-y:auto;


padding-right:8px;


text-align:center;


}



.lac-upload-area::-webkit-scrollbar {


width:6px;


}



.lac-upload-area::-webkit-scrollbar-thumb {


background:#111;


border-radius:20px;


}







/* =====================================
   UPLOAD BOX
===================================== */


.lac-image-upload-box {


position:relative;


height:320px;


margin-bottom:25px;


}





.lac-image-upload-box input {


display:none;


}






.lac-image-upload-box label {


position:absolute;


inset:0;


display:flex;


align-items:center;


justify-content:center;


flex-direction:column;



border:2px dashed #bbb;



border-radius:18px;



background:#fafafa;



cursor:pointer;



transition:.3s;


}




.lac-image-upload-box label:hover {


border-color:#111;


background:#f5f5f5;


}







/* Placeholder */


.lac-upload-placeholder {


text-align:center;


}





.lac-upload-icon {


width:55px;


height:55px;



background:#111;



color:#fff;



border-radius:50%;



display:flex;



align-items:center;



justify-content:center;



font-size:32px;



margin:0 auto 15px;


}





.lac-image-upload-box h3 {


font-size:18px;


margin:5px;


}




.lac-image-upload-box p {


font-size:14px;


color:#777;


}



.lac-image-upload-box span {


font-size:12px;


color:#999;


}







/* =====================================
   IMAGE PREVIEW INSIDE BOX
===================================== */


#lac-image-preview {


position:absolute;


inset:0;


display:flex;


align-items:center;


justify-content:center;



pointer-events:none;


}




.lac-preview-inside {


width:100%;


height:100%;



display:flex;



flex-direction:column;



align-items:center;



justify-content:center;



pointer-events:auto;


}





.lac-preview-image {



width:260px !important;



height:240px !important;



object-fit:contain !important;



border-radius:15px;



box-shadow:
0 10px 30px rgba(0,0,0,.15);


}






/* Change Photo */


.lac-change-image {


margin-top:12px;


padding:9px 25px;



border-radius:30px;



border:none;



background:#111;



color:#fff;



font-size:13px;



cursor:pointer;


}



.lac-change-image:hover {


background:#333;


}







/* =====================================
   GENERATE BUTTON
===================================== */


.lac-generate-tryon {


width:100%;



padding:16px;



border-radius:12px;



background:#111;



color:white;



border:none;



font-size:16px;



font-weight:600;



cursor:pointer;



transition:.3s;


}



.lac-generate-tryon:hover {


background:#333;


}







/* =====================================
   PRODUCT TRY ON BUTTON
===================================== */


.lac-tryon-button {



width:100%;



margin-top:15px;



padding:15px 25px;



border-radius:12px;



background:#111;



color:#fff;



border:none;



font-size:16px;



font-weight:600;



letter-spacing:1px;



text-transform:uppercase;



cursor:pointer;



transition:.3s;


}




.lac-tryon-button:hover {


background:#333;


transform:translateY(-2px);


}







/* Customizer Button */


.lac-customizer-button {


width:100%;


margin-top:12px;


padding:15px;



border-radius:12px;



background:#fff;



color:#111;



border:1px solid #111;



font-weight:600;


}

/* =====================================
   LAC JACKET CUSTOMIZER
===================================== */


.lac-customizer-box {


    margin-top:20px;

    padding:25px;

    border:1px solid #ddd;

    border-radius:15px;

    background:#fff;

}




/* Upload Area */


.lac-custom-upload {


    position:relative;

    height:250px;

    margin-bottom:25px;

}



.lac-custom-upload input {


    display:none;

}



.lac-custom-upload label {


    position:absolute;

    inset:0;


    border:2px dashed #aaa;

    border-radius:15px;


    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;


    cursor:pointer;


    background:#fafafa;


}



.lac-custom-upload label:hover {


    border-color:#111;

}




.lac-custom-upload .lac-upload-icon {


    width:55px;

    height:55px;


    border-radius:50%;


    background:#111;


    color:white;


    display:flex;


    align-items:center;


    justify-content:center;


    font-size:30px;


}




.lac-custom-upload h3 {


    margin:15px 0 5px;

    font-size:20px;


}



.lac-custom-upload p {


    color:#777;


}




/* Preview */


#lac-jacket-preview img {


    max-width:180px;


    max-height:180px;


    object-fit:contain;


    border-radius:12px;


}






/* Options */


.lac-custom-options {


    margin-top:20px;


}




.lac-custom-options h3 {


    margin-bottom:20px;


}





.lac-custom-options label {


    display:block;


    margin-top:15px;


    margin-bottom:8px;


    font-weight:600;


}





.lac-custom-options select {


    width:100%;


    padding:12px;


    border-radius:8px;


    border:1px solid #ccc;


    background:white;


}





/* Add Button */


.lac-add-custom-cart {


    width:100%;


    margin-top:25px;


    padding:15px;


    background:#111;


    color:#fff;


    border:none;


    border-radius:10px;


    font-weight:600;


    cursor:pointer;


}



.lac-add-custom-cart:hover {


    background:#333;


}

/* CUSTOMIZER IMAGE PREVIEW */


#lac-jacket-preview {

position:absolute;

inset:0;

display:flex;

align-items:center;

justify-content:center;

pointer-events:none;

}



.lac-design-preview {

display:flex;

flex-direction:column;

align-items:center;

pointer-events:auto;

}



.lac-design-preview img {


max-width:180px;


max-height:180px;


object-fit:contain;


border-radius:12px;


}




.lac-change-design {


margin-top:15px;


padding:8px 25px;


border-radius:20px;


background:#111;


color:white;


border:none;


cursor:pointer;


}

.lac-price-box {


margin-top:25px;


padding:20px;


border-radius:12px;


background:#f8f8f8;


}


.lac-price-row {


display:flex;


justify-content:space-between;


font-size:16px;


margin-bottom:15px;


}



.lac-price-row.total {


border-top:1px solid #ddd;


padding-top:15px;


font-size:20px;


font-weight:700;


}

.lac-option-grid {

    display:flex;

    gap:15px;

    flex-wrap:wrap;

}



.lac-option-card {

    width:120px;

    border:1px solid #ddd;

    border-radius:12px;

    padding:10px;

    text-align:center;

    cursor:pointer;

}



.lac-option-image {

    width:100px !important;

    height:100px !important;

    object-fit:cover !important;

    border-radius:10px;

}



.lac-option-card h5 {

    font-size:14px;

    margin:8px 0;

}



.lac-option-card.active {

    border:2px solid #111;

}  