.pdm-rx {
	--pdm-accent: #d32f13;
	--pdm-accent-dark: #8e1f0c;
	--pdm-accent-soft: #fff7f5;
	--pdm-border: #e5e7eb;
	--pdm-border-strong: #d1d5db;
	--pdm-text-muted: #4b5563;
	--pdm-field-bg: #f3f4f6;
	--pdm-surface: #fff;
	--pdm-radius: .375rem;
	margin: 0;
	border-radius: var(--pdm-radius);
	color: #202020;
	background: #fff;
	line-height: 1.5;
	padding: 1rem;
	width: 100%;
}

#pdm-btn-container{width: 100% !important;border-top: 1px solid #EEE;padding: 1.5rem 1rem 1rem !important;}
#pdm-btn-container .quantity{max-width: auto !important;}
#pdm-btn-container .quantity,
#pdm-btn-container button{width: 100%;}
@media screen and (min-width: 1024px){
	#pdm-btn-container .quantity{width: 30%}
	#pdm-btn-container button{width: 70%;}
}

#gf_debug_wrapper{display: none !important;}

.pdm-rx *, .pdm-rx *::before, .pdm-rx *::after{box-sizing: border-box;}
.pdm-rx h3, .pdm-rx h4, .pdm-rx h5{line-height: 1.3;}
.pdm-rx h3, .pdm-rx h4{ margin: 0 0 0.5rem;}
.pdm-rx a{color: var(--pdm-accent);font-weight: 500;}
.pdm-rx a:hover, .pdm-rx a:focus{color: var(--pdm-accent-dark);}

.pdm-lens-options{
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.pdm-lens-options legend{
	margin-bottom: 1rem;
	padding: 0;
	font-size: 1rem;
	font-weight: 700;
}

.pdm-lens-options label{
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 1rem;
	min-height: 52px;
	margin: 0;
	padding: .75rem 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: #fff;
	cursor: pointer;
	transition: border-color .15s, box-shadow .15s, background .15s;
	font-size: 15px;
}

.pdm-lens-options label:hover{border-color: var(--pdm-accent);background: var(--pdm-field-bg);}

.pdm-lens-options label:has(input:checked) {
	border-color: var(--pdm-accent);
	background: var(--pdm-accent-soft);
	box-shadow: 0 0 0 2px rgba(211,47,19,.12);
}

.pdm-lens-options input {
	width: 19px;
	height: 19px;
	margin: 0;
	accent-color: var(--pdm-accent);
}

.pdm-lens-options span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.pdm-lens-options small {
	flex: 0 0 auto;
	color: #333;
	font-size: .95rem;
}

.pdm-lens-options input:focus-visible { outline: 2px solid var(--pdm-accent); outline-offset: 4px; }
.pdm-lens-help{margin: .85rem 0 0;text-align: center;}

.pdm-option-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: .5rem;
	margin: 1.25rem 0 0;
	padding: 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: #fff;
}
.pdm-option-list:first-child, .pdm-purge-option{margin-top: 0;}
.pdm-purge-option{margin-bottom: 1.25rem;}
.pdm-option-list legend{padding: 0 .45rem;color: var(--pdm-accent);font-weight: 700;text-align: center;}
.pdm-option-list label{display: grid;grid-template-columns: auto minmax(0,1fr) auto;align-items: center;gap: .65rem;padding: .6rem .7rem;border: 1px solid var(--pdm-border);border-radius: var(--pdm-radius);background: var(--pdm-field-bg);cursor: pointer;}
.pdm-option-list label:hover{border-color: var(--pdm-accent);}
.pdm-option-list label:has(input:checked){border-color: var(--pdm-accent);background: var(--pdm-accent-soft);box-shadow: 0 0 0 2px rgba(211,47,19,.1);}
.pdm-option-list input{width: 18px;height: 18px;margin: 0;accent-color: var(--pdm-accent);}
.pdm-option-list small{font-weight: 700;white-space: nowrap;}
.pdm-sports-configurator > .pdm-option-list{margin-top: 1.5rem;}
.pdm-sports-configurator > .pdm-option-list:first-child{margin-top: 0;}
.pdm-rx-sports .pdm-full{display: flex;}
.pdm-rx-sports .pdm-sports-eyes{margin-bottom: 1.5rem;}

.pdm-panel, .pdm-purpose {
	margin-top: 1.5rem;
	padding: 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: var(--pdm-surface);
}

.pdm-panel[hidden], .pdm-purpose[hidden], .pdm-summary[hidden],
.pdm-field[hidden], [data-pdm-eyes][hidden], [data-pdm-upload][hidden],
.pdm-no-upload-warning[hidden], .pdm-prism-base[hidden],
.pdm-prism-summary[hidden] { display: none !important; }

.pdm-panel > label:not(.pdm-field) { display: block; margin: .75rem 0; }

.pdm-help{
	margin: .35rem 0 1.25rem;
	color: var(--pdm-text-muted);
	font-weight: 400;
	font-size: 15px;
}

.pdm-photo-choice {
	margin: 1.5rem 0 0;
	padding: 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: #fff;
}

.pdm-photo-choice legend, .pdm-eye legend, .pdm-purpose legend{
	padding: 0 .45rem;
	font-weight: 700;
	text-align: center;
	color: #D32F13;
}

.pdm-photo-choice label {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	margin: 0;
	padding: .65rem .1rem;
	font-size: 15px;
}

.pdm-photo-choice input, .pdm-services input, .pdm-purpose input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: .15rem 0 0;
	accent-color: var(--pdm-accent);
}

.pdm-photo-choice .pdm-help { margin: .8rem 0 0; }

[data-pdm-upload] {
	margin-top: 1.25rem;
	padding: 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: #f9fafb;
}

.pdm-no-upload-warning {
	margin: 1.25rem 0 0;
	padding: 1rem 1.1rem;
	border: 0;
	border-left: 4px solid #d89b1d;
	border-radius: 0 var(--pdm-radius) var(--pdm-radius) 0;
	background: #fff8e7;
	font-weight: 600;
}

.pdm-no-prescription { font-weight: 600; }

.pdm-services label {
	display: flex;
	align-items: flex-start;
	gap: .7rem;
	margin: .65rem 0;
	padding: .65rem .75rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: #fff;
}

.pdm-services label:hover{background: var(--pdm-field-bg);}

.pdm-services .pdm-help { margin: .85rem 0 0; font-size: .92rem; }
.pdm-services .pdm-help + .pdm-help { margin-top: .35rem; }

.pdm-field {
	display: flex;
	flex-direction: column;
	gap: .45rem;
	margin: 0 0 1rem;
	font-weight: 600;
}

.pdm-field select, .pdm-field input[type=file]{
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	box-sizing: border-box;
}

.pdm-field input[type=file] {
	padding: .65rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: var(--pdm-field-bg);
}

.pdm-field input[type=file]::file-selector-button {
	margin-right: .8rem;
	padding: .55rem .8rem;
	border: 0;
	border-radius: var(--pdm-radius);
	color: #fff;
	background: var(--pdm-accent);
	cursor: pointer;
}

.pdm-field input[type=file]::file-selector-button:hover { background: var(--pdm-accent-dark); }

.pdm-field select {
	appearance: none;
	-webkit-appearance: none;
	padding: .75rem 3rem .75rem .9rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	color: #202020;
	background-color: var(--pdm-field-bg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath fill='%23D32F13' d='M4.2 7.2a1 1 0 0 1 1.4 0L10 11.6l4.4-4.4a1 1 0 1 1 1.4 1.4l-5.1 5.1a1 1 0 0 1-1.4 0L4.2 8.6a1 1 0 0 1 0-1.4Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .9rem center;
	background-size: 18px;
	cursor: pointer;
	font-size: 0.875rem;
}

.pdm-field select:hover { border-color: var(--pdm-accent); }

.pdm-field select:focus {
	border-color: var(--pdm-accent);
	outline: 2px solid rgba(211,47,19,.14);
	outline-offset: 0;
}

.pdm-field small { color: var(--pdm-text-muted); font-weight: 400; }

.pdm-eyes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.pdm-eye {
	min-width: 0;
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: #fff;
}

.pdm-no-rx{display: flex;align-items: flex-start;gap: .55rem;margin-bottom: 0.5rem;font-size: 15px;}
.pdm-no-rx input{flex: 0 0 auto; margin-top: .2rem;}
.pdm-reader-note{ display: none;}
.pdm-kind-reader .pdm-reader-note{display: block;}
.pdm-pd-help{grid-column: 1 / -1; margin: -.55rem 0 .25rem;}
.pdm-eye-disabled .pdm-eye-fields{opacity: .45;}

.pdm-prism-base{margin: -.1rem 0 1rem;padding: .75rem;border: 1px solid var(--pdm-border);border-radius: var(--pdm-radius);background: #fff;}
.pdm-prism-base legend{padding: 0 .3rem; font-size: .9rem;}
.pdm-prism-base label{display: inline-flex;align-items: center;gap: .3rem;margin: .25rem .8rem .25rem 0;font-weight: 500;font-size: 0.875rem;}

.pdm-prism-summary {
	grid-column: 1 / -1;
	margin-top: .25rem;
	padding: 1rem 1.2rem;
	border: 1px solid #e0a72f;
	border-radius: 9px;
	color: #382700;
	text-align: center;
	background: #fff8e7;
	box-shadow: 0 2px 7px rgba(56,39,0,.06);
}

.pdm-prism-summary strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: .35rem;
	font-size: 1.05rem;
}

.pdm-prism-summary [data-pdm-prism-value] {
	display: inline-block;
	min-width: 2.2rem;
	padding: .15rem .5rem;
	border-radius: 5px;
	color: #fff;
	background: #765300;
}

.pdm-prism-summary .pdm-prism-cost, .pdm-prism-summary [data-pdm-prism-price] { color: #c62828; }
.pdm-reader, .pdm-full, .pdm-bifocal { display: none; }
.pdm-kind-reader .pdm-reader, .pdm-kind-full .pdm-full,
.pdm-kind-bifocal .pdm-full, .pdm-kind-bifocal .pdm-bifocal { display: flex; }

.pdm-purpose { padding-bottom: 1.25rem; }

.pdm-purpose label {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: .5rem 1rem .1rem 0;
	padding: 0;
}

.pdm-purpose input { margin-top: 0; }

.pdm-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0;
	margin-top: 2rem;
	padding: 1rem;
	border: 1px solid var(--pdm-border);
	border-radius: var(--pdm-radius);
	background: var(--pdm-field-bg);
}

.pdm-summary span, .pdm-summary strong {
	padding: .55rem 0;
	border-bottom: 1px solid var(--pdm-border);
}

.pdm-summary span:nth-last-of-type(1), .pdm-summary strong:last-child {
	padding-top: .8rem;
	border-bottom: 0;
	font-size: 1.08rem;
}

.pdm-summary strong { padding-left: 1.5rem; text-align: right; }

@media (max-width: 700px) {
	.pdm-rx{margin: 0 0 1.5rem;}
	.pdm-panel, .pdm-purpose { margin-top: 1.5rem; padding: 1.1rem; }
	.pdm-eyes { grid-template-columns: 1fr; gap: 1rem; }
	.pdm-eye, .pdm-photo-choice, [data-pdm-upload] { padding: 1rem; }
	.pdm-lens-options label { gap: .75rem; padding: .9rem; }
	.pdm-lens-options span { align-items: flex-start; flex-direction: column; gap: .2rem; }
	.pdm-purpose label { display: flex; width: 100%; margin-right: 0; }
	.pdm-summary { padding: 1rem; }
	.pdm-summary strong { padding-left: .75rem; }
}
