/**
 * Slinic — WooCommerce styling.
 *
 * WooCommerce ships functional markup with woocommerce-* classes that carry no
 * Tailwind utilities, and the Play-CDN Preflight reset flattens Woo's own base
 * styles. This file re-brands the shop, product, cart, checkout and account
 * views in the Slinic palette so they match the rest of the theme.
 *
 * Palette: navy #042454 · teal #5FB0B5 · gold #C0C5CB · ivory #F4F5F7
 *          tint #E4F4F4 · mist #D1D1D1 · charcoal #1E2733
 */

.woo-slinic {
	font-family: Manrope, system-ui, sans-serif;
	color: #1E2733;
}

/* ---------------------------------------------------------------- Headings */
.woo-slinic h1,
.woo-slinic h2,
.woo-slinic h3,
.woocommerce .product_title,
.woocommerce-account h2,
.woocommerce-cart h1,
.woocommerce-checkout h3 {
	font-family: Manrope, system-ui, sans-serif;
	color: #042454;
	font-weight: 700;
	line-height: 1.15;
}

.woocommerce-products-header__title,
.woocommerce .product_title { font-size: 2rem; }

.woocommerce-result-count { color: #1E2733; opacity: .7; font-size: .85rem; }
.woocommerce-ordering select {
	border: 1px solid #D1D1D1; border-radius: .75rem; padding: .5rem .75rem;
	background: #fff; color: #042454; font-weight: 600;
}

/* ------------------------------------------------------------ Product grid */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
	clear: both;
}
/* WooCommerce's clearfix pseudo-elements become empty grid cells (the blank
   first slot on the shop and in "Related products"). */
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }
@media (min-width: 560px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }

.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(209, 209, 209, .6);
	border-radius: 1.25rem;
	box-shadow: 0 10px 30px -18px rgba(4, 36, 84, .22);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	border-color: #b9dfe1;
	box-shadow: 0 18px 44px -18px rgba(4, 36, 84, .3);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; text-decoration: none; }
.slinic-loop-media {
	position: relative;
	aspect-ratio: 4 / 3;
	min-height: 0;
	overflow: hidden;
	background: #fff;
	border-bottom: 1px solid #F0EDE4;
}
/* Absolutely placed so a tall pack shot can't stretch the 4:3 frame. */
.woocommerce ul.products li.product .slinic-loop-media img {
	position: absolute; inset: 0;
	box-sizing: border-box;
	width: 100%; height: 100%;
	padding: 1.25rem;
	margin: 0;
	object-fit: contain;
	aspect-ratio: auto;
	border-radius: 0;
	background: transparent;
	transition: transform .35s ease;
}
.woocommerce ul.products li.product:hover .slinic-loop-media img { transform: scale(1.04); }
.slinic-loop-badge {
	position: absolute; top: .8rem; left: .8rem; z-index: 1;
	padding: .3rem .65rem; border-radius: 9999px;
	background: #042454; color: #fff;
	font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.slinic-loop-cat {
	display: block; padding: 1rem 1.25rem 0;
	font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: #287378;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: Manrope, system-ui, sans-serif;
	color: #042454;
	font-size: 1.15rem;
	font-weight: 700;
	padding: .3rem 1.25rem .3rem;
	line-height: 1.25;
}
.woocommerce ul.products li.product .price {
	display: block;
	padding: 0 1.25rem;
	color: #042454;
	font-weight: 700;
	font-size: 1rem;
	margin-bottom: 1rem;
}
.woocommerce ul.products li.product .price del { opacity: .5; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: #042454; }
.woocommerce ul.products li.product .button { margin: auto 1.25rem 1.25rem !important; }

/* --------------------------------------------------------------- Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .woocommerce-message a.button,
.woocommerce-page a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #042454;
	color: #fff;
	font-family: Manrope, system-ui, sans-serif;
	font-weight: 600;
	font-size: .95rem;
	border: 0;
	border-radius: 9999px;
	padding: .7rem 1.4rem;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s ease, transform .15s ease;
	text-decoration: none;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: #0C1B33; color: #fff; transform: translateY(-1px); }

/* Gold "primary action" buttons (checkout, place order) */
.woocommerce #payment #place_order,
.woocommerce .checkout-button.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: #042454 !important;
	color: #fff !important;
	font-weight: 700;
	width: 100%;
	padding: .95rem 1.5rem;
	font-size: 1.05rem;
}
.woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: #1b3358 !important; }

.woocommerce .added_to_cart {
	margin-top: .5rem;
	color: #287378;
	font-weight: 600;
	font-size: .85rem;
	text-decoration: underline;
}
.woocommerce ul.products li.product .button { margin-top: auto; }

/* ------------------------------------------------------- Single product */
.woocommerce div.product::before,
.woocommerce div.product::after { content: none !important; display: none !important; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.images,
.woocommerce-page div.product div.summary { float: none !important; width: 100% !important; margin: 0 0 1.5rem; }
@media (min-width: 900px) {
	.woocommerce div.product {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 3.5rem;
		align-items: start;
	}
	.woocommerce div.product > * { grid-column: 1 / -1; }
	.woocommerce div.product > div.images { grid-column: 1; }
	.woocommerce div.product > div.summary { grid-column: 2; }
}

/* Gallery card */
.woocommerce div.product div.images {
	position: relative;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid rgba(209, 209, 209, .6);
	border-radius: 1.5rem;
	box-shadow: 0 14px 40px -20px rgba(4, 36, 84, .22);
}
.woocommerce div.product div.images img { border-radius: .9rem; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: .9rem 0 0; padding: 0; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 64px !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 1px solid #E6E2D6; border-radius: .6rem; opacity: .65; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; border-color: #287378; }

/* Summary */
.woocommerce div.product .product_title {
	font-family: Manrope, system-ui, sans-serif;
	font-size: clamp(1.85rem, 3vw, 2.5rem); line-height: 1.1;
	margin: 0 0 .6rem;
}
.woocommerce div.product .price,
.woocommerce div.product p.price {
	color: #042454;
	font-weight: 800;
	font-size: 1.6rem;
	font-family: Manrope, system-ui, sans-serif;
	margin: 0 0 1rem;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: rgba(30, 39, 51, .82); font-size: 1rem; line-height: 1.65; }
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 0 .6rem; }

/* Buy box: stacked option fields, brand button (not WooCommerce lavender) */
.woocommerce div.product form.cart {
	margin: 1.5rem 0 0;
	padding: 1.35rem;
	background: #fff;
	border: 1px solid #E6E2D6;
	border-radius: 1.25rem;
}
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td { display: block; width: 100%; padding: 0; border: 0; background: none; }
.woocommerce div.product form.cart table.variations { margin: 0 0 .75rem; }
.woocommerce div.product form.cart table.variations tr { margin-bottom: .9rem; }
.woocommerce div.product form.cart table.variations th.label label {
	display: block; margin: 0 0 .35rem;
	font-size: .8rem; font-weight: 700; letter-spacing: .02em; color: #042454;
}
.woocommerce div.product form.cart table.variations select {
	width: 100%; min-width: 0; margin: 0;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	border: 1px solid #D1D1D1; border-radius: .8rem; background-color: #fff;
	padding: .8rem 2.4rem .8rem 1rem; font-size: 1rem; font-family: inherit; color: #042454; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23042454' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .95rem center; background-size: 14px;
}
.woocommerce div.product form.cart table.variations select:focus { outline: none; border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95, 176, 181, .18); }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: .4rem; font-size: .8rem; font-weight: 600; color: #287378; text-decoration: underline; }
.woocommerce div.product form.cart .woocommerce-variation-price .price { font-size: 1.3rem; margin: 0 0 .75rem; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart div.quantity input.qty {
	width: 4.25rem; text-align: center; color: #042454; font-size: 1rem;
	border: 1px solid #D1D1D1; border-radius: 9999px; padding: .8rem .4rem;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1 1 12rem; float: none;
	padding: .95rem 1.5rem; font-size: 1rem; font-weight: 700;
	background: #042454 !important; color: #fff !important; border-radius: 9999px;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #0C1B33 !important; }
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled { opacity: .4 !important; cursor: not-allowed; transform: none; }
.woocommerce div.product form.cart .stock,
.woocommerce div.product form.cart .wc-no-matching-variations { font-size: .85rem; color: rgba(30, 39, 51, .7); }

/* Reassurance + meta */
.slinic-pdp-trust { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .55rem; font-size: .9rem; color: rgba(30, 39, 51, .82); }
.slinic-pdp-trust li { display: flex; align-items: flex-start; gap: .55rem; }
.slinic-pdp-trust svg { flex: none; margin-top: .2rem; color: #287378; }
.woo-slinic .slinic-pdp-trust a { color: #042454; font-weight: 700; }
.woocommerce div.product .product_meta { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #E6E2D6; font-size: .85rem; color: rgba(30, 39, 51, .65); }
.woocommerce div.product .product_meta .sku_wrapper { display: none; }
.woo-slinic div.product .product_meta a { color: #287378; font-weight: 600; }

/* Tabs: underline style over a white content card */
.woocommerce div.product .woocommerce-tabs { margin-top: 2.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: .25rem; margin: 0; padding: 0; border-bottom: 1px solid #E6E2D6; overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block; padding: .85rem 1.1rem; margin-bottom: -1px;
	font-weight: 700; font-size: .95rem; color: rgba(30, 39, 51, .6);
	border-bottom: 2px solid transparent; text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #042454; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #042454; border-bottom-color: #042454; }
.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0; padding: 1.75rem 0 0;
	color: #1E2733; font-size: 1rem; line-height: 1.75;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description { max-width: 52rem; }
.woocommerce div.product .woocommerce-tabs .panel p { margin: 0 0 1rem; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h4,
.woocommerce div.product .woocommerce-tabs .panel h5 {
	font-family: Manrope, system-ui, sans-serif !important;
	color: #042454; font-weight: 700; line-height: 1.3;
	margin: 1.75rem 0 .6rem;
}
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.35rem; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 1.2rem; }
.woocommerce div.product .woocommerce-tabs .panel h4,
.woocommerce div.product .woocommerce-tabs .panel h5 { font-size: 1.05rem; }
.woocommerce div.product .woocommerce-tabs .panel > :first-child { margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol { margin: 0 0 1rem; padding-left: 1.25rem; }
.woocommerce div.product .woocommerce-tabs .panel ul { list-style: disc; }
.woocommerce div.product .woocommerce-tabs .panel ol { list-style: decimal; }
.woocommerce div.product .woocommerce-tabs .panel li { margin: .3rem 0; }
.woo-slinic div.product .woocommerce-tabs .panel a { color: #287378; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce div.product table.shop_attributes { width: 100%; max-width: 40rem; border: 0; border-collapse: collapse; margin: 0; }
.woocommerce div.product table.shop_attributes th,
.woocommerce div.product table.shop_attributes td { padding: .8rem 0; border: 0; border-bottom: 1px solid #F0EDE4; background: none !important; font-style: normal; text-align: left; }
.woocommerce div.product table.shop_attributes th { width: 35%; color: #042454; font-weight: 700; }
.woocommerce div.product table.shop_attributes td p { margin: 0; padding: 0; }

/* Related products */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products { margin-top: 3.5rem; }
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 { font-size: 1.5rem; margin: 0; }

.woocommerce span.onsale {
	background: #C0C5CB; color: #042454; font-weight: 700; border-radius: 9999px;
}

/* Breadcrumb */
.slinic-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 0 0 1.5rem; font-size: .85rem; color: rgba(30, 39, 51, .6); }
.woo-slinic .slinic-crumbs a { color: #287378; font-weight: 600; text-decoration: none; }
.woo-slinic .slinic-crumbs a:hover { text-decoration: underline; color: #042454; }
.slinic-crumbs__sep { color: #C9C3B3; }

/* Shop / category hero */
.slinic-shop-hero { margin-bottom: 1.5rem; }
.woo-slinic .slinic-shop-hero__title {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 2.75rem; font-weight: 600; line-height: 1.05; color: #042454;
	margin: .35rem 0 .75rem;
}
@media (min-width: 640px) { .woo-slinic .slinic-shop-hero__title { font-size: 3.5rem; } }
.slinic-shop-hero__intro { max-width: 42rem; font-size: 1.05rem; line-height: 1.65; color: rgba(30, 39, 51, .8); }
.slinic-shop-hero__intro p { margin: 0; }
.slinic-shop-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
@media (max-width: 639px) {
	.slinic-shop-chips { flex-wrap: nowrap; overflow-x: auto; margin-right: -20px; padding: 0 20px .35rem 0; scrollbar-width: none; }
	.slinic-shop-chips::-webkit-scrollbar { display: none; }
}
.woo-slinic .slinic-shop-chip {
	display: inline-flex; align-items: center; gap: .4rem; flex: none;
	padding: .5rem .95rem; border-radius: 9999px;
	border: 1px solid #D8D3C4; background: #fff;
	color: #042454; font-weight: 600; font-size: .875rem; text-decoration: none; white-space: nowrap;
	transition: border-color .15s ease, background .15s ease;
}
.slinic-shop-chip span { font-size: .72rem; font-weight: 700; color: rgba(30, 39, 51, .5); }
.woo-slinic .slinic-shop-chip:hover { border-color: #287378; color: #042454; }
.woo-slinic .slinic-shop-chip.is-active { background: #042454; border-color: #042454; color: #fff; }
.slinic-shop-chip.is-active span { color: rgba(255, 255, 255, .7); }
.woocommerce .woocommerce-result-count { margin: .6rem 0 0; }
.woocommerce .woocommerce-ordering { margin: 0 0 .5rem; }

/* -------------------------------------------------- Notices / messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top: 3px solid #5FB0B5;
	background: #E4F4F4;
	border-radius: .75rem;
	color: #042454;
}
.woocommerce-error { border-top-color: #c0492f; background: #fdecea; }

/* ------------------------------------------- Cart / checkout / account tables */
.woocommerce table.shop_table {
	border: 1px solid rgba(209,209,209,.6);
	border-radius: 1rem;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}
.woocommerce table.shop_table th {
	background: #042454; color: #fff; font-weight: 600;
	font-family: Manrope, system-ui, sans-serif;
}
.woocommerce-cart table.cart img { border-radius: .5rem; }

.woocommerce form .form-row label,
.woocommerce-account .woocommerce label { color: #042454; font-weight: 600; font-size: .9rem; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.select2-container .select2-selection {
	border: 1px solid #D1D1D1 !important;
	border-radius: .75rem !important;
	padding: .7rem .85rem !important;
	background: #fff;
	color: #1E2733;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: #5FB0B5 !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(95,176,181,.15);
}

/* -------------------------------------------------------- My Account nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0 0 1.5rem; padding: 0;
	display: flex; flex-wrap: wrap; gap: .5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: inline-block;
	padding: .55rem 1.1rem;
	border-radius: 9999px;
	background: #E4F4F4;
	color: #042454;
	font-weight: 600;
	font-size: .9rem;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #042454; color: #fff; }

.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2 {
	background: #fff;
	border: 1px solid rgba(209,209,209,.55);
	border-radius: 1.25rem;
	padding: 1.5rem;
	box-shadow: 0 12px 40px -18px rgba(4,36,84,.16);
}

/* Order review / totals card */
.woocommerce-checkout #order_review,
.woocommerce-cart .cart-collaterals .cart_totals {
	background: #fff;
	border: 1px solid rgba(209,209,209,.55);
	border-radius: 1.25rem;
	padding: 1.5rem;
	box-shadow: 0 12px 40px -18px rgba(4,36,84,.16);
}

/* Scope link colouring to the content wrapper only. WooCommerce puts a bare
 * `woocommerce` class on <body> for shop/archive views, so an unscoped
 * `.woocommerce a` rule would recolour the header CTA and footer links
 * (navy-on-navy = invisible). .woo-slinic is the theme's content wrapper. */
.woo-slinic a { color: #042454; }
.woo-slinic a:hover { color: #287378; }
.woo-slinic .button,
.woo-slinic a.button { color: #fff; }
.woo-slinic .checkout-button,
.woo-slinic #place_order { color: #042454; }

/* The bare `.woo-slinic a` link colours out-specify the theme buttons, so
 * restore their intended colours at rest AND on hover. .btn-gold is a navy
 * button in this theme (site.css), so it takes white text like .btn-primary;
 * giving it navy text made it navy-on-navy. .btn-ghost fills navy on hover. */
.woo-slinic .btn-primary,
.woo-slinic .btn-gold,
.woo-slinic .btn-primary:hover,
.woo-slinic .btn-gold:hover,
.woo-slinic .btn-ghost:hover { color: #fff; }
.woo-slinic .btn-ghost { color: #042454; }

/* =======================================================================
   Bespoke checkout — 2-column: details (left) + sticky summary/pay (right)
   ======================================================================= */

.woocommerce-checkout .woocommerce { max-width: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout > .woocommerce > .woocommerce-notices-wrapper { margin-bottom: 1.25rem; }

/* Page heading a touch tighter */
.woocommerce-checkout .entry-title,
.woocommerce-checkout h1.entry-title { margin-bottom: 1.5rem; }

@media (min-width: 901px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
		grid-template-rows: min-content 1fr;
		column-gap: 2rem;
		align-items: start;
	}
	.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 1 / 3; }
	.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; align-self: start; }
	.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; align-self: start; position: sticky; top: 96px; }
	/* The theme's checkout template lays itself out (.pharmo-co-grid); this
	   older form-level grid squeezed it into the first column. */
	.woocommerce-checkout form.checkout.pharmo-checkout { display: block; }
}

/* Stack billing + additional-info as two cards in the left column */
.woocommerce-checkout #customer_details.col2-set { display: flex; flex-direction: column; gap: 1.25rem; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; margin: 0; }

/* Section headings */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #customer_details .col-2 > h3 {
	font-family: Manrope, system-ui, sans-serif;
	font-weight: 700; color: #042454; font-size: 1.15rem; margin: 0 0 1.1rem;
}
.woocommerce-checkout #order_review_heading { font-size: 1.2rem; margin: 0 0 1rem; }

/* Photo-ID card sits flush inside the additional-info card */
.woocommerce-checkout .pharmo-id-upload { border: 0; padding: 1.25rem 0 0; margin: 1.25rem 0 0; border-top: 1px solid #eee7d9; border-radius: 0; }

/* Order summary: drop the "Product | Subtotal" header row, tidy the rows */
.woocommerce-checkout #order_review table.shop_table { border: 0 !important; box-shadow: none; margin: 0 0 1.25rem; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	border: 0; padding: 0.5rem 0; background: transparent; color: #1E2733; font-size: 0.92rem;
}
.woocommerce-checkout #order_review table.shop_table tbody .cart_item td { border-bottom: 1px solid #eee7d9; padding: 0.75rem 0; }
.woocommerce-checkout #order_review table.shop_table .product-name { font-weight: 600; color: #042454; }
.woocommerce-checkout #order_review table.shop_table .product-total { text-align: right; white-space: nowrap; }
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .cart-subtotal td { padding-top: 0.85rem; }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	font-size: 1.1rem; font-weight: 800; color: #042454; padding-top: 0.5rem;
}

/* Payment methods as clean radio cards */
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods {
	border: 0 !important; padding: 0; margin: 0 0 1rem; background: transparent; list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
	list-style: none; border: 1px solid rgba(209, 209, 209, 0.6); border-radius: 0.9rem;
	padding: 0.9rem 1.05rem; margin: 0 0 0.65rem; background: #fff; transition: border-color 0.15s, box-shadow 0.15s;
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: #5FB0B5; box-shadow: 0 0 0 3px rgba(95, 176, 181, 0.14); }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; color: #042454; display: inline; margin: 0; }
.woocommerce-checkout #payment div.payment_box {
	background: #F4F5F7 !important; border-radius: 0.7rem; margin: 0.7rem 0 0 !important;
	padding: 0.8rem 1rem; font-size: 0.82rem; color: rgba(30, 39, 51, 0.75);
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { font-size: 0.78rem; color: rgba(30, 39, 51, 0.6); margin: 0.85rem 0; }
.woocommerce-checkout #payment .form-row.place-order { padding: 0; margin: 0.5rem 0 0; }

/* Trust footnote under the place-order button */
.woocommerce-checkout #order_review::after {
	content: "🔒 Secure checkout · Reviewed by a UK-registered prescriber before dispatch";
	display: block; margin-top: 0.9rem; text-align: center;
	font-size: 0.78rem; color: rgba(30, 39, 51, 0.55);
}

/* =======================================================================
   Order-received (thank-you) — order details + billing address cards
   ======================================================================= */
.pharmo-thankyou__details { display: grid; gap: 1.5rem; align-items: start; }
@media (min-width: 768px) {
	.pharmo-thankyou__details { grid-template-columns: 1.5fr 1fr; }
}
.pharmo-thankyou__details .woocommerce-order-details,
.pharmo-thankyou__details .woocommerce-customer-details {
	margin: 0; background: #fff;
	border: 1px solid rgba(209, 209, 209, 0.55); border-radius: 1.25rem;
	padding: 1.5rem 1.75rem; box-shadow: 0 12px 40px -18px rgba(4, 36, 84, 0.16);
}
.pharmo-thankyou__details h2,
.pharmo-thankyou__details h3 {
	font-family: Manrope, system-ui, sans-serif; font-weight: 700; color: #042454;
	font-size: 1.15rem; margin: 0 0 1.1rem;
}

/* Order details table */
.pharmo-thankyou__details table.shop_table { border: 0 !important; box-shadow: none; margin: 0; width: 100%; }
.pharmo-thankyou__details table.shop_table thead th {
	border: 0; border-bottom: 1px solid #eee7d9; padding: 0 0 0.6rem; background: transparent;
	font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #1B6B70;
}
.pharmo-thankyou__details table.shop_table td,
.pharmo-thankyou__details table.shop_table tbody th {
	border: 0; padding: 0.65rem 0; background: transparent; color: #1E2733; font-size: 0.92rem;
}
.pharmo-thankyou__details table.shop_table tbody td { border-bottom: 1px solid #f0ece0; }
.pharmo-thankyou__details table.shop_table .product-name { font-weight: 600; color: #042454; }
.pharmo-thankyou__details table.shop_table .product-total,
.pharmo-thankyou__details table.shop_table td.woocommerce-table__product-total { text-align: right; white-space: nowrap; }
.pharmo-thankyou__details table.shop_table tfoot th,
.pharmo-thankyou__details table.shop_table tfoot td {
	border: 0; border-top: 1px solid #eee7d9; padding: 0.55rem 0; background: transparent;
	color: rgba(30, 39, 51, 0.75); font-weight: 600; font-size: 0.9rem; text-align: left;
}
.pharmo-thankyou__details table.shop_table tfoot td { text-align: right; }
.pharmo-thankyou__details table.shop_table tfoot .order-total th,
.pharmo-thankyou__details table.shop_table tfoot .order-total td {
	font-size: 1.1rem; font-weight: 800; color: #042454; border-top-width: 1px; padding-top: 0.7rem;
}

/* Billing address */
.pharmo-thankyou__details .woocommerce-customer-details address {
	border: 0; border-radius: 0; padding: 0; font-style: normal;
	line-height: 1.75; color: #1E2733; font-size: 0.92rem;
}
.pharmo-thankyou__details .woocommerce-customer-details p { margin: 0.6rem 0 0; color: rgba(30, 39, 51, 0.7); font-size: 0.9rem; }
.pharmo-thankyou__details .woocommerce-customer-details a { color: #1B6B70; }

/* Hide WooCommerce's default "Order received" line + overview when our hero is present */
.pharmo-thankyou > .woocommerce-notice--success,
.pharmo-thankyou .woocommerce-order > p.woocommerce-notice { display: none; }

/* Payment-method note (COD line / BACS bank details) — full-width card above the grid */
.pharmo-thankyou__pay {
	background: #F4F5F7; border: 1px solid #E6E2D6; border-radius: 1rem;
	padding: 1rem 1.25rem; font-size: 0.9rem; color: rgba(30, 39, 51, 0.8);
}
.pharmo-thankyou__pay > :first-child { margin-top: 0; }
.pharmo-thankyou__pay > :last-child { margin-bottom: 0; }
.pharmo-thankyou__pay h2 { font-size: 1.05rem; color: #042454; margin: 0 0 0.6rem; }
.pharmo-thankyou__pay .wc-bacs-bank-details-account-name,
.pharmo-thankyou__pay ul { margin: 0; padding: 0; list-style: none; }
.pharmo-thankyou__pay li { padding: 0.15rem 0; }

/* =======================================================================
   My Account — dashboard redesign (sidebar + content card)
   ======================================================================= */
/* The short account content lets main.min-h-screen show its white background
   below the page — tint main to match so there is no empty white box. */
body.woocommerce-account #main { background-color: #F4F5F7; }

.woocommerce-account .woocommerce { display: grid; gap: 1.5rem; align-items: start; }
/* WooCommerce's clearfix ::before/::after would otherwise become stray grid
   cells and shove the nav + content into the wrong places. */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { content: none; display: none; }
/* woocommerce-layout.css sets float + width:30%/68% on these; inside a grid cell
   that shrinks them to 30%/68% OF THE COLUMN. Force them to fill their column. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
@media (min-width: 860px) {
	/* Signed in only: signed out, the account page is the login or the
	   lost-password form, which have no sidebar and need the full width. */
	.logged-in.woocommerce-account .woocommerce { grid-template-columns: 244px minmax(0, 1fr); }
	.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
	.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
}

/* Sidebar navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff; border: 1px solid rgba(209, 209, 209, 0.55); border-radius: 1.25rem;
	padding: 0.75rem; box-shadow: 0 12px 40px -18px rgba(4, 36, 84, 0.16); margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex; flex-direction: column; gap: 0.2rem; margin: 0; padding: 0; list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex; align-items: center; width: 100%; padding: 0.7rem 1rem; border-radius: 0.8rem;
	background: transparent; color: #042454; font-weight: 600; font-size: 0.92rem; text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #E4F4F4; color: #1B6B70; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #042454; color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout { margin-top: 0.35rem; border-top: 1px solid #eee7d9; padding-top: 0.35rem; }

/* Content card */
.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff; border: 1px solid rgba(209, 209, 209, 0.55); border-radius: 1.25rem;
	padding: 1.75rem 2rem; box-shadow: 0 12px 40px -18px rgba(4, 36, 84, 0.16); min-height: 420px;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { margin-top: 0; }

/* Dashboard */
.pharmo-acct__welcome h2 { font-family: Manrope, system-ui, sans-serif; font-weight: 700; font-size: 1.6rem; color: #042454; margin: 0.3rem 0 0.5rem; }
.pharmo-acct__lead { color: rgba(30, 39, 51, 0.7); font-size: 0.95rem; max-width: 44rem; margin: 0; }
.pharmo-acct__tiles { display: grid; gap: 0.9rem; margin: 1.5rem 0; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 620px) { .pharmo-acct__tiles { grid-template-columns: repeat(4, 1fr); } }
.pharmo-acct-tile {
	display: flex; flex-direction: column; gap: 0.1rem; padding: 1.1rem; border-radius: 1rem;
	border: 1px solid #E6E2D6; background: #F4F5F7; text-decoration: none;
	transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.pharmo-acct-tile:hover { border-color: #5FB0B5; transform: translateY(-2px); box-shadow: 0 12px 26px -14px rgba(4, 36, 84, 0.3); }
.pharmo-acct-tile__icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 0.7rem; background: #E4F4F4; color: #1B6B70; margin-bottom: 0.5rem; }
.pharmo-acct-tile__title { font-weight: 700; color: #042454; font-size: 0.95rem; }
.pharmo-acct-tile__desc { font-size: 0.8rem; color: rgba(30, 39, 51, 0.6); }
.pharmo-acct-tile--gold { background: linear-gradient(180deg, #FBF1D3, #F4F5F7); border-color: #E7D9A6; }
.pharmo-acct-tile--gold .pharmo-acct-tile__icon { background: #C0C5CB; color: #042454; }

.pharmo-acct__recent-head { display: flex; align-items: center; justify-content: space-between; margin: 1.75rem 0 0.75rem; }
.pharmo-acct__recent-head h3 { font-family: Manrope, system-ui, sans-serif; font-weight: 700; color: #042454; font-size: 1.15rem; margin: 0; }
.woocommerce-account .pharmo-acct__recent-head a { font-size: 0.85rem; font-weight: 600; color: #1B6B70; text-decoration: none; }
.pharmo-acct-orders { list-style: none; margin: 0; padding: 0; }
.pharmo-acct-order { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 0.9rem 0; border-bottom: 1px solid #f0ece0; }
.pharmo-acct-order:last-child { border-bottom: 0; }
.pharmo-acct-order > div { display: flex; flex-direction: column; min-width: 8rem; }
.pharmo-acct-order__num { font-weight: 700; color: #042454; font-size: 0.92rem; }
.pharmo-acct-order__date { font-size: 0.8rem; color: rgba(30, 39, 51, 0.55); }
.pharmo-acct-order__status { margin-left: auto; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.3rem 0.7rem; border-radius: 9999px; background: rgba(192, 197, 203, 0.18); color: #45525F; white-space: nowrap; }
.pharmo-status--completed, .pharmo-status--prescribe-approve { background: #D1FAE5; color: #065f46; }
.pharmo-status--prescribe-decline, .pharmo-status--cancelled, .pharmo-status--failed { background: #FEE2E2; color: #b91c1c; }
.pharmo-acct-order__total { font-weight: 700; color: #042454; font-size: 0.92rem; white-space: nowrap; }
.woocommerce-account .pharmo-acct-order__view { font-size: 0.85rem; font-weight: 600; color: #fff; background: #042454; border-radius: 9999px; padding: 0.4rem 1rem; text-decoration: none; }
.woocommerce-account .pharmo-acct-order__view:hover { background: #1b3358; }
.pharmo-acct__empty { text-align: center; padding: 2rem 1rem; }
.pharmo-acct__empty p { color: rgba(30, 39, 51, 0.6); margin: 0 0 1rem; }

/* Travel letter card (My Account dashboard) */
.pharmo-travel { margin: 1.75rem 0 0; padding: 1.5rem 1.6rem; border-radius: 1.1rem; background: #F4F5F7; border: 1px solid #E4E8ED; }
.pharmo-travel__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.pharmo-travel__top > div { flex: 1 1 22rem; min-width: 0; }
.woo-slinic .pharmo-travel__title, .pharmo-travel__title { display: flex; align-items: flex-start; gap: .55rem; margin: 0 0 .35rem; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600; font-size: 1.6rem; line-height: 1.15; color: #042454; }
.pharmo-travel__title svg { flex: none; margin-top: .3rem; }
.pharmo-travel__top p { margin: 0; max-width: 40rem; color: rgba(30, 39, 51, .85); line-height: 1.5; }
.pharmo-travel__btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 9999px; padding: .85rem 1.6rem; background: #042454; color: #fff !important; font-family: Manrope, system-ui, sans-serif; font-weight: 600; font-size: .95rem; text-decoration: none; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #5FB0B5; transition: background .15s ease; white-space: nowrap; }
.pharmo-travel__btn:hover, .pharmo-travel__btn:focus-visible { background: #0C1B33; }
.pharmo-travel__tips { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .6rem 2rem; grid-template-columns: 1fr; }
@media (min-width: 760px) { .pharmo-travel__tips { grid-template-columns: 1fr 1fr; } }
.pharmo-travel__tips li { position: relative; padding-left: 1.6rem; font-size: .9rem; color: rgba(30, 39, 51, .85); line-height: 1.45; }
.pharmo-travel__tips li::before { content: ""; position: absolute; left: .15rem; top: .3rem; width: .75rem; height: .4rem; border-left: 2px solid #5FB0B5; border-bottom: 2px solid #5FB0B5; transform: rotate(-45deg); }
@media (max-width: 520px) { .pharmo-travel { padding: 1.25rem 1.1rem; } .pharmo-travel__btn { width: 100%; white-space: normal; text-align: center; } }

/* Orders / downloads tables inside the account content card */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { border: 0 !important; box-shadow: none; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th { background: #042454; color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th {
	background: transparent !important; color: #1E2733; border-bottom: 1px solid #f0ece0;
	padding: 0.85rem 0.75rem; vertical-align: middle;
}
.woocommerce-account .woocommerce-orders-table__cell-order-number a { color: #042454; font-weight: 700; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { padding: 0.45rem 1.1rem; font-size: 0.85rem; }

/* =======================================================================
   My Account — sub-pages (view order, addresses, account details)
   ======================================================================= */
.woocommerce-MyAccount-content > p:first-of-type { color: rgba(30, 39, 51, 0.7); }

/* ---- View order ---- */
.pharmo-order-view__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.pharmo-order-view__date { margin: 0.2rem 0 0; color: rgba(30, 39, 51, 0.6); font-size: 0.9rem; }
.pharmo-order-view__status {
	font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
	padding: 0.35rem 0.85rem; border-radius: 9999px; white-space: nowrap;
	background: rgba(192, 197, 203, 0.18); color: #45525F;
}
.pharmo-order-view__note {
	display: flex; align-items: flex-start; gap: 0.7rem; margin: 1.25rem 0;
	padding: 1rem 1.15rem; border-radius: 1rem; background: #E4F4F4; border: 1px solid #cfeaec;
	color: #0f4d51; font-size: 0.9rem; line-height: 1.5;
}
.pharmo-order-view__note svg { flex: none; color: #1B6B70; margin-top: 0.1rem; }
.pharmo-order-view__details { margin-top: 1.5rem; }
.pharmo-order-view__details .woocommerce-order-details__title,
.pharmo-order-view__details .woocommerce-column__title { font-size: 1.1rem; margin: 0 0 0.9rem; }
.pharmo-order-view__details .woocommerce-customer-details { margin-top: 1.5rem; }

/* Order-details table inside the account (no heavy navy blocks on the footer rows) */
.woocommerce-MyAccount-content .woocommerce-table--order-details,
.woocommerce-MyAccount-content table.order_details { border: 0 !important; box-shadow: none; margin: 0; }
.woocommerce-MyAccount-content .woocommerce-table--order-details thead th,
.woocommerce-MyAccount-content table.order_details thead th { background: #042454; color: #fff; }
.woocommerce-MyAccount-content .woocommerce-table--order-details tbody td,
.woocommerce-MyAccount-content table.order_details tbody td,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td,
.woocommerce-MyAccount-content table.order_details tfoot th,
.woocommerce-MyAccount-content table.order_details tfoot td {
	background: transparent !important; color: #1E2733; border: 0; border-top: 1px solid #f0ece0;
	padding: 0.7rem 0.75rem;
}
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th,
.woocommerce-MyAccount-content table.order_details tfoot th { color: rgba(30, 39, 51, 0.7); font-weight: 600; text-align: left; }
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot .order-total th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot .order-total td,
.woocommerce-MyAccount-content table.order_details tfoot .order-total th,
.woocommerce-MyAccount-content table.order_details tfoot .order-total td { color: #042454; font-weight: 800; font-size: 1.05rem; }
.woocommerce-MyAccount-content .woocommerce-table--order-details .product-name a { color: #042454; font-weight: 600; }

/* Billing / customer details card */
.woocommerce-MyAccount-content .woocommerce-customer-details address,
.woocommerce-MyAccount-content .woocommerce-Address address {
	border: 1px solid #eee7d9; border-radius: 1rem; background: #F4F5F7;
	padding: 1.1rem 1.25rem; font-style: normal; line-height: 1.75; color: #1E2733; font-size: 0.92rem;
}
.woocommerce-MyAccount-content .woocommerce-customer-details p { margin: 0.5rem 0 0; color: rgba(30, 39, 51, 0.7); }

/* ---- Addresses ---- */
.woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.75rem; }
.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size: 1.1rem; margin: 0; }
.woocommerce-account .woocommerce-Address-title a.edit { font-size: 0.85rem; font-weight: 600; color: #1B6B70; white-space: nowrap; }

/* ---- Account details form ---- */
.woocommerce-EditAccountForm fieldset { border: 0; border-top: 1px solid #eee7d9; margin: 1.5rem 0 0; padding: 1.25rem 0 0; }
.woocommerce-EditAccountForm fieldset legend { font-family: Manrope, system-ui, sans-serif; font-weight: 700; color: #042454; font-size: 1.05rem; padding: 0; margin-bottom: 0.5rem; }
.woocommerce-EditAccountForm .woocommerce-form-row { margin-bottom: 1.1rem; }

/* ------------------------------------------------- Footer badges on Woo pages
 * WooCommerce's ".woocommerce-page img { height:auto }" outranks Tailwind's
 * h-[..] utilities, so on basket / checkout / account the GPhC, ICO and
 * LegitScript marks rendered at full size (up to 789px wide). */
.woocommerce-page footer img[class~="h-[52px]"] { height: 52px; }
.woocommerce-page footer img[class~="h-[79px]"] { height: 79px; }
.woocommerce-page footer img[class~="w-[73px]"] { width: 73px; }

/* ------------------------------------------- Login / create account (signed out)
 * woocommerce/myaccount/form-login.php: navy welcome panel + tabbed form card. */
/* The signed-in account grid (nav | content) also wraps this view: span it. */
.slinic-login { grid-column: 1 / -1; width: 100%; max-width: 68rem; margin: 0 auto; }
.slinic-login__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	overflow: hidden;
	border-radius: 1.75rem;
	border: 1px solid rgba(209, 209, 209, .7);
	background: #fff;
	box-shadow: 0 24px 60px -24px rgba(4, 36, 84, .28);
}
@media (min-width: 900px) {
	.slinic-login__card { grid-template-columns: 5fr 6fr; }
}

/* Welcome panel */
.slinic-login__intro {
	position: relative;
	padding: 2rem 1.5rem 1.75rem;
	color: rgba(255, 255, 255, .82);
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(95, 176, 181, .28) 0%, rgba(95, 176, 181, 0) 60%),
		linear-gradient(160deg, #042454 0%, #0C1B33 100%);
}
@media (min-width: 900px) {
	.slinic-login__intro { padding: 3rem 2.75rem; display: flex; flex-direction: column; }
}
.slinic-login__eyebrow {
	font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: #C0C5CB;
}
.woo-slinic .slinic-login__title {
	margin-top: .6rem;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 2.25rem; font-weight: 600; line-height: 1.05; color: #fff;
}
@media (min-width: 900px) { .woo-slinic .slinic-login__title { font-size: 3rem; } }
.slinic-login__lead { margin-top: .9rem; font-size: 1rem; line-height: 1.6; }
.slinic-login__perks { margin: 1.75rem 0 0; padding: 0; list-style: none; display: grid; gap: 1.1rem; }
.slinic-login__perks li { display: flex; gap: .85rem; align-items: flex-start; }
.slinic-login__perks strong { display: block; color: #fff; font-size: .95rem; font-weight: 700; }
.slinic-login__perks li > span:last-child > span { display: block; margin-top: .15rem; font-size: .875rem; line-height: 1.5; color: rgba(255, 255, 255, .7); }
.slinic-login__perk-icon {
	display: flex; flex: none; align-items: center; justify-content: center;
	width: 2.25rem; height: 2.25rem; border-radius: .75rem;
	background: rgba(95, 176, 181, .18); color: #5FB0B5;
}
.slinic-login__reg {
	margin-top: 1.75rem; padding-top: 1.1rem;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: .8rem; color: rgba(255, 255, 255, .6);
}
@media (min-width: 900px) { .slinic-login__reg { margin-top: auto; } .slinic-login__perks { margin-bottom: 2rem; } }
@media (max-width: 899px) {
	/* Phones: keep the panel short so the form is near the top. */
	.slinic-login__perks li:nth-child(n+2) { display: none; }
	.slinic-login__reg { display: none; }
}

/* Form side */
.slinic-login__forms { padding: 1.75rem 1.5rem 2rem; }
@media (min-width: 900px) { .slinic-login__forms { padding: 3rem 3rem 2.75rem; } }
.slinic-login__tabs {
	display: grid; grid-template-columns: 1fr 1fr; gap: .25rem;
	padding: .3rem; margin-bottom: 1.75rem;
	border-radius: 9999px; background: #F4F5F7; border: 1px solid #E6E4DD;
}
.slinic-login__tabs button {
	white-space: nowrap;
	padding: .7rem 1rem; border-radius: 9999px;
	font-size: .9375rem; font-weight: 700; color: #1E2733; opacity: .65;
	background: transparent; border: 0; cursor: pointer;
	transition: background .18s ease, color .18s ease, opacity .18s ease, box-shadow .18s ease;
}
.slinic-login__tabs button:hover { opacity: 1; }
.slinic-login__tabs button[aria-selected="true"] {
	background: #fff; color: #042454; opacity: 1;
	box-shadow: 0 1px 2px rgba(4, 36, 84, .08), 0 4px 12px -4px rgba(4, 36, 84, .18);
}
.slinic-login__panel[hidden] { display: none; }
.woo-slinic .slinic-login__h2 { font-size: 1.375rem; margin: 0 0 1.25rem; }
.slinic-login .woocommerce-form { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; }
.slinic-login .form-row { margin: 0 0 1.1rem !important; padding: 0 !important; }
.slinic-login .form-row label { display: block; margin-bottom: .4rem; }
.slinic-login .form-row label .required { color: #b42318; }
.slinic-login input.input-text {
	width: 100%;
	padding: .85rem 1rem !important;
	font-size: 1rem;
	background: #fff;
}
.slinic-login input.input-text::placeholder { color: rgba(30, 39, 51, .4); }
.slinic-login .password-input { position: relative; display: block; }
.slinic-login .password-input input.input-text { padding-right: 3rem !important; }
.slinic-login .show-password-input {
	position: absolute; top: 50%; right: .85rem; transform: translateY(-50%);
	background: transparent; border: 0; padding: .25rem; cursor: pointer; color: #042454; opacity: .6;
}
.slinic-login .show-password-input:hover { opacity: 1; }
.slinic-login__row {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem;
	margin: .25rem 0 1.5rem;
	font-size: .9rem;
}
.slinic-login__row label { display: inline-flex; align-items: center; gap: .5rem; color: #1E2733 !important; font-weight: 500 !important; cursor: pointer; }
.slinic-login__row input[type="checkbox"] { width: 1.05rem; height: 1.05rem; accent-color: #042454; }
.woo-slinic .slinic-login__forgot { font-weight: 600; color: #287378; text-decoration: underline; text-underline-offset: 3px; }
.slinic-login .slinic-login__submit {
	width: 100%; float: none !important; margin: 0 !important;
	padding: 1rem 1.5rem !important; font-size: 1rem !important;
	background: #042454 !important; color: #fff !important; border-radius: 9999px !important;
}
.slinic-login .slinic-login__submit:hover { background: #0C1B33 !important; transform: translateY(-1px); }
.slinic-login__alt {
	margin-top: 1.5rem; padding-top: 1.25rem;
	border-top: 1px solid #E6E4DD;
	font-size: .9rem; line-height: 1.6; color: rgba(30, 39, 51, .8);
}
.woo-slinic .slinic-login__alt a,
.slinic-login__link {
	font-weight: 700; color: #287378; text-decoration: underline; text-underline-offset: 3px;
	background: none; border: 0; padding: 0; cursor: pointer; font-size: inherit;
}
.slinic-login__privacy,
.slinic-login__note { margin: 0 0 1.25rem; font-size: .8125rem; line-height: 1.55; color: rgba(30, 39, 51, .7); }
.slinic-login__privacy p { margin: 0; }
.slinic-login__notices .woocommerce-error,
.slinic-login__notices .woocommerce-message,
.slinic-login__notices .woocommerce-info { margin: 0 0 1.25rem !important; border-radius: .9rem; }

/* Lost / reset password: same card treatment as the login. */
.woo-slinic form.woocommerce-ResetPassword {
	grid-column: 1 / -1;
	width: 100%;
	max-width: 32rem;
	margin: 0 auto !important;
	padding: 2rem 1.75rem !important;
	border: 1px solid rgba(209, 209, 209, .7) !important;
	border-radius: 1.5rem !important;
	background: #fff;
	box-shadow: 0 24px 60px -24px rgba(4, 36, 84, .22);
}
.woo-slinic form.woocommerce-ResetPassword .form-row { float: none; width: 100%; }
.woo-slinic form.woocommerce-ResetPassword .button {
	width: 100%; padding: 1rem 1.5rem !important; border-radius: 9999px !important;
	background: #042454 !important; color: #fff !important; font-weight: 600;
}


/* =======================================================================
   My Account — audit fixes (Oct 2026)
   ======================================================================= */

/* Dashboard "View" pills keep white text on hover. */
.woo-slinic a.pharmo-acct-order__view,
.woo-slinic a.pharmo-acct-order__view:hover { color: #fff; }
.woo-slinic a.pharmo-acct-order__view:hover { background: #0C1B33; }
.pharmo-acct-tile:hover .pharmo-acct-tile__title { color: #042454; }

/* Dashboard: "choose your treatment" for a passed, unfinished assessment */
.pharmo-acct__resume {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
	margin: 1.25rem 0 0; padding: 1.1rem 1.25rem; border-radius: 1rem;
	background: #FBF6E6; border: 1px solid #E7D9A6;
}
.pharmo-acct__resume p { margin: 0; font-size: .9rem; color: rgba(30, 39, 51, .8); max-width: 34rem; }
.pharmo-acct__resume .pharmo-acct__resume-title { font-weight: 700; color: #042454; font-size: 1rem; margin-bottom: .2rem; }

/* Orders list */
.pharmo-orders-head { margin-bottom: 1.25rem; }
.woo-slinic .pharmo-orders-head h2 { font-size: 1.5rem; margin: .25rem 0 0; }
.pharmo-orders { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.pharmo-orders__item {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem;
	padding: 1.1rem 1.25rem; border-radius: 1rem;
	border: 1px solid #E6E2D6; background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.pharmo-orders__item:hover { border-color: #b9dfe1; box-shadow: 0 10px 24px -16px rgba(4, 36, 84, .3); }
.pharmo-orders__main { min-width: 0; flex: 1 1 18rem; }
.pharmo-orders__top { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.pharmo-orders__top .pharmo-acct-order__status { margin-left: 0; }
.woo-slinic .pharmo-orders__num { font-weight: 800; color: #042454; text-decoration: none; font-size: 1rem; }
.woo-slinic .pharmo-orders__num:hover { color: #287378; text-decoration: underline; }
.pharmo-orders__what { margin: .35rem 0 0; font-weight: 600; color: #1E2733; font-size: .95rem; }
.pharmo-orders__meta { margin: .15rem 0 0; font-size: .82rem; color: rgba(30, 39, 51, .6); }
.pharmo-orders__side { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.pharmo-orders__total { font-weight: 800; color: #042454; font-size: 1.05rem; white-space: nowrap; }
.pharmo-orders__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.woo-slinic .pharmo-orders__btn { padding: .55rem 1.15rem; font-size: .875rem; }
.woo-slinic .pharmo-orders__link { font-size: .85rem; font-weight: 600; color: #b42318; text-decoration: underline; align-self: center; }
.pharmo-orders__pager { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; }
.pharmo-status--await-payment { background: #FEF3C7; color: #92400e; }
.pharmo-status--await-approval, .pharmo-status--processing { background: #E4F4F4; color: #0f4d51; }

.pharmo-orders-empty { text-align: center; padding: 2.5rem 1rem 2rem; border: 1px dashed #D8D3C4; border-radius: 1.25rem; background: #FBFAF8; }
.pharmo-orders-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 1rem; background: #E4F4F4; color: #287378; }
.woo-slinic .pharmo-orders-empty h3 { margin: 1rem 0 .4rem; font-size: 1.25rem; }
.pharmo-orders-empty p { margin: 0 auto; max-width: 30rem; color: rgba(30, 39, 51, .7); font-size: .95rem; line-height: 1.6; }
.pharmo-orders-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.4rem; }

/* View order: unfinished assessment draft */
.pharmo-unfinished { padding: .5rem 0; max-width: 36rem; }
.pharmo-unfinished__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: .9rem; background: #FBF6E6; color: #8a6d1c; margin-bottom: 1rem; }
.woo-slinic .pharmo-unfinished h2 { font-size: 1.5rem; margin: .3rem 0 .6rem; }
.pharmo-unfinished p { color: rgba(30, 39, 51, .8); line-height: 1.6; margin: 0 0 1.4rem; }

/* View order: status note colours, pay button, tracking, reorder */
.pharmo-order-view__note { flex-wrap: wrap; align-items: center; }
.pharmo-order-view__note > span { flex: 1 1 16rem; }
.pharmo-order-view__note--await-payment { background: #FEF7E0; border-color: #F3E1A8; color: #6b4f0e; }
.pharmo-order-view__note--await-payment svg { color: #92400e; }
.pharmo-order-view__note--prescribe-approve { background: #E9F8F0; border-color: #BFE8D1; color: #065f46; }
.pharmo-order-view__note--prescribe-approve svg { color: #047857; }
.pharmo-order-view__note--prescribe-decline { background: #FEF1F1; border-color: #F8CFCF; color: #8f1d1d; }
.pharmo-order-view__note--prescribe-decline svg { color: #b91c1c; }
.woo-slinic .pharmo-order-view__pay { padding: .6rem 1.25rem; font-size: .9rem; }
.pharmo-order-view__tracking {
	display: flex; align-items: center; gap: .6rem; margin: -.5rem 0 1.25rem;
	padding: .8rem 1.1rem; border-radius: .9rem; border: 1px solid #E6E2D6; background: #FBFAF8;
	font-size: .9rem; color: #1E2733;
}
.pharmo-order-view__tracking svg { color: #287378; flex: none; }
.pharmo-order-view__tracking strong { letter-spacing: .02em; color: #042454; }
.pharmo-order-view__again {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
	margin-top: 1.75rem; padding: 1.25rem 1.4rem; border-radius: 1rem;
	background: linear-gradient(135deg, #042454, #0C1B33); color: rgba(255, 255, 255, .8);
}
.woo-slinic .pharmo-order-view__again h3 { color: #fff; margin: 0 0 .25rem; font-size: 1.1rem; }
.pharmo-order-view__again p { margin: 0; font-size: .9rem; }
.woo-slinic .pharmo-order-view__again .btn-primary { background: #fff; color: #042454; }
.woo-slinic .pharmo-order-view__again .btn-primary:hover { background: #E4F4F4; color: #042454; }

/* Addresses: card header with the edit/add action as a small pill */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { padding: 1.25rem 1.35rem; }
.woocommerce-MyAccount-content .woocommerce-Address-title { flex-wrap: wrap; justify-content: space-between; }
.woocommerce-account .woocommerce-Address-title a.edit {
	display: inline-flex; align-items: center; padding: .35rem .85rem; border-radius: 9999px;
	background: #E4F4F4; color: #0f4d51; text-decoration: none; font-size: .8rem;
}
.woocommerce-account .woocommerce-Address-title a.edit:hover { background: #cdebeb; color: #042454; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row { padding-left: 0; padding-right: 0; }

/* Unpaid orders: the "Pay now" in the status note replaces WooCommerce's
   "Actions: Pay" row in the totals table (it was showing twice). */
.pharmo-order-view--needs-payment tr:has(> .order-actions--heading) { display: none; }
.woo-slinic a.pharmo-order-view__track { margin-left: auto; font-weight: 700; color: #287378; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* Pharmacy Shop product pages: leaflet, limit and pharmacy details. */
.slinic-pharmacy-box { margin: 1.25rem 0; padding: 0.9rem 1.1rem; border: 1px solid rgba(95, 176, 181, 0.4); border-radius: 0.9rem; background: #F2FAFA; font-size: 0.88rem; color: #1E2733; }
.slinic-pharmacy-box p { margin: 0 0 0.45rem; }
.slinic-pharmacy-box p:last-child { margin-bottom: 0; }
.slinic-pharmacy-box a { color: #1B6B70; font-weight: 600; text-decoration: underline; }
.slinic-pharmacy-box__limit { font-weight: 700; color: #042454; }
.slinic-pharmacy-box__who { font-size: 0.8rem; color: rgba(30, 39, 51, 0.75); }
