.assessmentPageWrap {
	min-height: 80vh;
	background: #fff;
}

.optionButtons.radioButtons.hasImages,
.variationWrap.hasImages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: 100%;

    @media (max-width: 480px) {
        grid-template-columns: 1fr;
    }

    .labelButton,
    .variationRow {
        padding: 0;
        width: 100%;
        position: relative;

        input[type='radio'],
        input[type='checkbox'] {
            position: absolute;
            opacity: 0;
            pointer-events: none;
            width: 1px;
            height: 1px;
            margin: 0;
        }

        input + label,
        input[type='radio'] + label,
        input[type='checkbox'] + label {
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            width: 100%;
            height: 116px;
            padding: 12px 44px 12px 16px !important;
            gap: 0;
            border: 0 !important;
            border-radius: 8px !important;
            background: var(--border_color_subtle, #f5f5f5);
            overflow: hidden;
            cursor: pointer;
            isolation: isolate;
            font-family: var(--primary_font);
            font-weight: 600;
            .rems(16);
            line-height: 1.4;
            color: var(--text_color);
            text-align: center;

            .hoverFX {
                display: none;
            }

            &:before {
                content: '' !important;
                display: block !important;
                position: absolute !important;
                inset: 0 !important;
                top: 0 !important;
                left: 0 !important;
                right: 0 !important;
                bottom: 0 !important;
                width: auto !important;
                height: auto !important;
                border: 1px solid var(--border_color) !important;
                border-radius: 8px !important;
                background: transparent !important;
                pointer-events: none;
                box-sizing: border-box !important;
                transition: border-color 0.15s ease, border-width 0.15s ease;
                z-index: 5;
            }

            &:after {
                content: '' !important;
                display: block !important;
                position: absolute !important;
                top: auto !important;
                left: auto !important;
                bottom: 16px !important;
                right: 16px !important;
                width: 16px !important;
                height: 16px !important;
                border-radius: 999px !important;
                background: #fff !important;
                border: 1px solid var(--border_color) !important;
                box-sizing: border-box !important;
                margin: 0 !important;
                opacity: 1 !important;
                transform: none !important;
                z-index: 10;
            }
        }

        input:checked + label {
            &:before {
                border: 2px solid var(--border_color_dark) !important;
            }

            &:after {
                border-color: var(--border_color_dark) !important;
                background: #fff
                    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.5L7 11.5L12 5.5' stroke='%231c1c1c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
                    center / 12px 12px no-repeat !important;
            }
        }

        &.hasImage {
            input + label,
            input[type='radio'] + label,
            input[type='checkbox'] + label {
                background: transparent !important;

                .variationImage {
                    display: block;
                    position: absolute;
                    inset: 0;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    z-index: 1;
                }
            }

            input:checked + label {
                background: transparent !important;
            }
        }
    }
}

.gpSearchWrap {

    padding: 0;

    .searchWrap {
        width: 100%;
        position: relative;

        .row {
            float: none;
            clear: both;
            margin: 0;
            padding: 0;
            position: relative;

            .searchIcon {
                position: absolute;
                top: 50%;
                right: 0;
                transform: translate(-50%, -50%);
                z-index: 3;
                display: flex;
                align-items: center;
                justify-content: center;
                width: 32px;
                height: 32px;
                color: var(--primary_color);
                background: transparent;
                transition: color 200ms linear;
                border: none;
                cursor: pointer;
                outline: 0 !important;

                &:hover {
                    color: var(--primary_color);
                    background: transparent;
                    border: none;
                    transition: color 200ms linear;
                }
            }

            .searchinput {
                &.showResults {
                    border-color: var(--primary_color) !important;
                    border-radius: var(--border_radius) var(--border_radius) 0 0 !important;
                    transition: all 200ms linear;
                }
            }
        }

        h5 {
            margin-bottom: 16px;
            .rems(18);
            line-height: 24px;

            &.searchingText {

                i {
                    margin-left: 8px;
                    color: var(--primary_color);
                    .rems(16);
                    line-height: 24px;
                }
            }
        }

        .searchResults {
            position: absolute;
            top: 100%;
            width: 100%;
            background: #fff;
            padding: 16px;
            z-index: 9999;
            overflow-y: scroll;
            height: 250px;
            border-radius: 0 0 var(--border_radius) var(--border_radius);
            border: 1.5px solid var(--primary_color);
            border-top: none;
            box-shadow: 0 8px 8px rgba(0,0,0,0.1);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: all 200ms linear;

            &.resultsVisible {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transition: all 200ms linear;
            }



            .productsResults {

                & > ul {
                    & > li {
                        margin-bottom: 8px;

                        @media @mobile {
                            margin-bottom: 0;
                        }

                        a {
                            color: var(--primary_color);
                            transition: color 200ms linear;
                            .rems(14);
                            line-height: 24px;
                            text-decoration: none;
                            font-weight: bold;


                            &:hover {
                                color: color-mix(in srgb, var(--primary_color), var(--darken_mixin_color) 10%);
                                transition: color 200ms linear;
                            }
                        }
                    }
                }
            }

        }
    }


    .searchInputFields {

        margin-top: 16px;

        .row {
            margin-bottom: 16px;
            float: none;
            clear: both;

            .inputWrap {
                float: none;
                clear: both;

                input, label {
                    float: none;
                    clear: both;
                }
            }

            &:before, &:after {
                display: none;
            }
        }

        .doctorSurgeryFields {

            label {
                color: transparent;
                transition: color 200ms linear;
            }

            .inputWrap {
                &:after {
                    color: transparent;
                    transition: color 200ms linear;
                }
            }

            &.fieldsDisabled {

                label {
                    color: color-mix(in srgb, var(--fade_mixin_color), var(--text_color) 40%);
                    transition: color 200ms linear;
                }

                .inputWrap {
                    &:after {
                        color: color-mix(in srgb, var(--fade_mixin_color), var(--text_color) 40%) !important;
                        transition: color 200ms linear;
                    }
                }

            }
        }
    }

}



.headerAssessment {

	position: relative;
	z-index: 9;
	float: none;
	clear: both;
	width: 100%;
	padding: 30px 0 44px;
	background: var(--light_color);

	@media @flyout {
		padding: 24px 0;
	}

	.headerGrid {
		display: flex;
		align-items: center;
		gap: 40px;
		width: 100%;

		@media @mobile {
			gap: 0;
		}

		.headerLeft {
			display: flex;
			align-items: center;
			flex: 0 0 200px;

			@media @mobile {
				display: none;
			}
		}

		.headerCenter {
			flex: 1 1 100%;
			display: flex;
			flex-direction: row;
			justify-content: center;
			align-items: center;
			padding-bottom: 77px;

			@media @flyout {
				padding-bottom: 0;
			}

			@media @mobile {
				justify-content: flex-start;
			}

			.logoTop {
				display: flex;
				justify-content: center;
				width: 100%;
				max-width: 103px;

				@media @mobile {
					justify-content: flex-start;
				}

				.logo {
					@media @mobile {
						justify-content: flex-start;
					}
				}
			}
		}

		.headerRight {
			display: flex;
			justify-content: flex-end;
			flex: 0 0 200px;

			@media @mobile {
				flex: 0 0 48px;
			}
		}

	}

	.progressWrap {
		padding: 30px 0 0;
		height: 77px;
		display: flex;
		justify-content: center;
		width: 426px;
		position: absolute;
		bottom: 45px;
		left: 50%;
		transform: translateX(-50%);

		@media @flyout {
			position: relative;
			bottom: auto;
			left: auto;
			transform: none;
			padding: 24px 0 0;
			width: 100%;
		}

	}


	.button:not(.basketButton) {
		margin: 0;
		padding: 12px 27px;

		&.buttonOutlined {
			.rems(16);
			font-weight: 500;
			line-height: normal;

		}
	}

	.basketButton {
		padding: 0;
		margin: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 48px;
		height: 48px;
		background: transparent !important;
		border: none !important;
		color: var(--text_color);
		transition: color 200ms linear;
		outline: 0;

		.totalQty {
			right: 3px;
			margin-bottom: -20px;
		}


		.svgIcon {
			width: 48px;
			height: 48px;
			display: flex;
			justify-content: center;
			align-items: center;
			position: relative;
			margin: 0;

			svg {
				width: 25px;
				height: 25px;
			}
		}


		&:hover, &:active, &:focus-visible {
			color: var(--primary_color);
			border: none;
			transition: color 200ms linear;
		}
	}



	.logo {
		float: none;
		clear: both;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 57px;
		display: flex;
		justify-content: center;
		align-items: center;

		.imageWrap {

			position: relative;
			height: 100%;
			width: 100%;

			img, svg {
				height: 100%;
				width: auto;
				max-height: 57px;
				min-height: 0;
				min-width: 0;
				max-width: none;
				position: absolute;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%);

				@media @flyout {
					max-height: 49px;
				}

			}
		}
	}

}
