.woocommerce-account,
.olune-page,
.olune-login-shell {
	--olune-navy: #020F30;
	--olune-navy-2: #0A1838;
	--olune-gold: #C9A96E;
	--olune-gold-soft: #F3E5C4;
	--olune-green: #2F714D;
	--olune-red: #9D2F27;
	--olune-blue: #2F5E9E;
	--olune-bg: #F7F5EF;
	--olune-card: #FFFFFF;
	--olune-line: #DCD8CF;
	--olune-line-soft: #EEEAE2;
	--olune-ink: #06132E;
	--olune-muted: #6B7280;
	color: var(--olune-ink);
	font-family: Helvetica, Arial, sans-serif;
}

.woocommerce-account .entry-content,
.woocommerce-account .site-content {
	color: var(--olune-ink);
	font-family: Helvetica, Arial, sans-serif;
}

body.logged-in.woocommerce-account .site-content .ast-container,
body.logged-in.woocommerce-account .content-area,
body.logged-in.woocommerce-account .entry-content,
body.logged-in.woocommerce-account .woocommerce {
	max-width: none !important;
}

body.logged-in.woocommerce-account .site-content .ast-container,
body.logged-in.woocommerce-account .entry-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.woocommerce-account .woocommerce {
	align-items: stretch;
	background: var(--olune-bg);
	border: 1px solid var(--olune-line);
	border-radius: 12px;
	display: grid;
	grid-template-columns: 265px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	margin: 0 auto 28px;
	max-width: none;
	min-height: 720px;
	overflow: hidden;
	padding: 0;
	width: min(100%, 2048px);
}

body.logged-in.woocommerce-account .woocommerce {
	width: calc(100vw - 24px);
}

body:not(.logged-in).woocommerce-account .woocommerce {
	background: linear-gradient(180deg, #FFFFFF 0%, #F7F5EF 100%);
	border: 0;
	border-radius: 0;
	display: block;
	min-height: auto;
	overflow: visible;
}

.woocommerce-account .woocommerce::before {
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--olune-navy);
	float: none;
	grid-column: 1;
	grid-row: 2;
	min-height: 100%;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	border: 0;
	margin: 0;
	padding: 0 0 28px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border: 0;
	list-style: none;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	align-items: center;
	color: rgba(255,255,255,.62);
	display: flex;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	justify-content: space-between;
	letter-spacing: .02em;
	min-height: 36px;
	padding: 10px 30px;
	text-decoration: none;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: rgba(255,255,255,.10);
	color: #FFFFFF;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	box-shadow: inset 3px 0 0 #DCEFD8;
}

.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-account,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-clinical,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-orders,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-more {
	margin-top: 26px;
}

.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-account a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-clinical a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-orders a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-more a {
	background: transparent !important;
	border: 0;
	box-shadow: none;
	color: rgba(255,255,255,.35);
	cursor: default;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .11em;
	min-height: auto;
	padding: 6px 20px 8px;
}

.olune-side-profile {
	background: var(--olune-navy);
	border-bottom: 1px solid rgba(255,255,255,.08);
	color: #FFFFFF;
	grid-column: 1;
	grid-row: 1;
	padding: 26px 20px 28px;
}

.olune-avatar {
	align-items: center;
	background: #477552;
	border-radius: 999px;
	color: #DCEFD8;
	display: flex;
	font-size: 15px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	margin-bottom: 14px;
	width: 48px;
}

.olune-side-name {
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
}

.olune-side-meta {
	color: rgba(255,255,255,.62);
	font-size: 12px;
	margin-top: 4px;
}

.olune-status-badge,
.olune-status-pill,
.olune-badge {
	background: rgba(220,239,216,.13);
	border: 1px solid rgba(220,239,216,.35);
	border-radius: 999px;
	color: #DCEFD8;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	margin-top: 10px;
	padding: 6px 11px;
	white-space: nowrap;
}

.olune-status-badge.is-expired {
	background: rgba(255,221,214,.08);
	border-color: rgba(255,221,214,.35);
	color: #FFD8D2;
}

.olune-status-badge.is-pending {
	background: rgba(243,229,196,.10);
	border-color: rgba(243,229,196,.45);
	color: var(--olune-gold-soft);
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--olune-bg);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	float: none;
	grid-column: 2;
	grid-row: 1 / span 2;
	min-height: 720px;
	padding: 34px 28px 48px;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
.woocommerce-account .woocommerce-MyAccount-content > p:nth-child(2) {
	display: none;
}

.olune-page {
	margin: 0;
	max-width: none;
	width: 100%;
}

.olune-page h1,
.woocommerce-account .woocommerce-MyAccount-content h1,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content legend {
	color: var(--olune-ink);
	font-family: "DM Serif Display", Georgia, serif;
	font-weight: 700;
	letter-spacing: 0;
}

.olune-page h1 {
	font-size: 32px;
	line-height: 1.1;
	margin: 0 0 8px;
}

.olune-profile-tabs {
	border-bottom: 1px solid var(--olune-line);
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 18px 0 24px;
}

.olune-profile-tabs a {
	border-bottom: 3px solid transparent;
	color: var(--olune-muted) !important;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	padding: 0 2px 12px;
	text-decoration: none;
}

.olune-profile-tabs a.is-active {
	border-bottom-color: var(--olune-gold);
	color: var(--olune-navy) !important;
}

.olune-profile-native .olune-profile-tabs {
	margin-bottom: 28px;
}

.olune-native-profile-panel {
	margin-top: 0;
}

.olune-native-profile-panel > form,
.olune-native-profile-panel .woocommerce-Addresses,
.olune-native-profile-panel .woocommerce-address-fields {
	margin-top: 0 !important;
}

.olune-page h2,
.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 14px;
}

.olune-subtitle,
.olune-subcopy,
.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content address,
.woocommerce-account .woocommerce-MyAccount-content em,
.woocommerce-account .woocommerce-privacy-policy-text {
	color: var(--olune-muted);
	font-family: Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.55;
}

.olune-subtitle {
	margin: 0 0 22px;
}

.olune-card,
.olune-panel,
.olune-stat,
.woocommerce-account .woocommerce form,
.woocommerce-account .woocommerce .woocommerce-Address,
.woocommerce-account .woocommerce .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce table.shop_table,
.woocommerce-account .woocommerce .woocommerce-info,
.woocommerce-account .woocommerce .woocommerce-message,
.woocommerce-account .woocommerce .woocommerce-error {
	background: var(--olune-card);
	border: 1px solid var(--olune-line);
	border-radius: 10px;
	box-shadow: none;
	box-sizing: border-box;
}

.olune-card,
.olune-panel {
	margin-bottom: 16px;
	padding: 24px;
}

.olune-card.is-muted {
	opacity: .45;
	position: relative;
}

.olune-lock-pill {
	background: #FDE9E6;
	border: 1px solid #F6C5BD;
	border-radius: 999px;
	color: var(--olune-red);
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	padding: 8px 20px;
}

.olune-alert {
	border-radius: 10px;
	margin: 20px 0 24px;
	padding: 18px 28px;
}

.olune-alert strong {
	display: block;
	font-size: 15px;
	margin-bottom: 6px;
}

.olune-alert p {
	margin: 0 0 12px;
}

.olune-alert.success {
	background: #DFF0E1;
	border: 1px solid #B9DEC1;
	color: #23633D;
}

.olune-alert.warning {
	background: #FFF4CF;
	border: 1px solid #EFD37C;
	color: #8A5E13;
}

.olune-alert.error {
	background: #FBE2E0;
	border: 1px solid #F0C3BD;
	color: var(--olune-red);
}

.olune-stat-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 24px;
}

.olune-stat-grid.compact {
	margin-top: 14px;
}

.olune-stat {
	min-height: 104px;
	padding: 18px 20px;
}

.olune-stat span {
	color: var(--olune-muted);
	display: block;
	font-size: 13px;
	margin-bottom: 6px;
}

.olune-stat strong {
	color: var(--olune-navy);
	display: block;
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
}

.olune-stat i {
	background: #B9BFC6;
	display: block;
	height: 2px;
	margin-top: 14px;
	width: 32px;
}

.olune-stat i.gold {
	background: var(--olune-gold);
}

.olune-stat i.green {
	background: var(--olune-green);
}

.olune-dashboard-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 16px;
}

.olune-card-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.olune-card-head a,
.woocommerce-account .woocommerce-MyAccount-content a {
	color: #2F66D0;
	text-decoration: none;
}

.olune-mini-list {
	display: grid;
	gap: 0;
}

.olune-mini-list > div {
	align-items: center;
	border-bottom: 1px solid var(--olune-line-soft);
	display: grid;
	gap: 12px;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	padding: 12px 0;
}

.olune-mini-list > div:last-child {
	border-bottom: 0;
}

.olune-mini-list span {
	color: var(--olune-gold);
	font-size: 13px;
}

.olune-mini-list strong {
	color: var(--olune-navy);
	font-size: 14px;
}

.olune-mini-list em,
.olune-status-chip {
	background: #E3F2E5;
	border-radius: 999px;
	color: var(--olune-green);
	font-size: 12px;
	font-style: normal;
	padding: 5px 10px;
}

.olune-action-row,
.olune-row-actions,
.olune-split-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.olune-button,
.olune-page button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce input.button {
	align-items: center;
	background: var(--olune-navy) !important;
	border: 1px solid var(--olune-navy) !important;
	border-radius: 8px !important;
	color: var(--olune-gold) !important;
	cursor: pointer;
	display: inline-flex;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 42px;
	padding: 12px 24px !important;
	text-decoration: none !important;
}

.olune-button.secondary,
.olune-page button.secondary {
	background: var(--olune-gold) !important;
	border-color: var(--olune-gold) !important;
	color: var(--olune-navy) !important;
}

.olune-button.ghost,
.olune-page button.ghost {
	background: #FFFFFF !important;
	border-color: var(--olune-line) !important;
	color: var(--olune-navy) !important;
}

.olune-stepper {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(5, 1fr);
	margin: 22px 0 28px;
}

.olune-stepper span {
	align-items: center;
	color: var(--olune-muted);
	display: grid;
	font-size: 13px;
	gap: 7px;
	justify-items: center;
	position: relative;
	text-align: center;
}

.olune-stepper span::before {
	background: var(--olune-line);
	content: "";
	height: 1px;
	left: -45%;
	position: absolute;
	right: 60%;
	top: 16px;
}

.olune-stepper span:first-child::before {
	display: none;
}

.olune-stepper span {
	counter-increment: step;
}

.olune-stepper span {
	font-weight: 800;
}

.olune-stepper span::after {
	align-items: center;
	background: #D9DEE5;
	border-radius: 999px;
	color: #6B7280;
	content: attr(class);
	display: none;
}

.olune-stepper span.active {
	color: var(--olune-navy);
}

.olune-stepper span.active::first-letter {
	color: var(--olune-navy);
}

.olune-stepper span > em {
	color: inherit;
	font-style: normal;
	font-weight: 500;
}

.olune-grid,
.olune-form-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.olune-field.full,
.olune-row-actions.full {
	grid-column: 1 / -1;
}

.olune-field label,
.woocommerce-account .woocommerce label {
	color: var(--olune-muted);
	display: block;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	margin-bottom: 7px;
}

.olune-required {
	color: #D92D20;
	font-weight: 900;
}

.olune-field input,
.olune-field select,
.olune-field textarea,
.woocommerce-account .woocommerce input.input-text,
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="password"],
.woocommerce-account .woocommerce input[type="tel"],
.woocommerce-account .woocommerce input[type="date"],
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce textarea {
	background: #FFFFFF;
	border: 1px solid #D4D9E0;
	border-radius: 8px;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--olune-ink);
	font-family: Helvetica, Arial, sans-serif;
	font-size: 15px;
	min-height: 42px;
	padding: 10px 14px;
	width: 100%;
}

.olune-field textarea,
.woocommerce-account .woocommerce textarea {
	min-height: 112px;
}

.olune-field input:focus,
.olune-field select:focus,
.olune-field textarea:focus,
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce select:focus,
.woocommerce-account .woocommerce textarea:focus {
	border-color: var(--olune-gold);
	box-shadow: 0 0 0 3px rgba(201,169,110,.18);
	outline: none;
}

.olune-list {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.olune-order-head {
	margin-bottom: 8px;
}

.olune-order-card {
	display: grid;
	gap: 18px;
}

.olune-separator {
	align-items: center;
	color: var(--olune-muted);
	display: flex;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.olune-separator::before,
.olune-separator::after {
	background: var(--olune-line);
	content: "";
	flex: 1;
	height: 1px;
}

.olune-separator::before {
	margin-right: 14px;
}

.olune-separator::after {
	margin-left: 14px;
}

.olune-product-picker {
	border-top: 3px solid var(--olune-gold);
}

.olune-product-results {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 18px;
}

.olune-product-result {
	align-items: stretch;
	background: #FFFFFF;
	border: 1px solid var(--olune-line);
	border-radius: 10px;
	display: grid;
	gap: 12px;
	grid-template-columns: 96px minmax(0, 1fr);
	padding: 16px;
}

.olune-product-card .olune-field,
.olune-product-card button {
	align-self: end;
}

.olune-product-card > .olune-field,
.olune-product-card > button {
	grid-column: 1 / -1;
}

.olune-product-card > button {
	justify-self: start;
	min-width: 140px;
}

.olune-product-thumb {
	align-items: center;
	background: #F8F8F6;
	border: 1px solid var(--olune-line-soft);
	border-radius: 8px;
	display: flex;
	justify-content: center;
	min-height: 96px;
	overflow: hidden;
}

.olune-product-thumb img {
	display: block;
	max-height: 110px;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.olune-product-card-main {
	align-self: center;
}

.olune-type-chip {
	background: #EEF2F8;
	border-radius: 999px;
	color: var(--olune-blue);
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
	margin-bottom: 7px;
	padding: 5px 9px;
	text-transform: uppercase;
}

.olune-type-chip.pom {
	background: #FBE2E0;
	color: var(--olune-red);
}

.olune-type-chip.aesthetic {
	background: #F3E5C4;
	color: #755724;
}

.olune-type-chip.general {
	background: #E3F2E5;
	color: var(--olune-green);
}

.olune-product-result strong,
.olune-selected-product strong {
	color: var(--olune-navy);
	display: block;
	font-size: 14px;
	font-weight: 900;
}

.olune-product-result span,
.olune-selected-product span {
	color: var(--olune-muted);
	display: block;
	font-size: 12px;
	margin-top: 4px;
}

.olune-field.small input {
	min-width: 74px;
}

.olune-selected-products {
	display: grid;
	gap: 10px;
}

.olune-selected-product {
	align-items: center;
	background: #FBFAF7;
	border: 1px solid var(--olune-line-soft);
	border-radius: 10px;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 14px 16px;
}

.olune-confirm-card .olune-luxury-table th {
	background: #FBFAF7;
	color: var(--olune-muted);
	width: 220px;
}

.olune-confirm-card .olune-luxury-table {
	min-width: 620px;
}

.olune-patient-card-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.olune-list-item,
.olune-patient-card {
	background: #FFFFFF;
	border: 1px solid var(--olune-line);
	border-radius: 10px;
	padding: 18px 20px;
}

.olune-patient-card {
	align-items: center;
	display: flex;
	gap: 16px;
	min-height: 88px;
	text-align: left;
	width: 100%;
}

button.olune-patient-card {
	background: #FFFFFF !important;
	border: 1px solid var(--olune-line) !important;
	color: inherit !important;
	cursor: pointer;
	font-family: Helvetica, Arial, sans-serif;
	justify-content: flex-start;
	line-height: 1.25;
	padding: 18px 20px !important;
}

button.olune-patient-card:hover {
	border-color: var(--olune-gold);
	box-shadow: 0 0 0 3px rgba(201,169,110,.13);
}

.olune-patient-card .avatar {
	align-items: center;
	background: #EAD9AB;
	border-radius: 999px;
	color: var(--olune-navy);
	display: flex;
	flex: 0 0 42px;
	font-size: 13px;
	font-weight: 800;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.olune-patient-card strong {
	color: var(--olune-navy);
	display: block;
	font-size: 15px;
}

.olune-patient-card span {
	color: var(--olune-muted);
	display: block;
	font-size: 13px;
}

.olune-patient-top {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.olune-patient-form-wrap {
	border-top: 3px solid var(--olune-gold);
}

.olune-patient-history {
	border-top: 3px solid var(--olune-gold);
}

.olune-history-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 18px 0 22px;
}

.olune-history-info {
	background: #FBFAF7;
	border: 1px solid var(--olune-line-soft);
	border-radius: 8px;
	padding: 12px;
}

.olune-history-info span {
	color: var(--olune-muted);
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 6px;
}

.olune-history-info strong {
	color: var(--olune-navy);
	display: block;
	font-size: 14px;
	font-weight: 500;
}

.olune-history-section {
	border-top: 1px solid var(--olune-line);
	padding-top: 18px;
}

.olune-history-section + .olune-history-section {
	margin-top: 18px;
}

.olune-history-section h3 {
	color: var(--olune-navy);
	font-family: Helvetica, Arial, sans-serif;
	font-size: 15px;
	font-weight: 900;
	margin: 0 0 12px;
}

.olune-history-entry {
	background: #FFFFFF;
	border: 1px solid var(--olune-line-soft);
	border-radius: 8px;
	margin-bottom: 10px;
	padding: 14px 16px;
}

.olune-history-entry-head {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 8px;
}

.olune-history-entry-head strong {
	color: var(--olune-navy);
	font-size: 14px;
}

.olune-history-entry-head span,
.olune-history-entry p {
	color: var(--olune-muted);
	font-size: 13px;
	margin: 4px 0;
}

.olune-table-wrap {
	overflow-x: auto;
}

.olune-luxury-table {
	border-collapse: collapse;
	min-width: 720px;
	width: 100%;
}

.olune-luxury-table th {
	background: var(--olune-navy);
	color: var(--olune-gold);
	font-size: 11px;
	letter-spacing: .08em;
	padding: 13px 14px;
	text-align: left;
	text-transform: uppercase;
}

.olune-luxury-table td {
	border-bottom: 1px solid var(--olune-line);
	color: var(--olune-ink);
	font-size: 13px;
	padding: 13px 14px;
}

.olune-message {
	border-radius: 8px;
	display: none;
	font-size: 13px;
	margin: 12px 0;
	padding: 10px 12px;
}

.olune-message.success {
	background: #ECFDF3;
	border: 1px solid #ABEFC6;
	color: #067647;
	display: block;
}

.olune-message.error {
	background: #FEF3F2;
	border: 1px solid #FECDCA;
	color: #B42318;
	display: block;
}

.olune-price-locked,
.olune-product-note {
	background: #F8F6F1;
	border: 1px solid var(--olune-line);
	border-radius: 6px;
	color: var(--olune-navy);
	display: inline-block;
	font-size: 12px;
	font-weight: 800;
	padding: 7px 10px;
}

.olune-document-card {
	align-items: start;
	display: grid;
	gap: 30px;
	grid-template-columns: .8fr 1.2fr;
}

.olune-profile-overview {
	display: grid;
	gap: 22px;
}

.olune-readonly-field {
	background: #FFFFFF;
	border: 1px solid #D4D9E0;
	border-radius: 8px;
	padding: 12px 14px;
}

.olune-readonly-field span {
	color: var(--olune-muted);
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 6px;
}

.olune-readonly-field strong {
	color: var(--olune-navy);
	font-size: 15px;
	font-weight: 500;
}

.olune-profile-columns {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
}

.olune-check-list {
	display: grid;
	gap: 8px;
}

.olune-check-list label {
	align-items: center;
	color: var(--olune-ink);
	display: flex;
	font-size: 14px;
	gap: 8px;
}

.olune-check-list input {
	accent-color: #3478D4;
}

.olune-document-list {
	display: grid;
	gap: 0;
}

.olune-document-row {
	align-items: center;
	border-top: 1px solid var(--olune-line-soft);
	display: flex;
	justify-content: space-between;
	padding: 15px 0;
}

.olune-document-row:first-child {
	border-top: 0;
}

.olune-document-row strong {
	color: var(--olune-navy);
	display: block;
	font-size: 14px;
}

.olune-document-row span {
	color: var(--olune-muted);
	display: block;
	font-size: 13px;
	margin-top: 3px;
}

.olune-document-row em {
	border-radius: 999px;
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
	padding: 6px 12px;
}

.olune-document-row em.is-approved {
	background: #E3F2E5;
	color: var(--olune-green);
}

.olune-document-row em.is-pending {
	background: #FFF4CF;
	color: #8A5E13;
}

.olune-document-row em.is-expired {
	background: #FBE2E0;
	color: var(--olune-red);
}

.olune-kicker {
	color: var(--olune-gold) !important;
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 900;
	letter-spacing: .15em;
	margin: 0 0 10px !important;
	text-transform: uppercase;
}

.olune-small {
	color: var(--olune-muted);
	font-size: 13px;
	margin: 8px 0 0;
}

.olune-loyalty-hero {
	align-items: center;
	background: var(--olune-navy);
	border-radius: 10px;
	color: #FFFFFF;
	display: flex;
	justify-content: space-between;
	margin: 12px 0 14px;
	padding: 24px;
}

.olune-loyalty-hero span {
	color: rgba(255,255,255,.58);
	display: block;
	font-size: 12px;
	text-transform: uppercase;
}

.olune-loyalty-hero strong {
	color: var(--olune-gold);
	display: block;
	font-size: 38px;
	font-weight: 500;
}

.olune-loyalty-hero p {
	color: rgba(255,255,255,.68);
	margin: 0;
	text-align: right;
}

.woocommerce-account .woocommerce form {
	padding: 24px;
}

.woocommerce-account .woocommerce table.shop_table {
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce-account .woocommerce table.shop_table th {
	background: var(--olune-navy);
	color: var(--olune-gold);
	font-size: 12px;
	letter-spacing: .08em;
	padding: 14px;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce table.shop_table td {
	border-top: 1px solid var(--olune-line-soft);
	color: var(--olune-ink);
	padding: 14px;
}

.woocommerce-account .woocommerce .woocommerce-info,
.woocommerce-account .woocommerce .woocommerce-message {
	border-top: 0 !important;
	color: var(--olune-ink);
	padding: 18px 22px 18px 58px;
}

.woocommerce-account .woocommerce .woocommerce-error {
	border-color: #F0C3BD !important;
	color: var(--olune-red);
}

.woocommerce-account .woocommerce-Address-title {
	background: #FFFFFF;
	border-bottom: 1px solid var(--olune-line-soft);
	padding: 18px 20px;
}

.woocommerce-account .woocommerce-Address-title h2 {
	font-size: 26px;
	margin: 0;
}

.woocommerce-account .woocommerce-Address address {
	padding: 20px;
}

.woocommerce-account .woocommerce fieldset {
	border: 0;
	border-top: 1px solid var(--olune-line);
	margin-top: 20px;
	padding: 20px 0 0;
}

.olune-login-shell {
	background: #FFFFFF;
	border: 1px solid var(--olune-line);
	border-radius: 10px;
	box-shadow: 0 28px 70px rgba(2,15,48,.10);
	margin: 34px auto;
	max-width: 1180px;
	overflow: hidden;
}

.olune-login-hero {
	background: var(--olune-navy);
	color: white;
	padding: 38px 40px;
}

.olune-login-hero h1 {
	color: white;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 40px;
	font-weight: 900;
	margin: 0 0 14px;
}

.olune-login-hero p {
	color: #EDE7DA;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 19px;
	margin: 0;
}

.olune-login-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
}

.olune-login-grid > #customer_login,
.olune-login-grid > .u-columns {
	box-sizing: border-box;
	display: block !important;
	grid-column: 1;
	grid-row: 1;
	margin: 0 !important;
	width: 100% !important;
}

.olune-login-grid .u-column1,
.olune-login-grid .col-1 {
	float: none !important;
	margin: 0 !important;
	width: 100% !important;
}

.olune-login-grid > h2,
.olune-login-grid .u-column1 > h2,
.olune-login-grid .col-1 > h2,
.olune-login-grid #customer_login h2,
.olune-login-grid .u-columns h2 {
	display: none;
}

.olune-login-grid .u-column1,
.olune-login-grid .col-1,
.olune-login-grid .woocommerce-form-login,
.olune-login-grid form.login {
	border: 0 !important;
	margin: 0 !important;
	max-width: none;
	padding: 34px !important;
	width: 100% !important;
}

.olune-login-grid form.login::before,
.olune-login-grid .woocommerce-form-login::before {
	color: var(--olune-navy);
	content: "Login";
	display: block;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.1;
	margin: 0 0 24px;
}

.olune-login-grid .u-column2,
.olune-login-grid .col-2,
.olune-login-grid form.register {
	display: none !important;
}

.olune-register-panel {
	background: var(--olune-bg);
	border-left: 1px solid var(--olune-line);
	grid-column: 2;
	grid-row: 1;
	padding: 34px;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
}

.woocommerce-cart .cart_totals > *,
.woocommerce-cart .spar-cart-points,
.woocommerce-cart [class*="points"] {
	box-sizing: border-box;
	max-width: none;
}

.olune-cart-page .olune-card {
	overflow-x: auto;
}

.olune-register-panel h2 {
	color: var(--olune-navy);
	font-family: Helvetica, Arial, sans-serif;
	font-size: 24px;
	font-weight: 900;
	margin: 0 0 12px;
}

.olune-register-panel p {
	color: #344054;
	font-family: "DM Serif Display", Georgia, serif;
	font-size: 17px;
}

body:not(.logged-in) .woocommerce form.register,
body:not(.logged-in) .woocommerce .u-column2.col-2 {
	display: none !important;
}

@media (max-width: 1024px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
	}

	.olune-side-profile {
		grid-column: 1;
		grid-row: 1;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		grid-column: 1;
		grid-row: 2;
		min-height: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: 3;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-bottom: 18px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-account,
	.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-clinical,
	.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-orders,
	.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--olune-group-more {
		grid-column: 1 / -1;
		margin-top: 12px;
	}

	.olune-stat-grid,
	.olune-dashboard-grid,
	.olune-document-card {
		grid-template-columns: 1fr 1fr;
	}

	.olune-product-result {
		grid-template-columns: 1fr 1fr;
	}

	.olune-history-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.woocommerce-account .woocommerce {
		border-left: 0;
		border-right: 0;
		border-radius: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 24px 14px 36px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul,
	.olune-stat-grid,
	.olune-dashboard-grid,
	.olune-form-grid,
	.olune-grid,
	.olune-document-card,
	.olune-patient-card-grid,
	.olune-profile-columns,
	.olune-history-grid,
	.olune-login-grid {
		grid-template-columns: 1fr;
	}

	.olune-patient-top {
		grid-template-columns: 1fr;
	}

	.olune-product-result,
	.olune-selected-product {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.olune-product-results {
		grid-template-columns: 1fr;
	}

	.olune-selected-product {
		display: grid;
	}

	.olune-card,
	.olune-panel,
	.woocommerce-account .woocommerce form {
		padding: 18px;
	}

	.olune-login-hero {
		padding: 28px 24px;
	}

	.olune-login-hero h1 {
		font-size: 32px;
	}

	.olune-register-panel {
		border-left: 0;
		border-top: 1px solid var(--olune-line);
		grid-column: 1;
		grid-row: auto;
	}

	.olune-stepper {
		grid-template-columns: 1fr;
	}

	.olune-stepper span::before {
		display: none;
	}
}


/* v0.3.1 account login layout fix */
.olune-login-grid > form.login,
.olune-login-grid > .woocommerce-form-login,
.olune-login-grid > #customer_login,
.olune-login-grid > .u-columns {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    min-height: 0 !important;
}
.olune-login-grid > form.login,
.olune-login-grid > .woocommerce-form-login {
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
}
.olune-register-panel {
    align-self: start !important;
    min-height: 220px;
}
@media (max-width: 800px) {
    .olune-login-grid { grid-template-columns: 1fr !important; }
    .olune-register-panel { grid-column: 1 !important; grid-row: auto !important; border-left: 0 !important; border-top: 1px solid var(--olune-line); }
}

/* v0.3.1 profile interest checkbox polish */
.olune-check-list label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 10px 0 !important;
    font-weight: 700;
    color: #020f30;
}
.olune-check-list input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: #020f30;
    flex: 0 0 auto;
}

/* v0.3.4 professional prescription history and cart polish */
.olune-request-intro h2 {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 22px;
	margin: 0 0 8px;
}
.olune-request-list {
	display: grid;
	gap: 16px;
}
.olune-request-card {
	border: 1px solid var(--olune-line) !important;
	border-radius: 18px;
	padding: 22px !important;
	box-shadow: 0 14px 36px rgba(2,15,48,.05);
}
.olune-request-head {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 16px;
}
.olune-request-head h2 {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 22px;
	margin: 4px 0;
}
.olune-request-meta-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0;
}
.olune-request-meta {
	background: #f8fbff;
	border: 1px solid #e3eaf4;
	border-radius: 14px;
	padding: 12px;
}
.olune-request-meta span {
	color: var(--olune-muted);
	display: block;
	font-size: 12px;
	font-weight: 800;
	margin-bottom: 5px;
	text-transform: uppercase;
}
.olune-request-meta strong {
	color: var(--olune-navy);
	display: block;
	font-size: 14px;
	line-height: 1.35;
}
.olune-request-details {
	background: #fff;
	border: 1px solid var(--olune-line-soft);
	border-radius: 14px;
	margin-top: 16px;
	padding: 14px;
}
.olune-request-details summary {
	color: var(--olune-navy);
	cursor: pointer;
	font-weight: 900;
}
.olune-prescriber-review h3 {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 16px;
	margin: 18px 0 10px;
}
.olune-review-fields {
	background: #f8fbff;
	border: 1px solid #e3eaf4;
	border-radius: 16px;
	margin-top: 16px;
	padding: 16px;
}
.olune-review-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}
.olune-review-actions button {
	background: var(--olune-navy);
	border: 1px solid var(--olune-navy);
	border-radius: 12px;
	color: #fff;
	font-weight: 900;
	padding: 12px 18px;
}
.olune-review-actions button.ghost {
	background: #fff;
	color: var(--olune-navy);
}
.olune-cart-page .olune-cart-embed {
	background: #fff;
	border-radius: 18px;
	padding: 22px;
	overflow: visible;
}
.olune-cart-page .woocommerce-cart-form {
	background: #fff;
	border: 1px solid var(--olune-line);
	border-radius: 18px;
	margin: 0 0 24px !important;
	overflow: hidden;
	width: 100% !important;
}
.olune-cart-page table.shop_table {
	border-collapse: collapse !important;
	margin: 0 !important;
	width: 100% !important;
}
.olune-cart-page table.shop_table th {
	background: var(--olune-navy) !important;
	color: var(--olune-gold-soft) !important;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.olune-cart-page table.shop_table td,
.olune-cart-page table.shop_table th {
	padding: 16px !important;
	vertical-align: middle !important;
}
.olune-cart-page .coupon {
	display: flex !important;
	gap: 10px;
	width: 100% !important;
}
.olune-cart-page .coupon input {
	max-width: 280px;
}
.olune-cart-page .cart-collaterals {
	clear: both !important;
	display: block !important;
	float: none !important;
	margin-top: 26px !important;
	width: 100% !important;
}
.olune-cart-page .cart_totals {
	background: #fff;
	border: 1px solid var(--olune-line);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(2,15,48,.05);
	float: none !important;
	margin-left: auto;
	max-width: 640px;
	padding: 22px;
	width: 100% !important;
}
.olune-cart-page .cart_totals h2 {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 22px;
}
.olune-cart-page .cart_totals table th,
.olune-cart-page .cart_totals table td {
	background: #fff !important;
	color: var(--olune-navy) !important;
	padding: 14px !important;
}
.olune-cart-page .wc-proceed-to-checkout a.checkout-button {
	background: var(--olune-navy) !important;
	border-radius: 14px !important;
	font-weight: 900 !important;
}
.olune-cart-page .spar-cart-points,
.olune-cart-page [class*="points"] {
	max-width: 640px !important;
	margin: 18px 0 18px auto !important;
}
@media (max-width: 900px) {
	.olune-request-meta-grid { grid-template-columns: 1fr; }
	.olune-request-head { display: block; }
	.olune-cart-page .coupon { display: block !important; }
}

/* v0.3.6 build order stepper and patient search fixes */
.olune-stepper {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(5, 1fr);
	margin: 22px 0 28px;
}
.olune-stepper-step {
	appearance: none;
	background: transparent;
	border: 0;
	color: var(--olune-muted);
	cursor: pointer;
	display: grid;
	font: inherit;
	gap: 8px;
	justify-items: center;
	min-width: 0;
	padding: 0;
	position: relative;
	text-align: center;
}
.olune-stepper-step::before {
	background: var(--olune-line);
	content: "";
	height: 2px;
	left: -45%;
	position: absolute;
	right: 60%;
	top: 20px;
}
.olune-stepper-step:first-child::before { display: none; }
.olune-stepper-step .olune-step-number {
	align-items: center;
	background: #eef2f7;
	border: 1px solid #d9e0ea;
	border-radius: 50%;
	color: #5f6b7a;
	display: inline-flex;
	font-size: 14px;
	font-weight: 900;
	height: 42px;
	justify-content: center;
	transition: all .18s ease;
	width: 42px;
	z-index: 2;
}
.olune-stepper-step em {
	color: inherit;
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
}
.olune-stepper-step.active,
.olune-stepper-step.complete { color: var(--olune-navy); }
.olune-stepper-step.active .olune-step-number {
	background: var(--olune-navy);
	border-color: var(--olune-navy);
	box-shadow: 0 10px 24px rgba(2, 15, 48, .18);
	color: #fff;
}
.olune-stepper-step.complete .olune-step-number {
	background: #dfece5;
	border-color: #6d966f;
	color: #245238;
}
.olune-stepper-step:hover .olune-step-number {
	border-color: var(--olune-gold);
	transform: translateY(-1px);
}
.olune-stepper > span { display: none !important; }

.olune-patient-search-results {
	border: 1px solid var(--olune-line);
	border-radius: 14px;
	display: grid;
	gap: 8px;
	margin-top: 10px;
	max-height: 280px;
	overflow: auto;
	padding: 10px;
}
.olune-patient-result {
	align-items: flex-start;
	background: #fff;
	border: 1px solid #e6e1d9;
	border-radius: 12px;
	color: var(--olune-navy);
	cursor: pointer;
	display: grid;
	gap: 4px;
	padding: 12px 14px;
	text-align: left;
}
.olune-patient-result span {
	color: var(--olune-muted);
	font-size: 13px;
}
.olune-patient-result:hover,
.olune-patient-result.selected {
	background: #f7f9fd;
	border-color: var(--olune-navy);
	box-shadow: 0 10px 24px rgba(2, 15, 48, .08);
}
.olune-patient-result.empty {
	color: var(--olune-muted);
	cursor: default;
}

@media (max-width: 720px) {
	.olune-stepper { grid-template-columns: repeat(5, minmax(54px, 1fr)); gap: 8px; }
	.olune-stepper-step em { font-size: 11px; }
	.olune-stepper-step .olune-step-number { height: 34px; width: 34px; }
	.olune-stepper-step::before { top: 16px; }
}

/* v0.3.8 compact prescription history and clean stepper */
.olune-request-intro { display: none !important; }
.olune-compact-request-list { gap: 12px !important; }
.olune-compact-request-card {
	padding: 0 !important;
	overflow: hidden;
}
.olune-compact-request-card > summary {
	list-style: none;
}
.olune-compact-request-card > summary::-webkit-details-marker { display: none; }
.olune-compact-request-summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	grid-template-columns: minmax(220px, 1.2fr) minmax(260px, 1fr) auto;
	gap: 18px;
	padding: 18px 20px;
}
.olune-compact-request-summary::after {
	content: "View details";
	border: 1px solid var(--olune-line);
	border-radius: 999px;
	color: var(--olune-navy);
	font-size: 12px;
	font-weight: 900;
	padding: 7px 12px;
	position: absolute;
	right: 20px;
	bottom: 14px;
	background: #fff;
}
.olune-compact-request-card[open] .olune-compact-request-summary::after { content: "Hide details"; }
.olune-request-summary-main {
	display: grid;
	gap: 4px;
	padding-right: 90px;
}
.olune-request-summary-main strong {
	color: var(--olune-navy);
	font-size: 18px;
	font-weight: 900;
}
.olune-request-summary-main small,
.olune-request-summary-products {
	color: var(--olune-muted);
	font-size: 13px;
	line-height: 1.5;
}
.olune-request-expanded {
	border-top: 1px solid var(--olune-line);
	padding: 18px 20px 22px;
	background: #fff;
}
.olune-request-details-panel h3 {
	font-family: Helvetica, Arial, sans-serif !important;
	font-size: 17px;
	margin: 18px 0 10px;
}
.olune-request-meta-grid > div {
	background: #fbfaf7;
	border: 1px solid var(--olune-line);
	border-radius: 14px;
	padding: 12px 14px;
}
.olune-request-meta-grid strong {
	display: block;
	font-size: 12px;
	letter-spacing: .04em;
	margin: 0 0 6px;
	text-transform: uppercase;
}
.olune-request-meta-grid span {
	display: block;
	font-size: 14px;
	line-height: 1.45;
}

.olune-stepper {
	align-items: start !important;
	background: transparent !important;
	box-shadow: none !important;
	gap: 14px !important;
}
.olune-stepper-step {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--olune-muted) !important;
	padding: 0 !important;
}
.olune-stepper-step::before,
.olune-stepper-step::after {
	display: none !important;
}
.olune-stepper-step .olune-step-number {
	background: #f1f4f8 !important;
	border: 1px solid #d9e0ea !important;
	box-shadow: none !important;
	color: #5f6b7a !important;
}
.olune-stepper-step.complete .olune-step-number {
	background: #dfece5 !important;
	border-color: #6d966f !important;
	color: #245238 !important;
}
.olune-stepper-step.active .olune-step-number {
	background: var(--olune-navy) !important;
	border-color: var(--olune-navy) !important;
	box-shadow: 0 10px 24px rgba(2, 15, 48, .18) !important;
	color: #fff !important;
}
.olune-stepper-step em {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
	font-weight: 800 !important;
	padding: 0 !important;
}
.olune-stepper-step.active,
.olune-stepper-step.complete { color: var(--olune-navy) !important; }

@media (max-width: 900px) {
	.olune-compact-request-summary { grid-template-columns: 1fr; padding-bottom: 54px; }
	.olune-compact-request-summary::after { left: 20px; right: auto; }
}

/* v0.3.9 final clean clickable step circles + live patient search */
.woocommerce-account .olune-page .olune-stepper,
.woocommerce-account .woocommerce .olune-stepper {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(90px, 1fr)) !important;
  gap: 12px !important;
  margin: 22px 0 28px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.woocommerce-account .olune-page .olune-stepper-step,
.woocommerce-account .woocommerce .olune-stepper-step {
  appearance: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #667085 !important;
  cursor: pointer !important;
  display: grid !important;
  gap: 8px !important;
  justify-items: center !important;
  min-height: auto !important;
  padding: 0 !important;
  text-align: center !important;
  width: auto !important;
}
.woocommerce-account .olune-page .olune-stepper-step::before,
.woocommerce-account .olune-page .olune-stepper-step::after,
.woocommerce-account .woocommerce .olune-stepper-step::before,
.woocommerce-account .woocommerce .olune-stepper-step::after {
  display: none !important;
  content: none !important;
}
.woocommerce-account .olune-page .olune-stepper-step .olune-step-number,
.woocommerce-account .woocommerce .olune-stepper-step .olune-step-number {
  align-items: center !important;
  background: #f4f7fb !important;
  border: 1px solid #d9e0ea !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #5f6b7a !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  height: 42px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 42px !important;
  min-width: 42px !important;
  opacity: 1 !important;
  padding: 0 !important;
  visibility: visible !important;
  width: 42px !important;
}
.woocommerce-account .olune-page .olune-stepper-step.active .olune-step-number,
.woocommerce-account .woocommerce .olune-stepper-step.active .olune-step-number {
  background: #020f30 !important;
  border-color: #020f30 !important;
  box-shadow: 0 10px 24px rgba(2, 15, 48, .18) !important;
  color: #fff !important;
}
.woocommerce-account .olune-page .olune-stepper-step.complete .olune-step-number,
.woocommerce-account .woocommerce .olune-stepper-step.complete .olune-step-number {
  background: #dfece5 !important;
  border-color: #6d966f !important;
  color: #245238 !important;
}
.woocommerce-account .olune-page .olune-stepper-step em,
.woocommerce-account .woocommerce .olune-stepper-step em {
  background: transparent !important;
  border: 0 !important;
  color: inherit !important;
  display: block !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  padding: 0 !important;
  text-transform: none !important;
}
.woocommerce-account .olune-page .olune-stepper-step.active,
.woocommerce-account .olune-page .olune-stepper-step.complete,
.woocommerce-account .woocommerce .olune-stepper-step.active,
.woocommerce-account .woocommerce .olune-stepper-step.complete {
  color: #020f30 !important;
}
.olune-patient-search-results.live {
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.olune-patient-search-results.live .olune-patient-result {
  width: 100% !important;
}
@media (max-width: 720px) {
  .woocommerce-account .olune-page .olune-stepper,
  .woocommerce-account .woocommerce .olune-stepper { grid-template-columns: repeat(5, minmax(46px, 1fr)) !important; }
  .woocommerce-account .olune-page .olune-stepper-step em,
  .woocommerce-account .woocommerce .olune-stepper-step em { font-size: 10px !important; }
  .woocommerce-account .olune-page .olune-stepper-step .olune-step-number,
  .woocommerce-account .woocommerce .olune-stepper-step .olune-step-number { height: 34px !important; min-height: 34px !important; min-width: 34px !important; width: 34px !important; }
}

/* v0.3.11 prescription request quick filters */
.olune-rx-filterbar{
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin:0 0 18px;
}
.olune-rx-filter-pill{
	align-items:center;
	background:#fff;
	border:1.5px solid #6d237e;
	border-radius:999px;
	color:#6d237e;
	display:inline-flex;
	font-weight:900;
	gap:8px;
	letter-spacing:.02em;
	line-height:1;
	padding:12px 18px;
	text-decoration:none!important;
	text-transform:uppercase;
	transition:.18s ease;
}
.olune-rx-filter-pill span{
	align-items:center;
	background:rgba(109,35,126,.08);
	border-radius:999px;
	display:inline-flex;
	font-size:12px;
	justify-content:center;
	min-width:22px;
	padding:4px 7px;
}
.olune-rx-filter-pill:hover,
.olune-rx-filter-pill.active{
	box-shadow:0 12px 26px rgba(2,15,48,.08);
	transform:translateY(-1px);
}
.olune-rx-filter-pill.filter-authorised{border-color:#1f8f35;color:#1f8f35;}
.olune-rx-filter-pill.filter-pending{border-color:#de922e;color:#de922e;}
.olune-rx-filter-pill.filter-rejected{border-color:#9ca3af;color:#7b828c;}
.olune-rx-filter-pill.filter-completed{border-color:#6d237e;color:#111;}
.olune-rx-filter-pill.filter-all.active{background:#6d237e;color:#fff;}
.olune-rx-filter-pill.filter-authorised.active{background:#1f8f35;color:#fff;}
.olune-rx-filter-pill.filter-pending.active{background:#de922e;color:#fff;}
.olune-rx-filter-pill.filter-rejected.active{background:#7b828c;color:#fff;}
.olune-rx-filter-pill.filter-completed.active{background:#fff;color:#111;border-color:#6d237e;box-shadow:inset 0 0 0 1px #6d237e;}
.olune-rx-filter-pill.active span{background:rgba(255,255,255,.2);color:inherit;}
.olune-rx-filter-toggle{
	align-items:center;
	background:#fff;
	border:0;
	color:#6d237e;
	cursor:pointer;
	display:inline-flex;
	font-size:26px;
	font-weight:900;
	height:46px;
	justify-content:center;
	width:46px;
}
.olune-rx-advanced-filters{
	background:#fff;
	border:1.5px solid #6d237e;
	border-radius:12px;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr)) auto;
	gap:18px 26px;
	margin:0 0 22px;
	padding:22px 26px;
}
.olune-rx-advanced-filters.is-collapsed{display:none;}
.olune-rx-filter-field label{
	color:#6d237e;
	display:block;
	font-weight:700;
	margin-bottom:10px;
}
.olune-rx-filter-field input,
.olune-rx-filter-field select{
	background:#fff;
	border:1px solid rgba(109,35,126,.55);
	border-radius:6px;
	height:52px;
	padding:0 14px;
	width:100%;
}
.olune-rx-filter-actions{
	align-items:end;
	display:flex;
	gap:10px;
}
.olune-rx-filter-actions button,
.olune-rx-filter-actions a{
	align-items:center;
	background:#fff;
	border:1.5px solid #6d237e;
	border-radius:6px;
	color:#6d237e;
	display:inline-flex;
	font-weight:900;
	height:52px;
	justify-content:center;
	padding:0 22px;
	text-decoration:none!important;
	text-transform:uppercase;
}
.olune-rx-filter-actions button:hover,
.olune-rx-filter-actions a:hover{background:#6d237e;color:#fff;}
@media(max-width:900px){
	.olune-rx-advanced-filters{grid-template-columns:1fr;}
	.olune-rx-filter-actions{align-items:stretch;flex-direction:column;}
	.olune-rx-filter-actions button,.olune-rx-filter-actions a{width:100%;}
}

/* v0.3.13: clearer filter button and prescriber approval filters */
.olune-rx-filter-toggle{
	background:#fff!important;
	border:1.5px solid #020f30!important;
	border-radius:999px!important;
	color:#020f30!important;
	font-size:14px!important;
	gap:8px!important;
	height:44px!important;
	letter-spacing:.02em!important;
	padding:0 18px!important;
	text-transform:uppercase!important;
	width:auto!important;
}
.olune-rx-filter-toggle:hover{
	background:#020f30!important;
	color:#fff!important;
}
.olune-rx-filter-toggle span{
	font-size:16px!important;
	line-height:1!important;
}
.olune-server-rendered-approvals .olune-status-chip{
	white-space:nowrap;
}


/* v0.3.14: prescription request status colours and basket reorganisation */
:root{
  --olune-status-approved-bg:#e8f6ed;
  --olune-status-approved-border:#2f8f46;
  --olune-status-approved-text:#166534;
  --olune-status-pending-bg:#fff7df;
  --olune-status-pending-border:#de922e;
  --olune-status-pending-text:#9a5b00;
  --olune-status-rejected-bg:#fff1f1;
  --olune-status-rejected-border:#d92d20;
  --olune-status-rejected-text:#9f1f17;
  --olune-status-consult-bg:#f5efff;
  --olune-status-consult-border:#7b2cbf;
  --olune-status-consult-text:#5b1a91;
  --olune-status-complete-bg:#edf3ff;
  --olune-status-complete-border:#2f5fb3;
  --olune-status-complete-text:#173f85;
}

/* Apply status colour to both My Prescription Requests and Prescriber Approvals cards */
.olune-request-card.status-approved,
.olune-request-card.status-authorised,
.olune-request-card.status-authorized{
  border-color:var(--olune-status-approved-border)!important;
  border-left:7px solid var(--olune-status-approved-border)!important;
  background:linear-gradient(90deg,rgba(232,246,237,.72),#fff 34%)!important;
}
.olune-request-card.status-pending{
  border-color:rgba(222,146,46,.55)!important;
  border-left:7px solid var(--olune-status-pending-border)!important;
  background:linear-gradient(90deg,rgba(255,247,223,.82),#fff 34%)!important;
}
.olune-request-card.status-rejected{
  border-color:rgba(217,45,32,.45)!important;
  border-left:7px solid var(--olune-status-rejected-border)!important;
  background:linear-gradient(90deg,rgba(255,241,241,.86),#fff 34%)!important;
}
.olune-request-card.status-further_consultation,
.olune-request-card.status-further-consultation{
  border-color:rgba(123,44,191,.45)!important;
  border-left:7px solid var(--olune-status-consult-border)!important;
  background:linear-gradient(90deg,rgba(245,239,255,.9),#fff 34%)!important;
}
.olune-request-card.status-added_to_cart,
.olune-request-card.status-added-to-cart,
.olune-request-card.status-completed,
.olune-request-card.status-complete{
  border-color:rgba(47,95,179,.42)!important;
  border-left:7px solid var(--olune-status-complete-border)!important;
  background:linear-gradient(90deg,rgba(237,243,255,.9),#fff 34%)!important;
}

.olune-status-chip,
.olune-status-chip[class*="status-"]{
  border:1px solid transparent!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.2!important;
  padding:8px 13px!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.olune-status-chip.status-approved,
.olune-status-chip.status-authorised,
.olune-status-chip.status-authorized{
  background:var(--olune-status-approved-bg)!important;
  border-color:rgba(47,143,70,.28)!important;
  color:var(--olune-status-approved-text)!important;
}
.olune-status-chip.status-pending{
  background:var(--olune-status-pending-bg)!important;
  border-color:rgba(222,146,46,.32)!important;
  color:var(--olune-status-pending-text)!important;
}
.olune-status-chip.status-rejected{
  background:var(--olune-status-rejected-bg)!important;
  border-color:rgba(217,45,32,.28)!important;
  color:var(--olune-status-rejected-text)!important;
}
.olune-status-chip.status-further_consultation,
.olune-status-chip.status-further-consultation{
  background:var(--olune-status-consult-bg)!important;
  border-color:rgba(123,44,191,.28)!important;
  color:var(--olune-status-consult-text)!important;
}
.olune-status-chip.status-added_to_cart,
.olune-status-chip.status-added-to-cart,
.olune-status-chip.status-completed,
.olune-status-chip.status-complete{
  background:var(--olune-status-complete-bg)!important;
  border-color:rgba(47,95,179,.25)!important;
  color:var(--olune-status-complete-text)!important;
}

/* Clearer, more structured Basket page */
.olune-cart-page .olune-cart-embed{
  background:#f7f6f1!important;
  border:1px solid #e3ded4!important;
  border-radius:20px!important;
  box-shadow:0 18px 46px rgba(2,15,48,.05)!important;
  display:block!important;
  overflow:visible!important;
  padding:22px!important;
}
.olune-cart-page .woocommerce{
  display:block!important;
  width:100%!important;
}
.olune-cart-page .woocommerce-cart-form{
  background:#fff!important;
  border:1px solid #e2ded6!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(2,15,48,.04)!important;
  float:none!important;
  margin:0 0 24px!important;
  overflow:auto!important;
  width:100%!important;
}
.olune-cart-page .woocommerce-cart-form::before{
  content:"Basket items";
  display:block;
  color:#020f30;
  font-size:18px;
  font-weight:900;
  padding:18px 22px 0;
}
.olune-cart-page table.shop_table{
  background:#fff!important;
  border:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  min-width:760px!important;
  width:100%!important;
}
.olune-cart-page table.shop_table thead th{
  background:#020f30!important;
  border:0!important;
  color:#d4b36d!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
  padding:16px!important;
  text-transform:uppercase!important;
}
.olune-cart-page table.shop_table td{
  background:#fff!important;
  border-top:1px solid #eee9df!important;
  color:#020f30!important;
  padding:16px!important;
  vertical-align:middle!important;
}
.olune-cart-page table.shop_table td.product-remove{width:44px!important;text-align:center!important;}
.olune-cart-page table.shop_table td.product-thumbnail{width:92px!important;}
.olune-cart-page table.shop_table td.product-name{min-width:320px!important;}
.olune-cart-page table.shop_table td.product-price{width:120px!important;white-space:nowrap!important;}
.olune-cart-page table.shop_table td.product-quantity{width:170px!important;}
.olune-cart-page table.shop_table .quantity input.qty{
  border:1px solid #dfe4ec!important;
  border-radius:10px!important;
  height:44px!important;
  max-width:110px!important;
  text-align:center!important;
}
.olune-cart-page .actions{
  background:#fbfaf7!important;
  padding:18px!important;
}
.olune-cart-page .coupon{
  align-items:center!important;
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  width:100%!important;
}
.olune-cart-page .coupon input.input-text{
  border:1px solid #dfe4ec!important;
  border-radius:12px!important;
  height:46px!important;
  max-width:280px!important;
  padding:0 16px!important;
}
.olune-cart-page .coupon button,
.olune-cart-page button[name="update_cart"]{
  background:#020f30!important;
  border:1px solid #020f30!important;
  border-radius:12px!important;
  color:#d4b36d!important;
  font-weight:900!important;
  min-height:46px!important;
  padding:0 22px!important;
}
.olune-cart-page .cart-collaterals{
  align-items:start!important;
  clear:both!important;
  display:grid!important;
  float:none!important;
  gap:24px!important;
  grid-template-columns:minmax(260px,1fr) minmax(320px,420px)!important;
  margin:24px 0 0!important;
  width:100%!important;
}
.olune-cart-page .cart-collaterals::before{
  content:"Order summary";
  color:#020f30;
  display:block;
  font-size:22px;
  font-weight:900;
  grid-column:1/-1;
  line-height:1.2;
  margin:0 0 -6px;
}
.olune-cart-page .cart_totals{
  background:#fff!important;
  border:1px solid #e2ded6!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(2,15,48,.04)!important;
  box-sizing:border-box!important;
  float:none!important;
  grid-column:2!important;
  margin:0!important;
  max-width:none!important;
  padding:22px!important;
  width:100%!important;
}
.olune-cart-page .cart_totals h2{
  color:#020f30!important;
  font-family:Helvetica,Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:900!important;
  margin:0 0 14px!important;
}
.olune-cart-page .cart_totals table{
  border:0!important;
  margin:0 0 18px!important;
  width:100%!important;
}
.olune-cart-page .cart_totals table th,
.olune-cart-page .cart_totals table td{
  background:#fff!important;
  border-top:1px solid #eee9df!important;
  color:#020f30!important;
  display:table-cell!important;
  font-size:14px!important;
  line-height:1.45!important;
  padding:14px 10px!important;
  vertical-align:top!important;
}
.olune-cart-page .cart_totals table th{
  color:#667085!important;
  font-size:12px!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  width:38%!important;
}
.olune-cart-page .wc-proceed-to-checkout{
  padding:0!important;
}
.olune-cart-page .wc-proceed-to-checkout a.checkout-button{
  background:#020f30!important;
  border-radius:14px!important;
  color:#d4b36d!important;
  display:block!important;
  font-size:15px!important;
  font-weight:900!important;
  padding:16px 20px!important;
  text-align:center!important;
  width:100%!important;
}
.olune-cart-page .spar-cart-points,
.olune-cart-page .points-rewards,
.olune-cart-page .woocommerce-info,
.olune-cart-page [class*="reward"]{
  box-sizing:border-box!important;
  float:none!important;
  grid-column:1!important;
  margin:0!important;
  max-width:100%!important;
  position:static!important;
  transform:none!important;
  width:100%!important;
}
.olune-cart-page .spar-cart-points,
.olune-cart-page [class*="points"]{
  background:#fff!important;
  border:1px solid #e2ded6!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(2,15,48,.04)!important;
  color:#020f30!important;
  padding:20px!important;
}
.olune-cart-page .cart-collaterals .shipping ul,
.olune-cart-page .cart_totals .shipping ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.olune-cart-page .cart-collaterals .shipping li,
.olune-cart-page .cart_totals .shipping li{
  margin:0 0 10px!important;
}
.olune-cart-page .cart_totals .shipping label{
  color:#344054!important;
  font-weight:700!important;
}
@media(max-width:980px){
  .olune-cart-page .cart-collaterals{grid-template-columns:1fr!important;}
  .olune-cart-page .cart_totals,
  .olune-cart-page .spar-cart-points,
  .olune-cart-page [class*="points"]{grid-column:1!important;}
  .olune-cart-page .olune-cart-embed{padding:16px!important;}
}

/* v0.3.16: cart/order summary layout, product visibility/price polish */
.olune-cart-page .cart-collaterals,
.woocommerce-account .olune-cart-page .cart-collaterals{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:100%!important;
  margin:28px 0 0!important;
  padding:0!important;
  overflow:visible!important;
}
.olune-cart-page .cart-collaterals::before{
  content:"Order summary"!important;
  display:block!important;
  margin:0 0 16px!important;
  color:#020f30!important;
  font-size:24px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
.olune-cart-page .cart_totals,
.woocommerce-account .olune-cart-page .cart_totals{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:760px!important;
  margin:0!important;
  padding:22px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  border:1px solid #e6e1d8!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 14px 36px rgba(2,15,48,.06)!important;
}
.olune-cart-page .cart_totals table,
.olune-cart-page .cart_totals tbody,
.olune-cart-page .cart_totals tr,
.olune-cart-page .cart_totals th,
.olune-cart-page .cart_totals td{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
}
.olune-cart-page .cart_totals .shipping ul{
  display:grid!important;
  gap:10px!important;
}
.olune-cart-page .cart_totals .shipping li{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  line-height:1.45!important;
}
.olune-cart-page .wc-proceed-to-checkout a.checkout-button{
  max-width:100%!important;
  white-space:normal!important;
}
.olune-cart-page .spar-cart-points,
.olune-cart-page .points-rewards,
.olune-cart-page [class*="reward"],
.olune-cart-page [class*="points"]{
  float:none!important;
  position:static!important;
  transform:none!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 0 18px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.olune-cart-page .woocommerce-cart-form,
.olune-cart-page .olune-cart-embed,
.olune-cart-page form.woocommerce-cart-form{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
}
.olune-price-locked{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 12px!important;
  border:1px solid rgba(2,15,48,.18)!important;
  border-radius:999px!important;
  background:#f5f7fb!important;
  color:#020f30!important;
  font-size:13px!important;
  font-weight:800!important;
}
.olune-login-price-button{
  background:#020f30!important;
  border-radius:10px!important;
  color:#d4b36d!important;
  font-weight:900!important;
}
/* Shorten loyalty point micro-copy where third-party plugin injects it. */
body .woocommerce ul.products li.product [class*="point"],
body .woocommerce ul.products li.product [class*="reward"]{
  font-size:13px!important;
  line-height:1.35!important;
}
@media(max-width:900px){
  .olune-cart-page .cart_totals,
  .olune-cart-page .spar-cart-points,
  .olune-cart-page .points-rewards,
  .olune-cart-page [class*="reward"],
  .olune-cart-page [class*="points"]{max-width:100%!important;}
}


/* v0.3.17: show restricted products but lock only aesthetic/POM prices */
body.olune-lock-restricted-prices .woocommerce ul.products li.product.olune-restricted-price-locked .price,
body.olune-lock-restricted-prices .woocommerce div.product.olune-restricted-price-locked p.price,
body.olune-lock-restricted-prices .woocommerce div.product.olune-restricted-price-locked span.price{
  display:none!important;
}
.woocommerce ul.products li.product.olune-restricted-price-locked .olune-price-locked,
.woocommerce div.product.olune-restricted-price-locked .olune-price-locked{
  margin:8px 0 10px!important;
}
.woocommerce ul.products li.product:not(.olune-restricted-price-locked) .price{
  display:block!important;
}
/* Keep normal products fully visible to guests and logged-in users. */
.woocommerce ul.products li.product.product_cat-normal-products .price,
.woocommerce ul.products li.product.product_cat-consumables .price,
.woocommerce ul.products li.product.product_cat-supplements .price{
  display:block!important;
}
/* Compact third-party points text, including nested links/spans. */
.woocommerce ul.products li.product [class*="point"],
.woocommerce ul.products li.product [class*="reward"]{
  font-weight:700!important;
}
/* Stronger cart/basket summary reset so the order summary is not pushed off-canvas. */
.woocommerce-account .olune-cart-page .cart-collaterals,
.olune-cart-page .cart-collaterals{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;
  gap:24px!important;
  align-items:start!important;
  overflow:visible!important;
}
.woocommerce-account .olune-cart-page .cart_totals,
.olune-cart-page .cart_totals{
  grid-column:2!important;
  width:100%!important;
  max-width:420px!important;
  justify-self:end!important;
}
.woocommerce-account .olune-cart-page .spar-cart-points,
.woocommerce-account .olune-cart-page .points-rewards,
.woocommerce-account .olune-cart-page [class*="reward"],
.woocommerce-account .olune-cart-page [class*="points"],
.olune-cart-page .spar-cart-points,
.olune-cart-page .points-rewards,
.olune-cart-page [class*="reward"],
.olune-cart-page [class*="points"]{
  grid-column:1!important;
  max-width:520px!important;
  align-self:start!important;
}
.olune-cart-page .cart_totals table.shop_table th,
.olune-cart-page .cart_totals table.shop_table td{
  width:auto!important;
  display:table-cell!important;
}
@media(max-width:1000px){
  .woocommerce-account .olune-cart-page .cart-collaterals,
  .olune-cart-page .cart-collaterals{grid-template-columns:1fr!important;}
  .woocommerce-account .olune-cart-page .cart_totals,
  .olune-cart-page .cart_totals,
  .woocommerce-account .olune-cart-page .spar-cart-points,
  .woocommerce-account .olune-cart-page .points-rewards,
  .woocommerce-account .olune-cart-page [class*="reward"],
  .woocommerce-account .olune-cart-page [class*="points"],
  .olune-cart-page .spar-cart-points,
  .olune-cart-page .points-rewards,
  .olune-cart-page [class*="reward"],
  .olune-cart-page [class*="points"]{grid-column:1!important;max-width:100%!important;justify-self:stretch!important;}
}

/* v0.3.18 - Build Order full product catalogue picker */
.olune-product-browser .olune-product-browser-head {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	margin-bottom: 18px;
}

.olune-product-searchbar {
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 2fr) minmax(220px, .75fr);
	margin-bottom: 14px;
}

.olune-product-count {
	margin: 4px 0 12px;
}

.olune-product-list {
	border: 1px solid var(--olune-line);
	border-radius: 16px;
	display: grid;
	gap: 0;
	overflow: hidden;
}

.olune-product-list-row {
	align-items: center;
	background: #FFFFFF;
	border: 0;
	border-bottom: 1px solid var(--olune-line-soft);
	color: var(--olune-navy);
	cursor: pointer;
	display: grid;
	gap: 14px;
	grid-template-columns: 62px minmax(0, 1fr) auto minmax(110px, auto);
	padding: 12px 14px;
	text-align: left;
	transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
	width: 100%;
}

.olune-product-list-row:last-child {
	border-bottom: 0;
}

.olune-product-list-row:hover,
.olune-product-list-row.selected {
	background: #F6F8FC;
	box-shadow: inset 4px 0 0 var(--olune-navy);
}

.olune-product-list-thumb {
	align-items: center;
	background: #F8F8F6;
	border: 1px solid var(--olune-line-soft);
	border-radius: 12px;
	display: flex;
	height: 54px;
	justify-content: center;
	overflow: hidden;
	width: 54px;
}

.olune-product-list-thumb img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.olune-product-list-main strong {
	color: var(--olune-navy);
	display: block;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.25;
}

.olune-product-list-main em {
	color: var(--olune-muted);
	display: block;
	font-size: 12px;
	font-style: normal;
	line-height: 1.4;
	margin-top: 4px;
}

.olune-product-list-price {
	color: var(--olune-navy);
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.olune-product-add-panel {
	border-left: 4px solid var(--olune-gold);
}

.olune-product-add-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
}

.olune-product-add-summary {
	align-items: center;
	background: #FBFAF7;
	border: 1px solid var(--olune-line-soft);
	border-radius: 18px;
	display: grid;
	gap: 16px;
	grid-template-columns: 96px minmax(0, 1fr);
	padding: 16px;
}

.olune-product-thumb.large {
	height: 96px;
	min-height: 96px;
	width: 96px;
}

.olune-product-add-summary h2 {
	margin: 0 0 6px;
}

@media (max-width: 900px) {
	.olune-product-searchbar,
	.olune-product-add-grid {
		grid-template-columns: 1fr;
	}
	.olune-product-list-row {
		grid-template-columns: 54px minmax(0, 1fr);
	}
	.olune-product-list-row .olune-type-chip,
	.olune-product-list-price {
		grid-column: 2;
	}
}


/* v0.3.19 - clean Build Order product catalogue */
.olune-product-browser.olune-card {
	background: #FFFFFF !important;
	border-top: 3px solid var(--olune-gold) !important;
}
.olune-product-browser .olune-product-browser-head h2 {
	margin: 0 0 6px !important;
}
.olune-product-list {
	background: #FFFFFF !important;
	border: 1px solid #E6E8EF !important;
	border-radius: 18px !important;
	box-shadow: 0 12px 30px rgba(2,15,48,.05) !important;
	display: grid !important;
	gap: 12px !important;
	overflow: visible !important;
	padding: 12px !important;
}
.olune-product-list-row {
	align-items: center !important;
	background: #FFFFFF !important;
	border: 1px solid #E6E8EF !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	color: var(--olune-navy) !important;
	display: grid !important;
	gap: 16px !important;
	grid-template-columns: 76px minmax(0,1fr) minmax(150px,auto) 120px !important;
	min-height: 96px !important;
	padding: 14px 16px !important;
	text-align: left !important;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
	width: 100% !important;
}
.olune-product-list-row:hover,
.olune-product-list-row.selected {
	background: #FAFBFE !important;
	border-color: var(--olune-gold) !important;
	box-shadow: 0 12px 24px rgba(2,15,48,.08) !important;
	transform: translateY(-1px) !important;
}
.olune-product-list-thumb {
	background: #F7F8FA !important;
	border: 1px solid #E3E6EE !important;
	border-radius: 14px !important;
	height: 72px !important;
	width: 72px !important;
}
.olune-product-list-thumb img {
	height: 100% !important;
	object-fit: contain !important;
	width: 100% !important;
}
.olune-product-list-main strong {
	color: var(--olune-navy) !important;
	display: block !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
}
.olune-product-list-main em {
	color: #697386 !important;
	display: block !important;
	font-size: 12px !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	margin-top: 6px !important;
}
.olune-product-list-meta {
	align-items: flex-end !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	justify-content: center !important;
}
.olune-product-list-price {
	color: var(--olune-navy) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	white-space: nowrap !important;
}
.olune-product-select {
	min-height: 42px !important;
	width: 100% !important;
}
.olune-type-chip.aesthetic { background:#F2E6BF !important; color:#7B5A10 !important; }
.olune-type-chip.general { background:#E3F2E5 !important; color:#1F6E37 !important; }
.olune-type-chip.pom { background:#F8DADA !important; color:#8A1F1F !important; }
.olune-product-searchbar input,
.olune-product-searchbar select {
	background: #FFFFFF !important;
	border: 1px solid #D9DEE8 !important;
	border-radius: 12px !important;
}
.olune-product-add-panel {
	background: #FFFFFF !important;
	border: 1px solid #E6E8EF !important;
	border-left: 4px solid var(--olune-gold) !important;
	border-radius: 18px !important;
}
@media (max-width: 1000px) {
	.olune-product-list-row { grid-template-columns: 64px minmax(0,1fr) !important; }
	.olune-product-list-meta { align-items: flex-start !important; grid-column: 2 !important; }
	.olune-product-select { grid-column: 1 / -1 !important; width: auto !important; }
}
@media (max-width: 700px) {
	.olune-product-searchbar { grid-template-columns: 1fr !important; }
	.olune-product-list-row { grid-template-columns: 1fr !important; }
	.olune-product-list-thumb,
	.olune-product-list-meta { grid-column: 1 !important; }
}


/* v0.3.20 prescriber directory and professional prescription details */
.olune-profile-summary-field{margin:0 0 26px!important;padding:22px!important;background:#f8fafc!important;border:1px solid #dfe6ef!important;border-radius:18px!important}
.olune-profile-summary-field textarea{width:100%!important;min-height:120px!important;border:1px solid #d7dfeb!important;border-radius:14px!important;padding:14px 16px!important;font-size:15px!important;line-height:1.55!important;background:#fff!important;color:#020f30!important}
.olune-profile-summary-field textarea:focus{outline:none!important;border-color:#020f30!important;box-shadow:0 0 0 4px rgba(2,15,48,.08)!important}
.olune-prescriber-search{background:#fff!important;border:1px solid #e3e7ee!important;border-radius:22px!important;padding:22px!important;margin:0 0 20px!important;box-shadow:0 16px 40px rgba(2,15,48,.05)!important}
.olune-prescriber-search label{display:block!important;margin:0 0 10px!important;font-weight:800!important;color:#020f30!important}
.olune-prescriber-search-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:12px!important;align-items:center!important}
.olune-prescriber-search-row input{width:100%!important;border:1px solid #d9e1ec!important;border-radius:14px!important;padding:14px 16px!important;color:#020f30!important;background:#fff!important}
.olune-prescriber-directory-list{display:grid!important;gap:16px!important}
.olune-prescriber-card{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:18px!important;background:#fff!important;border:1px solid #e2e7f0!important;border-left:5px solid #020f30!important;border-radius:22px!important;padding:22px!important;box-shadow:0 14px 38px rgba(2,15,48,.05)!important}
.olune-prescriber-avatar{width:58px!important;height:58px!important;border-radius:50%!important;background:#020f30!important;color:#d2b676!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important;letter-spacing:.05em!important}
.olune-prescriber-main h2{margin:0 0 8px!important;color:#020f30!important;font-size:21px!important}
.olune-prescriber-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:0 0 12px!important}
.olune-prescriber-meta span{background:#f6f8fb!important;border:1px solid #e4e9f2!important;border-radius:12px!important;padding:10px 12px!important;color:#334155!important;overflow-wrap:anywhere!important}
.olune-prescriber-main p{margin:0!important;color:#526070!important;line-height:1.6!important}
.olune-prescription-detail-list .olune-request-card{border-left-width:6px!important}
.olune-request-details-panel h3{color:#020f30!important}
@media(max-width:800px){.olune-prescriber-search-row{grid-template-columns:1fr!important}.olune-prescriber-card{grid-template-columns:1fr!important}.olune-prescriber-meta{grid-template-columns:1fr!important}}

/* v0.3.21 prescriber map */
.olune-prescriber-map-card{
  background:#fff!important;
  border:1px solid #e3e7ee!important;
  border-radius:24px!important;
  padding:22px!important;
  margin:0 0 22px!important;
  box-shadow:0 18px 44px rgba(2,15,48,.06)!important;
}
.olune-prescriber-map-card h2{margin:0 0 6px!important;color:#020f30!important;font-size:22px!important}
.olune-prescriber-map-card p{margin:0 0 16px!important;color:#64748b!important}
#olune-prescriber-map{
  width:100%!important;
  height:380px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#f3f6fb!important;
  border:1px solid #dbe3ee!important;
}
.olune-map-info{max-width:270px!important;color:#020f30!important;font-family:inherit!important;line-height:1.45!important}
.olune-map-info strong{display:block!important;font-size:16px!important;margin-bottom:6px!important;color:#020f30!important}
.olune-map-info span{display:block!important;margin:3px 0!important;color:#475569!important}
.olune-map-info p{margin:8px 0 0!important;color:#334155!important;font-size:13px!important}
@media(max-width:700px){#olune-prescriber-map{height:300px!important}.olune-prescriber-map-card{padding:16px!important}}

/* v0.3.22 prescriber map visibility fallback */
.olune-map-loading{
  min-height:380px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  color:#020f30!important;
  font-weight:800!important;
  text-align:center!important;
  background:linear-gradient(135deg,#f7f9fc,#eef3fb)!important;
}
.olune-map-help{font-size:13px!important;margin-top:10px!important;color:#64748b!important}

/* v0.3.23 practitioner marker details */
.olune-map-role{
  display:inline-flex!important;
  align-items:center!important;
  margin:0 0 8px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#edf4ff!important;
  color:#020f30!important;
  font-size:12px!important;
  font-weight:800!important;
}


/* v0.3.24 clearer prescriber map markers and popup spacing */
.olune-map-legend{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 16px!important;
  margin:10px 0 16px!important;
  color:#020f30!important;
  font-weight:800!important;
  font-size:13px!important;
}
.olune-map-legend span{display:inline-flex!important;align-items:center!important;gap:7px!important;margin:0!important}
.olune-map-key{display:inline-block!important;width:14px!important;height:14px!important;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 0 0 1px rgba(2,15,48,.18)!important}
.olune-map-key-user{background:#020f30!important}
.olune-map-key-prescriber{background:#c6aa6a!important}
.olune-map-info{
  padding:4px 28px 4px 0!important;
  max-width:300px!important;
}
.olune-map-info-user .olune-map-role{background:#e8eef9!important;color:#020f30!important}
.olune-map-info-prescriber .olune-map-role{background:#fff3d6!important;color:#7a4d00!important}
.gm-style-iw button[title="Close"]{
  top:2px!important;
  right:2px!important;
}
.gm-style-iw-d{overflow:auto!important;max-height:260px!important}


/* v0.3.25 Google map popup close button fix */
#olune-prescriber-map .gm-style-iw,
#olune-prescriber-map .gm-style-iw-c{
  border-radius:14px!important;
  padding:14px 18px!important;
  box-shadow:0 18px 45px rgba(2,15,48,.18)!important;
}
#olune-prescriber-map .gm-style-iw-d{
  overflow:visible!important;
  max-height:none!important;
  padding-right:0!important;
}
#olune-prescriber-map .gm-ui-hover-effect,
#olune-prescriber-map .gm-style-iw button[title="Close"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  padding:0!important;
  margin:0!important;
  top:6px!important;
  right:6px!important;
  border-radius:50%!important;
  opacity:.75!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:20!important;
}
#olune-prescriber-map .gm-ui-hover-effect:hover,
#olune-prescriber-map .gm-style-iw button[title="Close"]:hover{
  background:#f3f6fb!important;
  opacity:1!important;
}
#olune-prescriber-map .gm-ui-hover-effect span,
#olune-prescriber-map .gm-style-iw button[title="Close"] span{
  margin:0!important;
  background-color:#020f30!important;
}
#olune-prescriber-map .olune-map-info{
  padding:2px 34px 2px 0!important;
  max-width:320px!important;
}
#olune-prescriber-map .olune-map-info span{
  line-height:1.45!important;
}
