/*
Theme Name: DiNerija
Template: twentytwentyfive
Description: Temporary site skeleton for the DiNerija shop (child of Twenty Twenty-Five). Final design comes in step 5.
Version: 0.2.5
Text Domain: dinerija
*/

/* Category / feature cards: lift on hover. */
.dn-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dn-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(43, 32, 36, 0.08);
}

/* Footer sits directly under the last section (no root block gap). */
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* Header icons: search toggle without the pill button style. */
header .wp-block-search__button.wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	padding: 0.35rem;
	border-radius: 50%;
}
header .wp-block-search__button.wp-element-button:hover {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--contrast);
}

/* Image placeholders until product photos are added. */
.dn-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
@media (max-width: 781px) {
	.dn-placeholder {
		min-height: 220px !important;
	}
}

/* WooCommerce product grid from the [products] shortcode. */
.dn-products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dn-products ul.products::before,
.dn-products ul.products::after {
	display: none;
}
.dn-products ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}
@media (max-width: 781px) {
	.dn-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Intro paragraph on wide-aligned page heroes: left edge follows the wide
   column, line length stays readable. */
p.dn-lead.alignwide {
	box-sizing: border-box;
	padding-right: max(0px, calc(100% - 46rem));
}

/* Contact page: quick-answer cards wrap to 2 per row on tablets. */
@media (min-width: 600px) and (max-width: 1023px) {
	.dn-quick.wp-block-columns {
		flex-wrap: wrap !important;
	}
	.dn-quick > .wp-block-column {
		flex-basis: calc(50% - 0.625rem) !important;
		flex-grow: 0;
	}
}

/* Size Guide: doll silhouettes and measuring diagram. */
.dn-figures-wrap {
	margin-top: var(--wp--preset--spacing--40);
}
.dn-figures {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	margin: 0 auto;
}
.dn-fig circle,
.dn-fig path {
	fill: var(--wp--preset--color--accent-1);
	opacity: 0.85;
	transition: opacity 0.2s ease;
}
.dn-figures a:hover .dn-fig circle,
.dn-figures a:hover .dn-fig path {
	opacity: 1;
}
.dn-fig-name {
	font-family: var(--wp--preset--font-family--literata);
	font-size: 16px;
	fill: var(--wp--preset--color--contrast);
}
.dn-fig-h {
	font-size: 12px;
	fill: var(--wp--preset--color--accent-4);
}
.dn-measure {
	display: block;
	width: 100%;
	max-width: 300px;
	height: auto;
	margin: 0 auto;
}
.dn-fig-light circle,
.dn-fig-light path {
	fill: var(--wp--preset--color--accent-2);
	opacity: 1;
}
.dn-tape {
	fill: none;
	stroke: var(--wp--preset--color--accent-1);
	stroke-width: 2;
	stroke-dasharray: 4 3;
}
.dn-leader,
.dn-height {
	stroke: var(--wp--preset--color--accent-4);
	stroke-width: 1;
}
.dn-msr-label {
	font-size: 14px;
	font-weight: 600;
	fill: var(--wp--preset--color--contrast);
}
.dn-type-card {
	scroll-margin-top: 2rem;
}
.dn-size-table td,
.dn-size-table th,
.dn-fit-table td,
.dn-fit-table th {
	font-size: 0.95rem;
	vertical-align: top;
}
@media (max-width: 600px) {
	.dn-size-table table,
	.dn-fit-table table {
		table-layout: auto;
	}
	.dn-size-table td,
	.dn-size-table th,
	.dn-fit-table td,
	.dn-fit-table th {
		font-size: 0.8rem;
		padding: 0.4em 0.35em;
	}
}

/* Product page: link to the Size Guide above the add-to-cart form. */
.dn-size-link {
	margin: 0 0 0.75rem;
}

/* Product page: "Add to Cart + Options" block (templates/single-product.html).
   Variation choices (Doll type, Color, Size) as pill buttons in theme colours. */
.wc-block-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__items {
	gap: 0.5rem;
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.55em 1.15em;
	border: 1px solid #d9cfd2;
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item:hover {
	border-color: var(--wp--preset--color--accent-1);
	background: var(--wp--preset--color--accent-2);
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item:focus,
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2);
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item[aria-checked="true"] {
	background: transparent;
	border-color: var(--wp--preset--color--accent-1);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-1);
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item:disabled {
	opacity: 0.4;
	background: transparent;
}
.wc-block-add-to-cart-with-options .wc-block-product-filter-chips__item:disabled:hover {
	border-color: #d9cfd2;
}

/* Quantity stepper: same pill shape as the buttons. */
.wc-block-add-to-cart-with-options .wc-block-components-quantity-selector.wc-block-components-quantity-selector {
	border: 1px solid #d9cfd2;
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
}
.wc-block-add-to-cart-with-options .wc-block-components-quantity-selector::after {
	display: none;
}
.wc-block-add-to-cart-with-options .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-width: 2.4rem;
	font-size: 1rem;
}
.wc-block-add-to-cart-with-options .wc-block-components-quantity-selector input[type="number"].qty {
	font-size: 0.95rem;
	padding: 0.7em 0;
}
.wc-block-add-to-cart-with-options .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus,
.wc-block-add-to-cart-with-options .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus {
	box-shadow: none;
	outline: 2px solid var(--wp--preset--color--accent-2);
	outline-offset: -2px;
	border-radius: 999px;
}

/* Variation description and notes under the form. */
.wc-block-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-description {
	font-size: 0.95rem;
	color: var(--wp--preset--color--accent-4);
}
.wc-block-add-to-cart-with-options + .dn-dispatch {
	margin-top: 1rem;
}

/* Fluent Forms: match theme colours and shapes. */
.fluentform .ff-el-group label,
.fluentform .ff-el-input--label label {
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
.fluentform .ff-el-form-control {
	border: 1px solid #d9cfd2;
	border-radius: 12px;
	background: #fff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 1rem;
	padding: 0.7rem 0.9rem;
}
.fluentform .ff-el-form-control:focus {
	border-color: var(--wp--preset--color--accent-1);
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2);
	outline: none;
}
.fluentform .ff-el-help-message {
	color: var(--wp--preset--color--accent-4);
	font-size: 0.85rem;
}
.fluentform .ff-el-is-required.asterisk-right label::after {
	color: var(--wp--preset--color--accent-1);
}
.fluentform .ff-el-is-error .ff-el-form-control {
	border-color: #b3261e;
}
.fluentform .error.text-danger {
	color: #b3261e;
	font-size: 0.85rem;
}
.fluentform .dinerija-form-note {
	color: var(--wp--preset--color--accent-4);
	font-size: 0.85rem;
	margin: 0;
}
.fluentform .ff-btn-submit,
.fluentform .ff-btn-submit:not(.ff_btn_no_style) {
	background-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	border: 0;
	border-radius: 999px;
	padding: 0.8rem 1.6rem;
	font-weight: 600;
	font-family: inherit;
	font-size: 1rem;
	opacity: 1;
}
.fluentform .ff-btn-submit:hover,
.fluentform .ff-btn-submit:not(.ff_btn_no_style):hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	opacity: 1;
}
.ff-message-success {
	border: 0;
	border-radius: 20px;
	background: var(--wp--preset--color--accent-2);
	padding: 1.5rem;
	box-shadow: none;
}

/* Product page short description (functions.php keeps its list markup). */
.dn-short-desc > :first-child {
	margin-top: 0;
}
.dn-short-desc ul {
	margin: 0.5em 0 1em;
	padding-left: 1.2em;
}
.dn-short-desc li + li {
	margin-top: 0.25em;
}

/* Shop filters (templates/archive-product.html): same pill chips as the
   product page Doll type buttons. */
.wc-block-product-filters .wc-block-product-filter-chips__items {
	gap: 0.45rem;
}
.wc-block-product-filters .wc-block-product-filter-chips__item {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.5em 1em;
	border: 1px solid #d9cfd2;
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.wc-block-product-filters .wc-block-product-filter-chips__item:hover {
	border-color: var(--wp--preset--color--accent-1);
	background: var(--wp--preset--color--accent-2);
}
.wc-block-product-filters .wc-block-product-filter-chips__item:focus,
.wc-block-product-filters .wc-block-product-filter-chips__item:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2);
}
.wc-block-product-filters .wc-block-product-filter-chips__item[aria-checked="true"] {
	background: transparent;
	border-color: var(--wp--preset--color--accent-1);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-1);
}

.wc-block-product-filters .wc-block-product-filter-removable-chips__item {
	font-size: 0.85rem;
	border: 1px solid var(--wp--preset--color--accent-1);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--accent-1);
	padding: 0.35em 0.6em 0.35em 0.9em;
}

/* Shop filters: colour chips get a swatch dot. */
.dn-color-filter .wc-block-product-filter-chips__label {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}
.dn-color-filter .wc-block-product-filter-chips__label::before {
	content: "";
	flex: none;
	width: 0.95em;
	height: 0.95em;
	border-radius: 50%;
	background: var(--dn-swatch, #ccc);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
}
.dn-color-filter [value="black"] { --dn-swatch: #1f1f1f; }
.dn-color-filter [value="white"] { --dn-swatch: #fff; }
.dn-color-filter [value="gray"] { --dn-swatch: #9a9a9a; }
.dn-color-filter [value="silver"] { --dn-swatch: linear-gradient(135deg, #f2f2f2, #a8a8a8); }
.dn-color-filter [value="beige"] { --dn-swatch: #d8bf9f; }
.dn-color-filter [value="brown"] { --dn-swatch: #8b5a3c; }
.dn-color-filter [value="red"] { --dn-swatch: #d32f2f; }
.dn-color-filter [value="orange"] { --dn-swatch: #f07c1e; }
.dn-color-filter [value="yellow"] { --dn-swatch: #f5d327; }
.dn-color-filter [value="green"] { --dn-swatch: #3e9b4f; }
.dn-color-filter [value="blue"] { --dn-swatch: #3d7fd1; }
.dn-color-filter [value="purple"] { --dn-swatch: #8e5bb5; }
.dn-color-filter [value="pink"] { --dn-swatch: #ec7fb0; }
.dn-color-filter [value="multicolor"] { --dn-swatch: conic-gradient(#d32f2f, #f5d327, #3e9b4f, #3d7fd1, #8e5bb5, #ec7fb0, #d32f2f); }

/* Currency switcher in the header ([dinerija_currency]) and product sorting: look like a navigation item with a submenu chevron. */
.dinerija-currency,
.woocommerce-ordering {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin: 0;
	color: var(--wp--preset--color--contrast);
}
.dinerija-currency select,
.woocommerce-ordering select.orderby {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 0.25rem 1.1rem 0.25rem 0;
	width: auto;
	field-sizing: content;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	color: inherit;
	cursor: pointer;
}
.dinerija-currency select:hover,
.woocommerce-ordering select.orderby:hover {
	text-decoration: underline;
}
.dinerija-currency select:focus-visible,
.woocommerce-ordering select.orderby:focus-visible {
	outline: 1px dashed currentColor;
	outline-offset: 3px;
}
.dinerija-currency::after,
.woocommerce-ordering::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 12px;
	height: 12px;
	transform: translateY(-50%);
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 4L6 8l4.5-4' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 4L6 8l4.5-4' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center / contain;
	pointer-events: none;
}

/* Sewing Patterns - main menu item (2026-10-05) */
.wp-block-navigation .dn-nav-main > .wp-block-navigation-item__content {
	font-weight: 700;
	color: var(--wp--preset--color--accent-1);
}

/* Blog list: pagination as pill buttons in theme colours (2026-10-05). */
.wp-block-query-pagination {
	gap: 0.5rem;
	align-items: center;
	flex-wrap: wrap;
}
.wp-block-query-pagination-numbers {
	display: flex;
	gap: 0.4rem;
}
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	box-sizing: border-box;
	border: 1px solid #d9cfd2;
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.wp-block-query-pagination .page-numbers {
	padding: 0 0.6rem;
	margin: 0;
}
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	padding: 0 1.2rem;
	gap: 0.5rem;
	margin: 0 !important;
}
.wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination-next-arrow {
	margin: 0 !important;
	color: var(--wp--preset--color--accent-1);
}
.wp-block-query-pagination a.page-numbers:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
	border-color: var(--wp--preset--color--accent-1);
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--contrast);
}
.wp-block-query-pagination .page-numbers.current {
	border-color: var(--wp--preset--color--accent-1);
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
}
.wp-block-query-pagination .page-numbers.dots {
	border-color: transparent;
	min-width: auto;
}
.wp-block-query-pagination a:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2);
}

/* Blog list: "Read more" link and category label. */
.dn-blog-card .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
}
.dn-blog-card .wp-block-post-excerpt__more-link::after {
	content: "\2192";
	transition: transform 0.15s ease;
}
.dn-blog-card .wp-block-post-excerpt__more-link:hover {
	color: var(--wp--preset--color--contrast);
}
.dn-blog-card .wp-block-post-excerpt__more-link:hover::after {
	transform: translateX(3px);
}
.dn-blog-meta .wp-block-post-terms a {
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}
.dn-blog-meta .wp-block-post-terms a:hover {
	text-decoration: underline;
}

/* Blog list: space between pagination and footer. */
.dn-blog-list {
	padding-bottom: var(--wp--preset--spacing--60);
}

/* My account (2026-10-08): smaller type, side menu with icons, content in a
   card, dashboard tiles (woocommerce/myaccount/dashboard.php), login card.
   Everything is scoped to .woocommerce-account. */
.woocommerce-account {
	--dn-line: #ecdfd0;
	--dn-field: #d9cfd2;
}

/* Less empty space above the page title, smaller title. */
body.woocommerce-account main.wp-block-group {
	margin-top: 0 !important;
}
body.woocommerce-account main > .wp-block-group.alignfull {
	padding-top: var(--wp--preset--spacing--50) !important;
}
body.woocommerce-account h1.wp-block-post-title {
	font-size: clamp(2rem, 1.5rem + 1.6vw, 2.6rem);
}
body.woocommerce-account h1.wp-block-post-title + .wp-block-post-content {
	margin-top: var(--wp--preset--spacing--30);
}

/* Logged in: menu on the left, content card on the right. */
.woocommerce-account main .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}
.woocommerce-account main .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
.woocommerce-account main .woocommerce:has(> .woocommerce-MyAccount-navigation)::after {
	display: none;
}

/* Side menu. */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	background: #fff;
	border: 1px solid var(--dn-line);
	border-radius: 20px;
	padding: 0.6rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.65rem 0.9rem;
	border-radius: 12px;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--dn-icon) no-repeat center / contain;
	mask: var(--dn-icon) no-repeat center / contain;
	opacity: 0.7;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--accent-1);
	font-weight: 600;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
	opacity: 1;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2), 0 0 0 4px var(--wp--preset--color--accent-1);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 0.4rem;
	padding-top: 0.4rem;
	border-top: 1px solid var(--dn-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--wp--preset--color--accent-4);
}
/* Menu icons (line drawings, coloured by the link colour). */
.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2011.5%2012%204.5l8%207%22%2F%3E%3Cpath%20d%3D%22M6.5%2010v9.5h11V10%22%2F%3E%3Cpath%20d%3D%22M10%2019.5v-5h4v5%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5.5%208h13l-1%2012h-11z%22%2F%3E%3Cpath%20d%3D%22M9%2010.5V7a3%203%200%200%201%206%200v3.5%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v11%22%2F%3E%3Cpath%20d%3D%22M7.5%2010.5%2012%2015l4.5-4.5%22%2F%3E%3Cpath%20d%3D%22M5%2019.5h14%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020.5s-6-5.4-6-10.5a6%206%200%200%201%2012%200c0%205.1-6%2010.5-6%2010.5z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.2%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%226%22%20width%3D%2217%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3.5%2010.5h17%22%2F%3E%3Cpath%20d%3D%22M7%2014.5h3%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228.5%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M5%2020c1.2-3.6%203.9-5.5%207-5.5s5.8%201.9%207%205.5%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	--dn-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13.5%205H6v14h7.5%22%2F%3E%3Cpath%20d%3D%22M10.5%2012H20%22%2F%3E%3Cpath%20d%3D%22M16.5%208.5%2020%2012l-3.5%203.5%22%2F%3E%3C%2Fsvg%3E");
}

/* Content card. */
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--dn-line);
	border-radius: 20px;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	font-size: 1rem;
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child + * {
	margin-top: 0;
}
.woocommerce-account .woocommerce-MyAccount-content form > h2:first-child,
.woocommerce-account .woocommerce-MyAccount-content form > h3:first-child {
	margin-top: 0;
}
.woocommerce-account .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 1.35rem;
}

/* Notices (e.g. "temporary password", "No order has been made yet"). */
.woocommerce-account .wc-block-components-notice-banner {
	border-radius: 14px;
	font-size: 0.95rem;
	align-items: center;
}
.woocommerce-account .wc-block-components-notice-banner.is-info {
	background: var(--wp--preset--color--accent-5);
	border-color: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--contrast);
}
.woocommerce-account .wc-block-components-notice-banner.is-info > svg {
	background-color: var(--wp--preset--color--accent-1);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: 1.5rem;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper .wc-block-components-notice-banner {
	margin: 0;
}
/* Notice links ("Resend", "Confirm email address", "Browse products"): same size
   as the notice text. "Browse products" also has the theme button class, which
   made it 18px. Colour stays WooCommerce's dark grey (set with !important there). */
.woocommerce-account .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward {
	font-family: inherit;
	font-size: inherit;
	font-weight: 600;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: none;
	opacity: 1;
}

/* Dashboard: greeting and tiles. */
.dn-account-hello__title {
	margin: 0 0 0.35rem;
	font-size: 1.6rem;
}
.dn-account-hello__text {
	margin: 0;
	color: var(--wp--preset--color--accent-4);
}
.dn-account-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}
.dn-account-tiles li {
	margin: 0;
}
.dn-account-tile {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.9rem;
	row-gap: 0.1rem;
	align-items: center;
	align-content: center;
	height: 100%;
	box-sizing: border-box;
	padding: 1rem 1.1rem;
	border: 1px solid var(--dn-line);
	border-radius: 16px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.dn-account-tile:hover {
	border-color: var(--wp--preset--color--accent-1);
	background: #fff;
	color: var(--wp--preset--color--contrast);
	transform: translateY(-2px);
}
.dn-account-tile:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2);
	border-color: var(--wp--preset--color--accent-1);
}
.dn-account-tile__icon {
	grid-row: span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--accent-1);
}
.dn-account-tile__icon svg {
	width: 22px;
	height: 22px;
}
.dn-account-tile__label {
	font-weight: 600;
	line-height: 1.3;
}
.dn-account-tile__desc {
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-4);
}
.woocommerce-account .woocommerce-MyAccount-content > p.dn-account-logout {
	margin: 1.5rem 0 0;
	font-size: 0.875rem;
	color: var(--wp--preset--color--accent-4);
}

/* Forms (account details, addresses, login). */
.woocommerce-account .woocommerce form .form-row label {
	margin-bottom: 0.4rem;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
}
.woocommerce-account .woocommerce form .form-row .required {
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
}
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row textarea.input-text,
.woocommerce-account .woocommerce form .form-row select,
.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single {
	box-sizing: border-box;
	border: 1px solid var(--dn-field);
	border-radius: 12px;
	background-color: #fff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.4;
	padding: 0.7rem 0.9rem;
}
.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single {
	height: auto;
	padding: 0;
}
.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0.7rem 2.2rem 0.7rem 0.9rem;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
}
.woocommerce-account .woocommerce form .form-row input.input-text:focus,
.woocommerce-account .woocommerce form .form-row textarea.input-text:focus,
.woocommerce-account .woocommerce form .form-row select:focus,
.woocommerce-account .woocommerce form .form-row .select2-container--focus .select2-selection--single,
.woocommerce-account .woocommerce form .form-row .select2-container--open .select2-selection--single {
	border-color: var(--wp--preset--color--accent-1);
	box-shadow: 0 0 0 3px var(--wp--preset--color--accent-2);
	outline: none;
}
.woocommerce-account .woocommerce form .form-row .password-input {
	display: block;
}
.woocommerce-account .woocommerce form .form-row span em {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.85rem;
	font-style: normal;
	color: var(--wp--preset--color--accent-4);
}
.woocommerce-account .woocommerce form fieldset {
	margin: 1.75rem 0 1.25rem;
	padding: 1rem 1.25rem 0.25rem;
	border: 1px solid var(--dn-line);
	border-radius: 16px;
}
.woocommerce-account .woocommerce form fieldset legend {
	padding: 0 0.4rem;
	font-family: var(--wp--preset--font-family--literata);
	font-size: 1.15rem;
	font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-content form .button,
.woocommerce-account form.woocommerce-form-login .button,
.woocommerce-account form.lost_reset_password .button {
	margin-top: 0.5rem;
	padding: 0.8rem 1.6rem;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 600;
}

/* Buttons outside forms, e.g. "Add payment method": outlined pill. */
.woocommerce-account .woocommerce-MyAccount-content > a.button {
	display: inline-block;
	margin-top: 1.25rem;
	padding: 0.65rem 1.4rem;
	border: 1px solid var(--wp--preset--color--accent-1);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--accent-1);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content > a.button:hover {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
}

/* Tables: orders, downloads, order details. */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	margin: 0 0 1.5rem;
	border: 1px solid var(--dn-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 14px;
	overflow: hidden;
	font-size: 0.95rem;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
	padding: 0.75rem 1rem;
	border: 0;
	text-align: left;
	vertical-align: middle;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	background: var(--wp--preset--color--accent-5);
	font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr + tr > *,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot tr > * {
	border-top: 1px solid var(--dn-line);
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button {
	display: inline-block;
	margin: 0.15rem 0.25rem 0.15rem 0;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}
/* Download file links have no theme button class: give them the same pill. */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table a.button {
	border: 0;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table a.button:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
.woocommerce-account .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
	display: inline-block;
	margin-bottom: 0.15rem;
}

/* Addresses: two cards side by side. */
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.25rem;
}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	display: none;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--dn-line);
	border-radius: 16px;
	background: var(--wp--preset--color--base);
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	margin-bottom: 0.75rem;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title::after {
	display: none;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: 1.2rem;
}
.woocommerce-account .addresses .title .edit {
	float: none;
	display: inline;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--accent-1);
}
.woocommerce-account .woocommerce-Addresses address {
	font-style: normal;
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Logged out: login and lost password form in a centred card. */
body.woocommerce-account:not(.logged-in) h1.wp-block-post-title,
.woocommerce-account main .woocommerce:has(> form.woocommerce-form-login),
.woocommerce-account main .woocommerce:has(> form.lost_reset_password) {
	max-width: 460px;
}
.woocommerce-account main .woocommerce > h2 {
	margin: 0 0 0.75rem;
	font-size: 1.35rem;
}
.woocommerce-account .woocommerce form.woocommerce-form-login,
.woocommerce-account .woocommerce form.lost_reset_password {
	margin: 0;
	padding: clamp(1.25rem, 4vw, 2rem);
	border: 1px solid var(--dn-line);
	border-radius: 20px;
	background: #fff;
}
.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
	font-weight: 500;
}
.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__submit {
	float: none;
	width: 100%;
	margin: 0;
}
.woocommerce-account form.woocommerce-form-login .lost_password {
	margin: 1rem 0 0;
	font-size: 0.9rem;
	text-align: center;
}

/* Phones and small tablets: menu becomes a row of chips above the card. */
@media (max-width: 768px) {
	.woocommerce-account main .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation {
		background: transparent;
		border: 0;
		border-radius: 0;
		padding: 0;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.4rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li {
		display: flex;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		flex: 1;
		gap: 0.45rem;
		padding: 0.55rem 0.7rem;
		border: 1px solid var(--dn-line);
		border-radius: 12px;
		background: #fff;
		font-size: 0.875rem;
		line-height: 1.25;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
		width: 17px;
		height: 17px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
		border-color: var(--wp--preset--color--accent-1);
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0;
		padding: 0;
		border: 0;
	}
	.woocommerce-account .woocommerce-MyAccount-content {
		border-radius: 16px;
	}
	.woocommerce-account .wc-block-components-notice-banner > .wc-block-components-notice-banner__content:has(> .wc-forward) {
		display: flex;
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 0.4rem;
	}
	.woocommerce-account .wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward {
		float: none;
		margin: 0;
	}
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > * {
		border-top: 0;
		padding: 0.5rem 1rem;
	}
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr + tr {
		border-top: 1px solid var(--dn-line);
	}
	.dn-account-tiles,
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
	}
}
