#pg_widget {

    margin-bottom: 10px;

    .pg-step.hidden {
        display: none;
    }

    .pg-step.active {
        display: grid !important;
    }

    .pg-option-wrapper {

        margin-bottom: 20px;

        .label-option {
            font-weight: bold;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            z-index: 1;
        }

        .info-circle {
            display: inline-block;
            width: 20px;
            height: 20px;
            line-height: 20px;
            background-color: black;
            border-radius: 50%;
            position: relative;
            margin-left: 5px;

            &:before {
                content: "i";
                font-family: Arial, sans-serif;
                font-size: 12px;
                color: #fff; /* Text color, you can change it as needed */
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }
        }

        [data-tooltip] {
            position: relative;
            z-index: 10;
        }

        /* Positioning and visibility settings of the tooltip */
        [data-tooltip]:before,
        [data-tooltip]:after {
            position: absolute;
            visibility: hidden;
            opacity: 0;
            pointer-events: none;
            transition: 0.2s;
            will-change: transform;
            left: 0;
            right: calc(100%);
            bottom: 50%;
        }

        /* The actual tooltip with a dynamic width */
        [data-tooltip]:before {
            content: attr(data-tooltip);
            padding: 10px 18px;
            min-width: 50px;
            max-width: 300px;
            width: max-content;
            width: -moz-max-content;
            border-radius: 6px;
            font-size: 14px;
            background-color: rgba(59, 72, 80, 0.9);
            background-image: linear-gradient(30deg,
                rgba(59, 72, 80, 0.44),
                rgba(59, 68, 75, 0.44),
                rgba(60, 82, 88, 0.44));
            box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
            color: #fff;
            text-align: center;
            white-space: pre-wrap;
            transform: translate(0px, 50%) scale(0.5);
        }

        /* Tooltip becomes visible at hover */
        [data-tooltip]:hover:before,
        [data-tooltip]:hover:after {
            visibility: visible;
            opacity: 1;
        }

        /* Scales from 0.5 to 1 -> grow effect */
        [data-tooltip]:hover:before {
            transition-delay: 0.3s;
            transform: translate(0px, calc(50% - 30px)) scale(1);
        }

        [data-tooltip]:hover:after {
            transition-delay: 0.5s; /* Starting after the grow effect */
            transition-duration: 0.2s;
            transform: translateX(-50%) scaleY(1);
        }
    }

    .price-impact-badge {
        display: inline-block;
        padding: 4px;
        color: black;
        border-radius: 5px;
        background-color: rgba(59, 72, 80, 0.13);
        font-size:0.7rem;
    }

    .pg-option-dropdown {
        select {
            background-color: white;
        }
    }

    .pg-option-checkboxes, .pg-option-radio {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;

        @media only screen and (max-width: 900px) {
            display: block;
        }

        .pg-option-value-wrapper {
            display: flex;
            align-items: center;

            @media only screen and (max-width: 900px) {
                margin-bottom: 5px;
            }

            label {
                line-height: 20px;
                position: relative;
                top: 4px;
                text-align: left;
                margin-left: 5px;
            }

            input[type="checkbox"], input[type="radio"] {
                width: 20px;
                height: 20px;
                line-height: 20px;
            }
        }
    }

    .pg-option-images {
        .pg-option {
            span {
                display: block;
            }
        }

        .pg-option.selected {
        }
    }

    .pg-option-images {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;

        .pg-image {
            width: 100px;
            text-align: center;

            img {
                position: relative;
                transition: transform 0.5s;
                z-index: 10;
                cursor: zoom-in;
                box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
                border: 2px solid #fff;
                max-width: 100%;
                max-height: 70px;
            }

            img.active {
                transform: scale(4);
                box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
                z-index: 100;
            }
        }


        .actions {
            padding: 10px 0;
            text-align: center;

            label {
                text-align: center;
            }

            input[type='radio'] {
                height: 16px;
                width: 16px;
            }
        }
    }

    .pg-option-colors {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;

        .pg-option-color-wrapper {
            width: 80px;
            .pg-color {
                text-align: center;
            }

            .pg-color.selected {
                .swatch {
                    border: 2px solid black;
                }
                .text {
                    font-weight: bold;
                }
            }
        }

        .swatch {
            border-radius: 50%;
            display: block;
            height: 40px;
            width: 40px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
            border: 2px solid #fff;
            margin:0 auto;
        }
    }

    .pg-option-textbox {
        textarea {
            background-color: white;
        }
    }

    .pg-option-date {
        input {
            background-color: white;
        }
    }

    .pg-option-file {
        .pg-file-uploaded {
            color:#222;
            border:1px solid #777;
            background-color: white;
            padding: 10px;
            border-radius: 4px;
            display: grid;
            grid-template-columns: auto 30px;

            .pg-file-delete {
                font-size: 20px;
                cursor: pointer;
            }
        }

        .pg-file-upload-error {
            background-color: #f8d7da;
            color: #721c24;
            padding: 10px;
            border-radius: 4px;
            border:1px solid #721c24;
        }
    }
}

.pg-hidden {
    display: none;
}

/* Prescription Glasses  */

.pg-configurator {

    dialog {
        position: fixed;
        top: 0px;
        left: 0;
        z-index: 999;
        width: 100vw;
        height: 100vh;
        max-width: none;
        max-height: none;
        overflow: hidden;
        padding: 0;
        margin: 0;
        border: none;


        .configurator-wrapper {
            width: 100%;
            height: 100%;
            display: grid;
            grid-template-columns: 50% 50%;
        }

        .pg-panel {
            display: grid;
            grid-template-rows: 60px auto 100px;
        }

        .pg-panel-image {
            grid-template-rows: 60px 1fr 1fr;

            .pg-panel-header {
                padding: 20px;
            }

            .pg-panel-body {
                text-align: center;

                img {
                    height: 400px;
                    max-height: 100%;
                }
            }

            .pg-panel-footer {
                text-align: center;

                .product-name {
                    padding: 40px 0;
                    font-size: 20px;
                    font-weight: bold;
                }

                .product-description {
                    padding: 0 0 40px 0;
                    font-size: 16px;
                }
            }
        }

        .pg-option-wrapper.active {
            .label-option {
                opacity: 1 !important;
            }
        }

        .options-wrapper {
            overflow-y: auto;
            background-color: #f7f8f9;
            padding: 0 80px 40px 80px;

            .label-option {
                font-weight: bold;
                display: block !important;
                margin: 0 0 10px 0 !important;
            }

            .option-hint {
                margin: 0;
                font-size: 14px;
            }
        }

        .options-no-steps {
            .label-option, .option-hint {
                margin-bottom: 10px !important;
            }
        }

        .image-large {
            background-size: contain;
            background-repeat: no-repeat;
        }

        .pg-option-images {

            .pg-image {
                width: 200px !important;
            }

            .pg-image-wrapper {
                img {
                    height: 200px !important;
                    max-height: 200px !important;
                    width: auto !important;
                }
            }
        }

        .btn-pg-configurator-continue {
            width: 100%;
            margin-top: 20px;
        }

        .pg-panel.options-wrapper {
            display: grid;
            grid-template-rows: 100%;

            .pg-steps {
                display: grid;
                grid-template-rows: 60px auto 100px;
                height: 100%;

                .btn-pg-configurator-previous {
                    line-height: 60px;
                    font-size: 14px;
                    cursor: pointer;
                }

                .pg-step-title {
                    font-size: 18px;
                    font-weight: bold;
                    margin-bottom: 20px;
                }

                .pg-step-body {
                    overflow-y: auto;
                    overflow-x: hidden;
                }

                .pg-step-footer {
                    text-align: center;
                }
            }
        }
    }

    .pg-steps[data-step-current-type='lens_type'] {
        .btn-pg-configurator-continue {
            display: none !important;
        }
    }

    .pg-lens-type, .pg-lens-package, .pg-btn-jumbo, .btn-file-upload {
        padding: 24px 32px 24px 24px;
        border-radius: 8px;
        background-color: white;
        box-shadow: 3px 4px 8px 0 rgba(0, 0, 0, 0.06);
        cursor: pointer;
        border: 1px solid white;
        margin-bottom: 20px;
        display: grid;
        grid-template-columns: 100px 1fr;

        .title {
            font-weight: bold;
            margin-bottom: 10px;
            display: inline-block;
        }

        &:hover {
            border: 1px solid #699DFF;
            background-color: rgba(105, 157, 255, 0.05);
        }
    }

    .btn-file-upload {
        color: rgba(0, 0, 0, 0.7) !important;
        text-align: center;
        display: block;
    }


    .pg-prescription-main {
        border-bottom: 1px solid rgba(0,0,0,0.2);
        padding-bottom: 30px;
        margin-bottom: 30px;

        table {
            width: 80%;

            th, td {
                padding: 10px;
            }

            select {
                width: 100%;
                height: 30px;
                line-height: 30px;
                border: 1px solid rgba(0, 0, 0, 0.2);
                font-size: 13px;
            }

            .disabled {
                pointer-events: none;
                opacity: 0.5;
            }
        }

        .checkbox-container {
            input[type="checkbox"] {
                width: 17px;
                height: 17px;
            }

            label {
                height: 16px;
                line-height: 16px;
                position: relative;
                top: -4px;
            }
        }
    }

    .pg-check-add-prism-wrapper {

        table {
            width: 80%;

            th, td {
                padding: 10px;
            }

            select {
                width: 100%;
                height: 30px;
                line-height: 30px;
                border: 1px solid rgba(0, 0, 0, 0.2);
                font-size: 13px;
            }
        }
    }
}

.cart-options {
    margin-top: 20px;

    * {
        font-weight: normal;
        font-size: 14px;
        line-height: 20px;
        color: black;
    }

    .main-fields {
        margin-top: 20px;
    }

    table {

        th, td {
            padding: 8px;
        }

        tr:nth-child(odd) {
            background-color: #f4fbfd;
        }
    }
}

.page-order-detail {
    .product-prescription {
        border-bottom: 1px solid rgba(0,0,0, 0.2);
        padding-bottom: 20px;
        margin-bottom: 10px;

        table {
            width: 80%;
        }
    }
}

/* Mobile */
@media only screen and (max-width: 900px) {
    .pg-configurator {

       .configurator-wrapper {
            grid-template-columns: 100% !important;
            grid-template-rows: 100%;

            .pg-panel-image {
                display: none;
            }

            .options-wrapper {
                padding: 0 20px 20px 20px;
            }

            .pg-lens-type {
                grid-template-columns: 60px 1fr !important;
                padding: 16px 16px 16px 16px;

                img {
                    width: 40px !important;
                }
            }
        }
    }
}

.prescription-table, .prescription-pd.single {
    select {
        padding-top: 6px;
        padding-bottom: 6px;
        line-height: 18px;
        border: 1px solid rgba(0, 0, 0, .2);
        border-radius: 4px;
        box-shadow: none;
    }
}

.prescription-table {
    display: grid;
    grid-template-columns: 100px repeat(4, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 10px;

    .label {
        text-align: left;
    }

    .power-wrapper {
        select {
            width: 100%;
        }
    }

    .disabled {
        opacity: 0.6;
        pointer-events: none;
    }

    .bold {
        font-weight: bold;
    }
}

@media only screen and (max-width: 900px) {
    .prescription-table {
        * {
            font-size: 12px;
        }

        grid-template-columns: repeat(3, 1fr);

        .empty, .label {
            display: none;
        }

        .power-wrapper.add {
            display: none;
        }

        .eye {
            grid-column: span 3;
            font-size: 14px;
        }

        .power-wrapper {
            label {
                display: block;
                text-align: left;
            }
        }
    }

    .prescription-table.with_add {
        grid-template-columns: 50% 50%;
        grid-template-rows: repeat(3, auto);

        .eye {
            grid-column: span 2;
        }

        .power-wrapper.add {
            display: block;
        }
    }
}

.pd-field {
    label {
        color: rgba(0, 0, 0, 0.5);
        font-size: 11px;
        margin-bottom: 2px;
    }
}

.prescription-pd {
    display: grid;
    gap: 10px;
    margin-top: 20px;

    div {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .pd-checkbox-wrapper {
        .inner {
            display: block;
            line-height: 40px;
        }
    }
}

.prescription-pd.single {
    grid-template-columns: 100px 100px 1fr;

    .pd-left, .pd-right {
        display: none;
    }

    .pd-single {
        display: table-cell;
    }
}

.prescription-pd.double {
    grid-template-columns: 100px 100px 100px 1fr;

    .pd-left, .pd-right {
        display: block;
    }

    .pd-single {
        display: none;
    }
}

@media only screen and (max-width: 900px) {
    .pd-checkbox-wrapper {
        grid-row: 1;
        grid-column: 2;
    }

    .prescription-pd {
        grid-template-columns: 50% 50% !important;
    }

    .pd-checkbox-wrapper {
        flex-direction: column;
        align-items: flex-end;
    }
}

.pg-prescription-prism {
    @media only screen and (max-width: 900px) {
        .prescription-table {
            grid-template-columns: 50% 50%;

            .eye {
                grid-column: span 2;
            }
        }
    }
}