/**
 * WooCommerce + FAS Tailwind — seamless shop styling.
 */

/* Shop catalog + tertiary nav content width */
.fas-shop-layout {
	max-width: var(--fas-shop-layout-max-width, 1200px);
}

/* Layout */
.fas-woocommerce .woocommerce-main,
.fas-wc-page__content {
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	color: #05255a;
}

.fas-wc-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
}

.fas-wc-breadcrumb a {
	color: #1964a7;
	text-decoration: none;
	font-weight: 500;
}

.fas-wc-breadcrumb a:hover {
	color: #05255a;
	text-decoration: underline;
}

/* Notices */
.fas-woocommerce .woocommerce-message,
.fas-woocommerce .woocommerce-info,
.fas-wc-page .woocommerce-message,
.fas-wc-page .woocommerce-info {
	border-left-color: #1964a7;
	background: #eef1f7;
	color: #05255a;
}

.fas-woocommerce .woocommerce-error,
.fas-wc-page .woocommerce-error {
	border-left-color: #c0392b;
}

/* Buttons */
.fas-woocommerce a.button,
.fas-woocommerce button.button,
.fas-woocommerce input.button,
.fas-woocommerce #respond input#submit,
.fas-wc-page a.button,
.fas-wc-page button.button,
.fas-wc-page input.button,
.fas-wc-page .checkout-button {
	background-color: #f39c2d !important;
	color: #05255a !important;
	border: none !important;
	border-radius: 0.25rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.65rem 1.25rem;
	transition: opacity 0.2s ease;
}

.fas-woocommerce a.button:hover,
.fas-woocommerce button.button:hover,
.fas-woocommerce input.button:hover,
.fas-wc-page a.button:hover,
.fas-wc-page button.button:hover {
	opacity: 0.9;
	color: #05255a !important;
}

.fas-woocommerce a.button.alt,
.fas-woocommerce button.button.alt,
.fas-wc-page a.button.alt {
	background-color: #05255a !important;
	color: #fff !important;
}

/* Product grid (shop home, category archives, tags) */
.fas-woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* WC clearfix ::before/::after become empty grid cells when display is grid */
.fas-woocommerce ul.products::before,
.fas-woocommerce ul.products::after {
	content: none;
	display: none;
}

@media (min-width: 640px) {
	.fas-woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.fas-woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.fas-woocommerce ul.products.columns-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* Product cards — image → title/price → full-width CTA (matches shop homepage) */
.fas-woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.375rem;
	overflow: hidden;
	background: #fff;
	box-shadow: none;
	transition: box-shadow 0.2s ease;
}

.fas-woocommerce ul.products li.product:hover {
	box-shadow: 0 2px 8px rgba(5, 37, 90, 0.08);
}

.fas-woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: inherit;
}

.fas-woocommerce ul.products li.product .woocommerce-loop-product__link img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 1.25rem 1.25rem 0.5rem;
	box-sizing: border-box;
	object-fit: contain;
	object-position: center;
	background: #fff;
	border-radius: 0;
}

.fas-woocommerce ul.products li.product .woocommerce-loop-product__title {
	flex: 1 1 auto;
	width: 100%;
	margin: 0;
	padding: 0.75rem 1.25rem 0.35rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: #05255a;
	text-decoration: none;
}

.fas-woocommerce ul.products li.product .woocommerce-loop-product__title a {
	color: inherit;
	text-decoration: none;
}

.fas-woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
	color: #1964a7;
	text-decoration: underline;
}

.fas-woocommerce ul.products li.product .price {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 1.25rem 1rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	color: rgba(5, 37, 90, 0.65);
}

.fas-woocommerce ul.products li.product .price .amount {
	font-weight: 600;
	color: #05255a;
}

.fas-woocommerce ul.products li.product a.button {
	width: 100%;
	margin: 0;
	padding: 0.85rem 1rem;
	border: 0 !important;
	border-top: 1px solid rgba(5, 37, 90, 0.12) !important;
	border-radius: 0 0 0.375rem 0.375rem;
	background: #fff !important;
	color: #05255a !important;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
	box-shadow: none;
}

.fas-woocommerce ul.products li.product a.button:hover,
.fas-woocommerce ul.products li.product a.add_to_cart_button:hover {
	background: rgba(128, 150, 196, 0.3) !important;
	color: #05255a !important;
	opacity: 1;
}

/*
 * Shop tertiary nav (below primary header on catalog pages).
 */
.fas-shop-tertiary-nav {
	background: #fff;
	border-bottom: 1px solid rgba(5, 37, 90, 0.12);
}

.fas-shop-tertiary-nav__row {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 1rem;
	min-height: 2.75rem;
}

.fas-shop-tertiary-nav__list {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: stretch;
	align-self: stretch;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
}

.fas-shop-tertiary-nav__utilities {
	display: flex;
	flex: 0 0 auto;
	align-items: stretch;
	align-self: stretch;
	margin-left: auto;
	gap: 0;
}

.fas-shop-tertiary-nav__cart {
	display: flex;
	flex: 0 0 auto;
	align-items: stretch;
	align-self: stretch;
	padding: 0;
}

.fas-shop-tertiary-nav__search {
	position: relative;
	display: flex;
	align-items: stretch;
}

.fas-shop-tertiary-nav__search-toggle {
	justify-content: center;
	min-width: 2.75rem;
	padding-left: 0.875rem;
	padding-right: 0.875rem;
}

.fas-shop-tertiary-nav__search-panel {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 40;
	width: min(20rem, calc(100vw - 2rem));
	margin-top: 0.25rem;
	padding: 0.75rem;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.375rem;
	background: #fff;
	box-shadow: 0 8px 24px rgba(5, 37, 90, 0.12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.25rem);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

.fas-shop-tertiary-nav__search-panel.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.fas-shop-tertiary-nav__search-form {
	display: flex;
	gap: 0.5rem;
	align-items: stretch;
	margin: 0;
}

.fas-shop-tertiary-nav__search-input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba(25, 100, 167, 0.35);
	border-radius: 0.25rem;
	background: #fff;
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	line-height: 1.35;
}

.fas-shop-tertiary-nav__search-input:focus {
	border-color: #1964a7;
	outline: 2px solid rgba(25, 100, 167, 0.25);
	outline-offset: 0;
}

.fas-shop-tertiary-nav__search-submit {
	flex: 0 0 auto;
	padding: 0.5rem 0.875rem;
	border: 0;
	border-radius: 0.25rem;
	background: #f39c2d;
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.fas-shop-tertiary-nav__search-submit:hover {
	opacity: 0.9;
}

.fas-shop-tertiary-nav__utility-links {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	align-self: stretch;
	height: 100%;
	gap: 0;
	margin: 0;
	padding: 0;
}

.fas-shop-tertiary-nav__utility-link {
	gap: 0.35rem;
}

.fas-shop-tertiary-nav__item--shop-all {
	margin-left: 0.25rem;
}

.fas-shop-tertiary-nav__shop-all-btn {
	background: transparent !important;
	color: #05255a !important;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.fas-shop-tertiary-nav__shop-all-btn:hover,
.fas-shop-tertiary-nav__shop-all-btn.is-active {
	background: #f39c2d !important;
	color: #05255a !important;
}

.fas-shop-tertiary-nav__shop-all-btn.is-active:hover {
	background: #e08f24 !important;
	color: #05255a !important;
}

.fas-shop-tertiary-nav .fas-header-cart {
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
}

.fas-shop-tertiary-nav .fas-header-cart:hover {
	color: #1964a7;
	background: rgba(25, 100, 167, 0.06);
	opacity: 1;
}

.fas-shop-tertiary-nav .fas-header-cart__count {
	line-height: 1.25;
}

.fas-shop-tertiary-nav__item {
	display: flex;
	align-items: stretch;
	position: relative;
	margin: 0;
}

.fas-shop-tertiary-nav__link,
.fas-shop-tertiary-nav__trigger {
	display: inline-flex;
	align-items: center;
	align-self: stretch;
	box-sizing: border-box;
	min-height: 100%;
	padding: 0.75rem 1.125rem;
	border: 0;
	background: transparent;
	color: #05255a;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.fas-shop-tertiary-nav__link:hover,
.fas-shop-tertiary-nav__trigger:hover,
.fas-shop-tertiary-nav__link.is-active {
	color: #1964a7;
	background: rgba(25, 100, 167, 0.06);
}

.fas-shop-nav__submenu {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 30;
	min-width: 14rem;
	max-height: 18rem;
	margin: 0;
	padding: 0.35rem 0;
	overflow-y: auto;
	list-style: none;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.25rem;
	background: #fff;
	box-shadow: 0 4px 16px rgba(5, 37, 90, 0.1);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.25rem);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

.fas-shop-tertiary-nav__item--has-submenu:hover .fas-shop-tertiary-nav__submenu,
.fas-shop-tertiary-nav__item--has-submenu:focus-within .fas-shop-tertiary-nav__submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.fas-shop-nav__submenu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.45rem 1rem;
	color: #05255a;
	font-size: 0.8125rem;
	font-weight: 500;
	text-decoration: none;
}

.fas-shop-nav__submenu a:hover {
	background: rgba(25, 100, 167, 0.08);
	color: #1964a7;
}

.fas-shop-nav__count {
	font-size: 0.75rem;
	color: rgba(5, 37, 90, 0.45);
}

/*
 * Shop All catalog — sidebar + product grid.
 */
.fas-shop-catalog-layout {
	display: grid;
	grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr);
	gap: 2rem 2.5rem;
	align-items: start;
	width: 100%;
}

.fas-shop-catalog-sidebar {
	position: sticky;
	top: 1.5rem;
	padding: 1rem 0;
}

.fas-shop-catalog-sidebar__title {
	margin: 0 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #1964a7;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #05255a;
}

.fas-shop-catalog-sidebar__list,
.fas-shop-catalog-sidebar__sublist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fas-shop-catalog-sidebar__item + .fas-shop-catalog-sidebar__item {
	margin-top: 0.15rem;
}

.fas-shop-catalog-sidebar__link,
.fas-shop-catalog-sidebar__sublink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.45rem 0.5rem;
	border-radius: 0.25rem;
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.fas-shop-catalog-sidebar__sublink {
	font-size: 0.8125rem;
	font-weight: 500;
}

.fas-shop-catalog-sidebar__link:hover,
.fas-shop-catalog-sidebar__sublink:hover {
	background: rgba(25, 100, 167, 0.08);
	color: #1964a7;
}

.fas-shop-catalog-sidebar__link.is-active,
.fas-shop-catalog-sidebar__sublink.is-active {
	background: #05255a;
	color: #fff;
}

.fas-shop-catalog-sidebar__link.is-active:hover,
.fas-shop-catalog-sidebar__sublink.is-active:hover {
	background: #1964a7;
	color: #fff;
}

.fas-shop-catalog-sidebar__link--shop-all.is-active,
.fas-shop-catalog-sidebar__link--shop-all.is-active:hover {
	background: #f39c2d;
	color: #05255a;
}

.fas-shop-catalog-sidebar__link--shop-all.is-active:hover {
	background: #e08f24;
}

.fas-shop-catalog-sidebar__link--shop-all.is-active .fas-shop-catalog-sidebar__count {
	color: rgba(5, 37, 90, 0.55);
}

.fas-shop-catalog-sidebar__search {
	margin-bottom: 1rem;
}

.fas-shop-catalog-sidebar__search-form {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
}

.fas-shop-catalog-sidebar__search-input {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba(25, 100, 167, 0.35);
	border-radius: 0.25rem;
	background: #fff;
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	line-height: 1.35;
	box-sizing: border-box;
}

.fas-shop-catalog-sidebar__search-input:focus {
	border-color: #1964a7;
	outline: 2px solid rgba(25, 100, 167, 0.25);
	outline-offset: 0;
}

.fas-shop-catalog-sidebar__search-submit {
	padding: 0.5rem 0.75rem;
	border: 0;
	border-radius: 0.25rem;
	background: #f39c2d;
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.fas-shop-catalog-sidebar__search-submit:hover {
	opacity: 0.9;
}

.fas-shop-catalog-sidebar__count {
	font-size: 0.75rem;
	font-weight: 500;
	color: rgba(5, 37, 90, 0.45);
}

.fas-shop-catalog-sidebar__link.is-active .fas-shop-catalog-sidebar__count {
	color: rgba(255, 255, 255, 0.75);
}

.fas-shop-catalog-sidebar__sublist {
	margin: 0.15rem 0 0.35rem;
	padding-left: 0.65rem;
	border-left: 2px solid rgba(5, 37, 90, 0.1);
}

.fas-shop-catalog-sidebar__subitem + .fas-shop-catalog-sidebar__subitem {
	margin-top: 0.1rem;
}

.fas-shop-catalog-main {
	min-width: 0;
}

.fas-shop-catalog-main .woocommerce-products-header {
	margin-bottom: 1.25rem;
}

@media (max-width: 767px) {
	.fas-shop-catalog-layout {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.fas-shop-catalog-sidebar {
		position: static;
		padding: 0;
		border: 1px solid rgba(5, 37, 90, 0.12);
		border-radius: 0.375rem;
		background: #fafbfc;
	}

	.fas-shop-catalog-sidebar__nav {
		padding: 0.75rem 1rem 1rem;
	}

	.fas-shop-catalog-sidebar__list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem;
	}

	.fas-shop-catalog-sidebar__item,
	.fas-shop-catalog-sidebar__item + .fas-shop-catalog-sidebar__item {
		margin-top: 0;
	}

	.fas-shop-catalog-sidebar__sublist {
		display: none;
	}
}

/*
 * Shop homepage section headings (featured / popular).
 */
.fas-woocommerce .fas-shop-home-section {
	margin-bottom: 2.5rem;
}

/* Homepage product rows: 4 across from tablet up (smaller cards than catalog default) */
@media (min-width: 640px) {
	.fas-woocommerce .fas-shop-home-section ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}
}

@media (max-width: 639px) {
	.fas-woocommerce .fas-shop-home-section ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}
}

.fas-woocommerce .fas-shop-home-section__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.2;
	color: #05255a;
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
}

/* Homepage shortcode grids: full-bleed image, title → price → button */
.fas-woocommerce .fas-shop-home-section ul.products li.product .woocommerce-loop-product__link {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	overflow: hidden;
	border-radius: 0.375rem 0.375rem 0 0;
	text-align: center;
}

.fas-woocommerce .fas-shop-home-section ul.products li.product .woocommerce-loop-product__link img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	object-fit: contain;
	object-position: center top;
	border-radius: 0.375rem 0.375rem 0 0;
	background: #fff;
}

.fas-woocommerce .fas-shop-home-section ul.products li.product .woocommerce-loop-product__title {
	display: block;
	flex: 1 1 auto;
	width: 100%;
	margin: 0;
	padding: 0.75rem 1.25rem 0.35rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: #05255a;
	text-decoration: none;
}

.fas-woocommerce .fas-shop-home-section ul.products li.product .woocommerce-loop-product__title a {
	color: inherit;
	text-decoration: none;
}

.fas-woocommerce .fas-shop-home-section ul.products li.product .woocommerce-loop-product__title a:hover {
	color: #1964a7;
	text-decoration: underline;
}

.fas-woocommerce .fas-shop-home-section ul.products li.product > .price {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 1.25rem 1rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	color: rgba(5, 37, 90, 0.65);
}

.fas-woocommerce .fas-shop-home-section ul.products li.product > .price .amount {
	font-weight: 600;
	color: #05255a;
}

/* Category / shop archives: 4 columns from tablet (matches homepage sections) */
@media (min-width: 640px) and (max-width: 1023px) {
	.fas-woocommerce.tax-product_cat ul.products,
	.fas-woocommerce.tax-product_tag ul.products,
	.fas-woocommerce.post-type-archive-product ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}
}

@media (max-width: 639px) {
	.fas-woocommerce.tax-product_cat ul.products,
	.fas-woocommerce.tax-product_tag ul.products,
	.fas-woocommerce.post-type-archive-product ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}
}

/* Category / archive page title — match homepage section heading */
.fas-woocommerce.tax-product_cat .woocommerce-products-header__title,
.fas-woocommerce.tax-product_cat h1.page-title,
.fas-woocommerce.post-type-archive-product h1.page-title,
.fas-woocommerce.tax-product_tag .woocommerce-products-header__title,
.fas-woocommerce.tax-product_tag h1.page-title {
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: #05255a;
	margin: 0 0 1.5rem;
	padding-bottom: 0.65rem;
	border-bottom: 3px solid #1964a7;
	max-width: max-content;
}

/* Archive sorting — result count + order dropdown */
.fas-woocommerce .woocommerce-result-count,
.fas-woocommerce .woocommerce-ordering {
	margin-bottom: 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #05255a;
}

.fas-woocommerce .woocommerce-ordering {
	display: inline-block;
}

.fas-woocommerce .woocommerce-ordering .orderby {
	display: block;
	min-width: 13rem;
	min-height: 2.75rem;
	padding: 0.625rem 2.5rem 0.625rem 1rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.4;
	color: #05255a;
	background-color: #fff;
	border: 1px solid rgba(5, 37, 90, 0.2);
	border-radius: 0.375rem;
	cursor: pointer;
	box-sizing: border-box;
}

.fas-woocommerce .woocommerce-ordering .orderby:focus {
	outline: 2px solid rgba(25, 100, 167, 0.35);
	outline-offset: 2px;
	border-color: #1964a7;
}

/* ==========================================================================
   Single product — clean card layout (reference: Seedbed-style shop)
   ========================================================================== */

body.single-product.fas-woocommerce .site-main.woocommerce-main {
	background-color: transparent;
	padding-top: 1.5rem;
	padding-bottom: 3rem;
}

.fas-woocommerce.single-product div.product {
	margin-bottom: 0;
}

/* Gallery + summary card */
.fas-woocommerce.single-product .fas-product-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
	background: transparent;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.5rem;
	padding: 1.5rem;
	margin-bottom: 2.5rem;
}

@media (min-width: 992px) {
	.fas-woocommerce.single-product .fas-product-card {
		grid-template-columns: minmax(0, 40%) minmax(0, 60%);
		gap: 2.5rem;
		padding: 2rem 2.25rem;
		align-items: start;
	}
}

.fas-woocommerce.single-product .fas-product-card > span.onsale {
	grid-column: 1 / -1;
	justify-self: start;
}

.fas-woocommerce.single-product .fas-product-card .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.fas-woocommerce.single-product .fas-product-card .summary.entry-summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0;
}

.fas-woocommerce.single-product .fas-product-card .woocommerce-product-gallery__image img {
	border-radius: 0.25rem;
}

.fas-woocommerce.single-product .product_title {
	font-family: "Playfair Display", serif;
	color: #3d3d3d;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 0.75rem 1.25rem;
}

.fas-woocommerce.single-product .summary p.price,
.fas-woocommerce.single-product .summary span.price {
	color: #3d3d3d;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	margin: 0 0 1.25rem 1.25rem;
}

.fas-woocommerce.single-product .summary p.price .amount {
	font-weight: 600;
}

.fas-woocommerce.single-product .woocommerce-product-details__short-description {
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #3d3d3d;
	margin: 0 0 1.25rem 1.25rem;
}

.fas-woocommerce.single-product .woocommerce-product-details__short-description p {
	margin: 0 0 1rem;
	font-family: inherit;
}

/* Variations / format selector */
.fas-woocommerce.single-product table.variations {
	margin: 0 0 1.25rem;
	border: none;
}

.fas-woocommerce.single-product table.variations th,
.fas-woocommerce.single-product table.variations td {
	border: none;
	padding: 0.35rem 0;
	vertical-align: middle;
}

.fas-woocommerce.single-product table.variations label {
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #3d3d3d;
}

.fas-woocommerce.single-product table.variations select,
.fas-woocommerce.single-product .summary select {
	border: 1px solid rgba(5, 37, 90, 0.2);
	border-radius: 0.25rem;
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	font-size: 0.9375rem;
	color: #3d3d3d;
	background-color: #fff;
	min-width: 12rem;
}

.fas-woocommerce.single-product .reset_variations {
	font-size: 0.8125rem;
	color: rgba(5, 37, 90, 0.55);
}

/* Stock status spacing */
.fas-woocommerce.single-product .summary .stock {
	display: block;
	margin: 0 0 1.25rem 1.25rem;
	font-size: 0.9375rem;
}

/* Woo Discount Rules — bulk table flush with description (no wrapper padding) */
.fas-woocommerce.single-product .summary .awdr-bulk-customizable-table {
	display: block;
	width: 100%;
	margin: 0 0 1.25rem 1.25rem;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	clear: both;
	box-sizing: border-box;
}

.fas-woocommerce.single-product form.cart .awdr-bulk-customizable-table {
	margin: 0 0 1rem;
	width: 100%;
}

.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg {
	display: table !important;
	width: 100% !important;
	border-collapse: collapse;
	margin: 0;
	table-layout: auto;
}

.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg thead,
.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg tbody {
	display: table-row-group !important;
}

.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg tr {
	display: table-row !important;
}

.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg th,
.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg td {
	display: table-cell !important;
	padding: 0.65rem 1rem;
	border-bottom: 1px solid rgba(5, 37, 90, 0.1);
	text-align: left;
	vertical-align: middle;
	white-space: normal;
	background: #fff;
	color: #3d3d3d;
}

.fas-woocommerce.single-product .summary table.wdr_bulk_table_msg .wdr_bulk_table_thead th {
	background: #05255a;
	color: #fff;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
}

.fas-woocommerce.single-product .summary .awdr_discount_bar {
	display: block;
	margin: 0 0 1rem 1.25rem;
	padding: 0;
	background: transparent;
	color: #3d3d3d;
}

.fas-woocommerce.single-product form.cart .awdr_discount_bar {
	margin: 0 0 1rem;
}

.fas-woocommerce.single-product .summary .awdr_discount_bar_content {
	display: block;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.5;
	word-break: break-word;
	color: #3d3d3d;
}

/* Cart form: discount table full width, qty + button aligned on one row */
.fas-woocommerce.single-product form.cart {
	margin: 1.25rem 0 0 1.25rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1.25rem;
	row-gap: 0.75rem;
}

.fas-woocommerce.single-product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	margin: 0;
	float: none;
}

.fas-woocommerce.single-product form.cart .quantity .qty {
	border: 1px solid rgba(5, 37, 90, 0.2);
	border-radius: 0.25rem;
	width: 3.5rem;
	height: 2.75rem;
	padding: 0.5rem;
	box-sizing: border-box;
	text-align: center;
	font-size: 0.9375rem;
	line-height: 1.25;
}

.fas-woocommerce.single-product .summary .single_add_to_cart_button,
.fas-woocommerce.single-product .summary button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	float: none;
	min-height: 2.75rem;
	box-sizing: border-box;
	background-color: #f39c2d !important;
	color: #05255a !important;
	border: none !important;
	border-radius: 0.25rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase !important;
	padding: 0.65rem 1.25rem !important;
	transition: opacity 0.2s ease;
}

.fas-woocommerce.single-product .summary .single_add_to_cart_button:hover,
.fas-woocommerce.single-product .summary button.single_add_to_cart_button:hover {
	background-color: rgba(128, 150, 196, 0.3) !important;
	color: #05255a !important;
	opacity: 1;
}

/* Grouped products / group pricing tables inside summary */
.fas-woocommerce.single-product form.cart.grouped_form {
	display: block;
}

.fas-woocommerce.single-product form.grouped_form {
	margin-top: 1.5rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.5rem;
	background: transparent;
}

@media (min-width: 768px) {
	.fas-woocommerce.single-product form.grouped_form {
		padding: 1.5rem 1.75rem;
	}
}

.fas-woocommerce.single-product form.grouped_form table.group_table {
	margin: 0 0 1rem;
	border: none;
}

.fas-woocommerce.single-product form.grouped_form table.group_table th {
	background: #4a6b6f;
	color: #fff;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.65rem 1rem;
	border: none;
}

.fas-woocommerce.single-product form.grouped_form table.group_table td {
	padding: 0.65rem 1rem;
	border-bottom: 1px solid rgba(5, 37, 90, 0.1);
	font-size: 0.875rem;
}

/* Extra boxes after add to cart (plugins) */
.fas-woocommerce.single-product .summary > .cart ~ *:not(script):not(style) {
	margin-top: 1.25rem;
	margin-left: 1.25rem;
}

/* Tabs — underline nav + spaced content panel */
.fas-woocommerce.single-product .woocommerce-tabs {
	margin-top: 2.5rem;
	padding: 0;
	clear: both;
	background: transparent;
}

.fas-woocommerce.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0 2.5rem;
	margin: 0 0 1.25rem !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	overflow: visible;
}

.fas-woocommerce.single-product .woocommerce-tabs ul.tabs::before,
.fas-woocommerce.single-product .woocommerce-tabs ul.tabs::after {
	display: none !important;
}

.fas-woocommerce.single-product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static;
}

.fas-woocommerce.single-product .woocommerce-tabs ul.tabs li::before,
.fas-woocommerce.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.fas-woocommerce.single-product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	color: rgba(61, 61, 61, 0.55);
	padding: 0.75rem 0 0.625rem;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	text-decoration: none;
	box-shadow: none !important;
}

.fas-woocommerce.single-product .woocommerce-tabs ul.tabs li.active a,
.fas-woocommerce.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: #05255a;
	border-bottom-color: #1964a7 !important;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel,
.fas-woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	background: #fafbfc;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.5rem;
	padding: 2rem 2rem 2.25rem;
	margin: 0 0 2rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #3d3d3d;
}

@media (min-width: 768px) {
	.fas-woocommerce.single-product .woocommerce-tabs .panel,
	.fas-woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		padding: 2.25rem 2.5rem 2.5rem;
	}
}

/* Tab labels already name the section — hide duplicate in-panel headings */
.fas-woocommerce.single-product .woocommerce-tabs .panel#tab-description > h2:first-child,
.fas-woocommerce.single-product .woocommerce-tabs .panel#tab-additional_information > h2:first-child,
.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews .woocommerce-Reviews-title {
	display: none;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel > *:first-child,
.fas-woocommerce.single-product .woocommerce-tabs .woocommerce-Tabs-panel > *:first-child {
	margin-top: 0;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel p,
.fas-woocommerce.single-product .woocommerce-tabs .woocommerce-noreviews,
.fas-woocommerce.single-product .woocommerce-tabs .woocommerce-verification-required {
	margin: 0 0 1rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #3d3d3d;
}

.fas-woocommerce.single-product .woocommerce-tabs .woocommerce-verification-required:last-child {
	margin-bottom: 0;
}

/* Reviews tab — comfortable inner padding */
.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews.panel,
.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews.woocommerce-Tabs-panel {
	padding: 1.75rem 2rem 2rem !important;
}

@media (min-width: 768px) {
	.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews.panel,
	.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews.woocommerce-Tabs-panel {
		padding: 2rem 2.5rem 2.25rem !important;
	}
}

.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews #reviews.woocommerce-Reviews {
	margin: 0;
	padding: 0.25rem 0.125rem 0;
}

.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews #comments {
	margin: 0 0 1.25rem;
	padding: 0;
}

.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews .woocommerce-noreviews {
	margin: 0 0 1rem;
}

.fas-woocommerce.single-product .woocommerce-tabs #tab-reviews .woocommerce-verification-required {
	margin: 0;
	padding: 0;
}

/* Additional information — left-aligned attribute rows */
.fas-woocommerce.single-product #tab-additional_information.panel,
.fas-woocommerce.single-product #tab-additional_information.woocommerce-Tabs-panel {
	padding: 1.25rem 1.5rem 1.5rem;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes,
.fas-woocommerce.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: collapse;
	text-align: left;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes th,
.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes td,
.fas-woocommerce.single-product .woocommerce-tabs .panel .woocommerce-product-attributes-item__label,
.fas-woocommerce.single-product .woocommerce-tabs .panel .woocommerce-product-attributes-item__value {
	text-align: left !important;
	padding: 0.65rem 1rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-style: normal;
	line-height: 1.5;
	vertical-align: top;
	border-top: 0;
	border-bottom: 1px solid rgba(5, 37, 90, 0.1);
	background: transparent !important;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes tr:nth-child(even) th,
.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes tr:nth-child(even) td {
	background: transparent !important;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes tr:last-child th,
.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes tr:last-child td {
	border-bottom: none;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes th,
.fas-woocommerce.single-product .woocommerce-tabs .panel .woocommerce-product-attributes-item__label {
	width: auto;
	min-width: 8rem;
	max-width: 40%;
	padding-right: 1.5rem;
	font-weight: 600;
	color: #05255a;
	white-space: nowrap;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel table.shop_attributes td,
.fas-woocommerce.single-product .woocommerce-tabs .panel .woocommerce-product-attributes-item__value {
	color: #3d3d3d;
	font-weight: 400;
}

.fas-woocommerce.single-product .woocommerce-tabs .panel .woocommerce-product-attributes-item__value p {
	margin: 0;
	padding: 0;
}

/* Related & upsells — card grid on cream */
.fas-woocommerce.single-product section.related,
.fas-woocommerce.single-product section.up-sells {
	margin-top: 3rem;
	padding-top: 0;
	clear: both;
}

.fas-woocommerce.single-product section.related > h2,
.fas-woocommerce.single-product section.up-sells > h2 {
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	color: #3d3d3d;
	margin: 0 0 1.5rem;
	padding: 0;
}

.fas-woocommerce.single-product section.related ul.products,
.fas-woocommerce.single-product section.up-sells ul.products {
	gap: 1.25rem;
}

.fas-woocommerce.single-product section.related ul.products li.product,
.fas-woocommerce.single-product section.up-sells ul.products li.product {
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.375rem;
	box-shadow: none;
	background: #fff;
}

.fas-woocommerce.single-product section.related ul.products li.product:hover,
.fas-woocommerce.single-product section.up-sells ul.products li.product:hover {
	box-shadow: 0 2px 8px rgba(5, 37, 90, 0.08);
}

.fas-woocommerce.single-product section.related ul.products li.product .woocommerce-loop-product__title,
.fas-woocommerce.single-product section.up-sells ul.products li.product .woocommerce-loop-product__title {
	width: 100%;
	margin: 0;
	padding: 0.75rem 1.25rem 0.35rem;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: #3d3d3d;
	text-align: center;
}

.fas-woocommerce.single-product section.related ul.products li.product .price,
.fas-woocommerce.single-product section.up-sells ul.products li.product .price {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0 1.25rem 1rem;
	font-size: 0.875rem;
	font-weight: 400;
	color: rgba(61, 61, 61, 0.65);
	text-align: center;
}

.fas-woocommerce.single-product section.related ul.products li.product a.button,
.fas-woocommerce.single-product section.up-sells ul.products li.product a.button {
	width: 100%;
	margin: 0;
	padding: 0.85rem 1rem;
	border: 0 !important;
	border-top: 1px solid rgba(5, 37, 90, 0.12) !important;
	border-radius: 0 0 0.375rem 0.375rem;
	background: #fff !important;
	color: #3d3d3d !important;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	box-shadow: none;
}

.fas-woocommerce.single-product section.related ul.products li.product a.button:hover,
.fas-woocommerce.single-product section.up-sells ul.products li.product a.button:hover {
	background: rgba(128, 150, 196, 0.3) !important;
	color: #05255a !important;
	opacity: 1;
}

/* Tables (cart, checkout) */
.fas-wc-page table.shop_table,
.fas-woocommerce table.shop_table {
	border-collapse: collapse;
	width: 100%;
}

.fas-wc-page table.shop_table th,
.fas-wc-page table.shop_table td,
.fas-woocommerce table.shop_table th,
.fas-woocommerce table.shop_table td {
	border-bottom: 1px solid rgba(25, 100, 167, 0.15);
	padding: 0.75rem;
}

/* Forms */
.fas-wc-page .woocommerce form .form-row input.input-text,
.fas-wc-page .woocommerce form .form-row textarea,
.fas-wc-page .woocommerce form .form-row select,
.fas-woocommerce form .form-row input.input-text,
.fas-woocommerce form .form-row textarea,
.fas-woocommerce form .form-row select {
	border: 1px solid rgba(25, 100, 167, 0.35);
	border-radius: 0.25rem;
	padding: 0.5rem 0.75rem;
}

/* Mini cart in header — plugin widget if used */
.fas-header-cart__count:empty {
	display: none;
}

/* Block checkout compatibility */
.fas-wc-page .wp-block-woocommerce-checkout,
.fas-wc-page .wc-block-checkout {
	max-width: 100%;
}

/* ==========================================================================
   Pagination — shop, categories, search (overrides WC segmented default)
   ========================================================================== */

.fas-woocommerce .woocommerce-pagination,
.fas-wc-page .woocommerce-pagination {
	margin: 2.5rem 0 1rem;
	padding: 0;
	text-align: center;
	clear: both;
}

.fas-woocommerce .woocommerce-pagination ul.page-numbers,
.fas-wc-page .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	border: none !important;
	float: none;
	white-space: normal;
}

.fas-woocommerce .woocommerce-pagination ul.page-numbers li,
.fas-wc-page .woocommerce-pagination ul.page-numbers li {
	float: none !important;
	display: block;
	margin: 0;
	padding: 0;
	border: none !important;
	overflow: visible;
}

.fas-woocommerce .woocommerce-pagination ul.page-numbers li a,
.fas-woocommerce .woocommerce-pagination ul.page-numbers li span,
.fas-wc-page .woocommerce-pagination ul.page-numbers li a,
.fas-wc-page .woocommerce-pagination ul.page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.625rem 0.875rem;
	border: 1px solid rgba(5, 37, 90, 0.2);
	border-radius: 0.375rem;
	background: #fff;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	color: #05255a;
	box-sizing: border-box;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.fas-woocommerce .woocommerce-pagination ul.page-numbers li a:hover,
.fas-wc-page .woocommerce-pagination ul.page-numbers li a:hover {
	background: rgba(25, 100, 167, 0.08);
	border-color: rgba(25, 100, 167, 0.45);
	color: #1964a7;
}

.fas-woocommerce .woocommerce-pagination ul.page-numbers li span.current,
.fas-wc-page .woocommerce-pagination ul.page-numbers li span.current {
	background: #f39c2d;
	border-color: #f39c2d;
	color: #05255a;
}

.fas-woocommerce .woocommerce-pagination ul.page-numbers li span.page-numbers.dots,
.fas-wc-page .woocommerce-pagination ul.page-numbers li span.page-numbers.dots {
	min-width: auto;
	padding: 0.625rem 0.35rem;
	border: none;
	background: transparent;
	color: rgba(5, 37, 90, 0.45);
}

/* ==========================================================================
   My Account — layout + sidebar navigation
   ========================================================================== */

/* Shortcode wrapper only (not the outer .fas-wc-page__content.woocommerce shell) */
.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: minmax(13.5rem, 17.5rem) minmax(0, 1fr);
	grid-template-areas:
		"notices notices"
		"nav content";
	gap: 1.5rem 2.5rem;
	align-items: start;
	overflow: visible;
}

.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-notices-wrapper {
	grid-area: notices;
	grid-column: 1 / -1;
}

.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-notices-wrapper:empty {
	display: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation {
	grid-area: nav;
}

.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
	grid-area: content;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
}

/* Sidebar nav card */
.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 1.5rem;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.375rem;
	background: #fff;
	box-shadow: 0 2px 12px rgba(5, 37, 90, 0.06);
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation::before {
	content: "";
	display: block;
	height: 0.25rem;
	background: #05255a;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0.35rem 0;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
	border-top: 1px solid rgba(5, 37, 90, 0.08);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	padding: 0.7rem 1rem;
	color: #05255a;
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	color: #1964a7;
	background: rgba(25, 100, 167, 0.06);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	color: #fff;
	background: #05255a;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover {
	color: #fff;
	background: #1964a7;
}

/* Logout — subtle separation */
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: rgba(5, 37, 90, 0.75);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	color: #c0392b;
	background: rgba(192, 57, 43, 0.06);
}

/* Main content panel */
.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	padding: 1.5rem 1.75rem;
	border: 1px solid rgba(5, 37, 90, 0.1);
	border-radius: 0.375rem;
	background: #fafbfc;
}

.woocommerce-account .woocommerce-MyAccount-content > *:first-child {
	margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	margin: 0 0 1rem;
	color: #05255a;
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 700;
	line-height: 1.25;
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-size: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 1.125rem;
}

.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content li {
	font-family: "Noto Sans", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #05255a;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	color: #1964a7;
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover {
	color: #05255a;
	text-decoration: underline;
}

.woocommerce-account .woocommerce-MyAccount-content mark {
	background: transparent;
	color: inherit;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
	margin-bottom: 1.25rem;
}

/* Address cards on account */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	gap: 1.25rem;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
	padding: 1.25rem;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.375rem;
	background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .title h3 {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .edit {
	float: none;
	font-size: 0.8125rem;
	font-weight: 600;
}

/* Orders / downloads tables inside account */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	background: #fff;
	border: 1px solid rgba(5, 37, 90, 0.1);
	border-radius: 0.375rem;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	background: #05255a;
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
	border-bottom: none;
}

/* Login / register when logged out */
.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-form-login):not(:has(.woocommerce-MyAccount-navigation)),
.woocommerce-account .fas-wc-page__content > .woocommerce:has(.u-columns):not(:has(.woocommerce-MyAccount-navigation)) {
	display: block;
	max-width: 32rem;
	margin: 0 auto;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	padding: 1.75rem;
	border: 1px solid rgba(5, 37, 90, 0.12);
	border-radius: 0.375rem;
	background: #fff;
	box-shadow: 0 2px 12px rgba(5, 37, 90, 0.06);
}

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
	margin-top: 0;
	font-family: "Playfair Display", Georgia, serif;
	color: #05255a;
}

@media (max-width: 767px) {
	.woocommerce-account .fas-wc-page__content > .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr;
		grid-template-areas:
			"notices"
			"nav"
			"content";
		gap: 1.25rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem;
		padding: 0.5rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 1 1 auto;
		min-width: calc(50% - 0.35rem);
		border: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li + li {
		border-top: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		justify-content: center;
		padding: 0.6rem 0.75rem;
		border: 1px solid rgba(5, 37, 90, 0.12);
		border-radius: 0.25rem;
		text-align: center;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
		border-color: #05255a;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 1.25rem 1rem;
	}
}
