/*!
Theme Name: Eleganza
Theme URI: http://underscores.me/
Author: Eleganza
Author URI: http://underscores.me/
Description: Custom theme for eleganza.bg
Version: 1.0.2
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: eleganza
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Eleganza is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html, body {
    max-width: 100%;
    overflow-x: clip;
}
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 0em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

/* `.post`/`.page` (above) also match <body> — body_class() adds `page`/`post`
   to every Page — and that class selector outranks `body { margin: 0 }`,
   leaking a 1.5em bottom margin that showed as a cream band below the footer.
   Reset it on the body only, kept at .page specificity so the centred
   `.elgz-legal` article column (also a `.page`) is left untouched. */
body.post,
body.page {
	margin-bottom: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Eleganza — WooCommerce Polish
--------------------------------------------------------------*/

/* Sale price formatting — old price small/grey, new price prominent */
del {
	color: #999;
	font-size: 0.85em;
	margin-right: 0.4rem;
	font-weight: 400;
}

ins {
	text-decoration: none;
	background-color: transparent;
}

/* Cart totals panel */
.cart_totals h2 {
	font-size: 1.125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 500;
	color: #1a1a1a;
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #e5e7eb;
}

.cart_totals table {
	width: 100%;
	font-size: 0.875rem;
}

.cart_totals table th,
.cart_totals table td {
	padding: 0.75rem 0;
	vertical-align: top;
}

.cart_totals table th {
	text-align: left;
	font-weight: 500;
	color: #1a1a1a;
	width: 35%;
}

.cart_totals table td {
	text-align: right;
}

.cart_totals .order-total .woocommerce-Price-amount {
	font-size: 1.125rem;
	font-weight: 600;
	color: #b22222;
}

.cart_totals .checkout-button,
.wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	padding: 0.875rem 1rem;
	background-color: #8a0000;
	color: #ffffff !important;
	text-transform: uppercase;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
	text-decoration: none;
	margin-top: 1rem;
}

.cart_totals .checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
	background-color: #b22222;
	color: #ffffff !important;
}

/* Cart item quantity (smaller scale than single product page) */
.woocommerce-cart-form .quantity {
	display: inline-flex;
	justify-content: center;
}

.woocommerce-cart-form .quantity .qty {
	width: 3.5rem;
	padding: 0.4rem 0.25rem;
	border: 1px solid #d1d5db;
	text-align: center;
	font-size: 0.875rem;
	background-color: #ffffff;
}

.woocommerce-cart-form .quantity .qty:focus {
	outline: none;
	border-color: #8a0000;
}

/* Shipping methods radio list inside totals */
.cart_totals .woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cart_totals .woocommerce-shipping-methods li {
	padding: 0.25rem 0;
}

.cart_totals .woocommerce-shipping-destination {
	font-size: 0.75rem;
	color: #6b7280;
	margin-top: 0.5rem;
}

/* ── Checkout page ──────────────────────────────────────────── */

/* Full-width address columns — override WC's float-based col2-set */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
}

/* Clear WC float/width on form rows so CSS grid controls sizing */
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
	float: none !important;
	width: 100% !important;
	margin-left: 0;
	margin-right: 0;
	clear: none;
}

/* Wide fields span both grid columns */
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

/* Place Order button — full-width, matches add-to-cart visual */
#place_order {
	display: block;
	width: 100%;
	padding: 0.875rem 1rem;
	background-color: #8a0000;
	color: #ffffff !important;
	text-transform: uppercase;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
	margin-top: 1rem;
}

#place_order:hover,
#place_order:focus {
	background-color: #b22222;
	color: #ffffff !important;
}

/* Order review table */
.woocommerce-checkout-review-order-table {
	width: 100%;
	font-size: 0.875rem;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
}

.woocommerce-checkout-review-order-table thead th {
	padding: 0.75rem 0.5rem;
	text-align: left;
	font-weight: 500;
	color: #1a1a1a;
	border-bottom: 2px solid #e5e7eb;
}

.woocommerce-checkout-review-order-table tbody tr {
	border-bottom: 1px solid #f3f4f6;
}

.woocommerce-checkout-review-order-table tbody td {
	padding: 0.75rem 0.5rem;
	vertical-align: middle;
}

.woocommerce-checkout-review-order-table .woocommerce-Price-amount {
	color: #b22222;
	font-weight: 500;
}

.woocommerce-checkout-review-order-table tfoot .order-total td,
.woocommerce-checkout-review-order-table tfoot .order-total th {
	border-top: 2px solid #1a1a1a;
	padding-top: 0.875rem;
	font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot tr td,
.woocommerce-checkout-review-order-table tfoot tr th {
	padding: 0.5rem;
	font-size: 0.875rem;
}

/* Payment methods — bordered boxes, selected box highlights burgundy */
.wc_payment_methods {
	list-style: none !important;
	padding: 0;
	margin: 0 0 1.5rem;
}

.wc_payment_methods .wc_payment_method {
	border: 1px solid #e5e7eb;
	padding: 1rem;
	margin-bottom: 0.5rem;
	transition: border-color 0.2s ease;
}

.wc_payment_methods .wc_payment_method:has(input:checked),
.wc_payment_methods .wc_payment_method:focus-within {
	border-color: #8a0000;
}

.wc_payment_methods .wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	font-weight: 500;
	font-size: 0.875rem;
	color: #1a1a1a;
}

.wc_payment_methods .payment_box {
	margin-top: 0.75rem;
	font-size: 0.875rem;
	color: #6b7280;
}

/* Coupon — input and button inline */
.checkout_coupon.woocommerce-form-coupon {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	flex-wrap: wrap;
	padding: 1rem;
	border: 1px solid #e5e7eb;
	margin-bottom: 1.5rem;
}

.checkout_coupon.woocommerce-form-coupon .form-row {
	margin: 0;
	flex: 1;
	min-width: 150px;
}

.checkout_coupon.woocommerce-form-coupon .form-row input {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid #d1d5db;
	font-size: 0.875rem;
}

.checkout_coupon.woocommerce-form-coupon .button {
	padding: 0.5rem 1rem;
	background-color: #8a0000;
	color: #ffffff !important;
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	border: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.checkout_coupon.woocommerce-form-coupon .button:hover {
	background-color: #b22222;
}

/* Full-width layout on WooCommerce pages — disables sidebar column */
.content-area.is-wc-fullwidth {
	width: 100%;
	max-width: 100%;
	float: none;
	margin: 0;
}

.content-area.is-wc-fullwidth + #secondary {
	display: none;
}

/* WC pages: full-width main content area */
body.woocommerce #primary,
body.woocommerce-page #primary,
body.single-product #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce-account #primary {
	width: 100%;
	max-width: 100%;
	float: none;
	margin: 0;
	padding: 0;
}

body.woocommerce #main,
body.woocommerce-page #main,
body.single-product #main,
body.woocommerce-cart #main,
body.woocommerce-checkout #main,
body.woocommerce-account #main {
	width: 100%;
	max-width: none;
	float: none;
	margin: 0;
	padding: 0;
}

/* WC pages: hide any sidebar/widget area as safety net */
body.woocommerce #secondary,
body.woocommerce-page #secondary,
body.single-product #secondary,
body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary,
body.woocommerce-account #secondary,
body.woocommerce .widget-area,
body.woocommerce-page .widget-area,
body.single-product .widget-area,
body.woocommerce-cart .widget-area,
body.woocommerce-checkout .widget-area,
body.woocommerce-account .widget-area {
	display: none !important;
}

/* =========================================================
   Coupon toggle link
   ========================================================= */
.woocommerce-form-coupon-toggle .woocommerce-info {
	font-size: 0.8125rem;
	font-style: italic;
	background: none;
	border: none;
	padding: 0;
	margin-bottom: 1rem;
	color: #585e61;
}

.woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none;
}

.woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
	color: #8a0000;
	text-decoration: underline;
	font-style: normal;
	cursor: pointer;
}

.woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.woocommerce-form-coupon-toggle .woocommerce-info .showcoupon:hover {
	color: #b22222;
}

/* =========================================================
   My Account — navigation
   ========================================================= */
.woocommerce-MyAccount-navigation .eleganza-account-nav-link {
	text-decoration: none;
}

/* =========================================================
   My Account — orders table responsive
   ========================================================= */
@media screen and (max-width: 640px) {
	.woocommerce-orders-table thead {
		display: none;
	}

	.woocommerce-orders-table tr {
		display: block;
		border-bottom: 2px solid #e5e7eb;
		padding-bottom: 0.5rem;
		margin-bottom: 0.5rem;
	}

	.woocommerce-orders-table td,
	.woocommerce-orders-table th[scope="row"] {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.4rem 0.75rem;
		font-size: 0.8125rem;
		border: none;
	}

	.woocommerce-orders-table td::before,
	.woocommerce-orders-table th[scope="row"]::before {
		content: attr(data-title);
		font-weight: 600;
		text-transform: uppercase;
		font-size: 0.6875rem;
		letter-spacing: 0.05em;
		color: #585e61;
		margin-right: 0.75rem;
		flex-shrink: 0;
	}
}

/* =========================================================
   My Account — address field form grid: wide fields span both cols
   ========================================================= */
.woocommerce-address-fields__field-wrapper .form-row-wide {
	grid-column: 1 / -1;
}

/* =========================================================
   My Account — edit account form grid: wide fields span both cols
   ========================================================= */
.woocommerce-EditAccountForm .woocommerce-form-row--wide {
	grid-column: 1 / -1;
}

/* =========================================================
   Eleganza — Header & Footer
   ========================================================= */
#masthead > div.container.mx-auto.px-4.py-3.flex.items-center.gap-8 > div > button {
	border: none;
}
.site-header .logo img,
.site-footer .logo img {
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
	max-width: 280px;
	height: 70px;
	object-fit: contain;
	transition: height 0.3s ease;
}

/* Logo shrinks when scrolled */
.site-header .logo img.logo-scrolled {
	height: 40px;
}

/* Override default visited link color across the site */
.site-header a:visited,
.site-header a:link,
.site-footer a:visited,
.site-footer a:link {
	color: inherit;
}

.site-header a:hover,
.site-header a:focus {
	color: #8a0000; /* eleganza-burgundy */
}

.site-footer a:hover,
.site-footer a:focus {
	color: #b22222; /* eleganza-red */
}

/* Skip link */
.skip-link {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: 0.75rem 1.5rem;
	background: #8a0000;
	color: #ffffff;
	font-size: 0.875rem;
	text-decoration: none;
}
.skip-link:focus {
	left: 0.5rem;
	top: 0.5rem;
}

/* Admin bar offset: prevents sticky header sliding under WP toolbar */
.admin-bar .site-header {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

/* ── Primary desktop nav ─────────────────────────────────── */

.primary-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu > li > a {
	display: block;
	padding: 0.25rem 0;
	font-size: 0.8125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.primary-menu > li > a:hover {
	color: #8a0000;
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a,
.primary-menu > li.current_page_item > a {
	color: #8a0000;
}

/* Dropdown container */
.primary-menu .menu-item-has-children {
	position: relative;
}

.primary-menu .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 50%;
	transform: translateX(-50%);
	min-width: 180px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
	z-index: 50;
	list-style: none;
	padding: 0.5rem 0;
	margin: 0;
}

.primary-menu .menu-item-has-children:hover > .sub-menu,
.primary-menu .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.primary-menu .sub-menu li a {
	display: block;
	padding: 0.5rem 1.25rem;
	font-size: 0.8125rem;
	color: #1a1a1a;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.primary-menu .sub-menu li a:hover {
	background-color: #f5f5f7;
	color: #8a0000;
}

.primary-menu .sub-menu li.current-menu-item > a {
	color: #8a0000;
}

/* ── Mobile nav ──────────────────────────────────────────── */

.mobile-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-menu > li {
	border-bottom: 1px solid #f3f4f6;
}

.mobile-menu > li:last-child {
	border-bottom: none;
}

.mobile-menu > li > a {
	display: block;
	padding: 0.75rem 0;
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.mobile-menu > li > a:hover,
.mobile-menu > li.current-menu-item > a,
.mobile-menu > li.current_page_item > a {
	color: #8a0000;
}

.mobile-menu .sub-menu {
	list-style: none;
	padding: 0 0 0.75rem 0.75rem;
	margin: 0;
}

.mobile-menu .sub-menu li a {
	display: block;
	padding: 0.375rem 0;
	font-size: 0.8125rem;
	color: #585e61;
	text-decoration: none;
	transition: color 0.15s ease;
}

.mobile-menu .sub-menu li a:hover {
	color: #8a0000;
}

/* ── Footer nav ──────────────────────────────────────────── */

.footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.footer-menu li a {
	color: #585e61;
	text-decoration: none;
	font-size: 0.875rem;
	transition: color 0.2s ease;
}

.footer-menu li a:hover {
	color: #b22222;
}

/* ── Cart badge ──────────────────────────────────────────── */

.eleganza-cart-badge {
	font-size: 0.625rem;
	line-height: 1;
}

/* =========================================================
   Eleganza — v2 Homepage Design
   ========================================================= */

/* ── Global base ─────────────────────────────────────────── */
body {
	background-color: #faf8f5;
	font-size: 17px;
	line-height: 1.65;
	color: #1a1a1a;
}

.site-main a:visited,
.site-footer a:visited {
	color: inherit;
}

/* ── Hero section ────────────────────────────────────────── */
.hero-section {
	position: relative;
	min-height: min(75vh, 800px);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10, 7, 5, 0.50);
}

.hero-inner {
	padding: 4rem 0;
}

@media (min-width: 1024px) {
	.hero-inner {
		padding: 5rem 0;
	}
}

.hero-eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.60);
	margin: 0 0 1.25rem;
}

.hero-headline {
	font-family: 'PT Serif', Georgia, serif;
	font-size: clamp(1.875rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1.2;
	color: #ffffff;
	margin: 0 0 2.5rem;
}

.hero-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 2.25rem;
	border: 1.5px solid rgba(255, 255, 255, 0.75);
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.hero-cta:hover,
.hero-cta:focus-visible {
	background-color: #ffffff;
	border-color: #ffffff;
	color: #1a1a1a;
	outline: none;
}

.hero-cta:visited {
	color: #ffffff;
}

/* ── Hero slider ─────────────────────────────────────────── */
.hero-slide-track {
	position: relative;
	width: 100%;
	max-width: 480px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.40);
}

.hero-slide {
	position: absolute;
	inset: 0;
}

.hero-slide:first-child {
	position: relative;
}

.hero-slide img,
.hero-slide a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hero-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.88);
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #1a1a1a;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
	padding: 0;
	transition: background-color 0.2s ease;
}

.hero-arrow:hover,
.hero-arrow:focus-visible {
	background-color: #ffffff;
	outline: none;
}

.hero-arrow--prev { left: 0.75rem; }
.hero-arrow--next { right: 0.75rem; }

/* Dots: 44×44px tap target, 8px visible circle via ::after */
.hero-dots {
	position: absolute;
	bottom: 0.5rem;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	z-index: 10;
}

.hero-dot {
	width: 44px;
	height: 44px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	position: relative;
	flex-shrink: 0;
}

.hero-dot::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	transition: background-color 0.2s ease;
}

.hero-dot--active::after,
.hero-dot:hover::after {
	background: rgba(255, 255, 255, 1);
}

/* ── Section headings ────────────────────────────────────── */
.section-heading {
	text-align: center;
	margin-bottom: 3.5rem;
}

.section-title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: clamp(1.5rem, 3vw, 2.125rem);
	font-weight: 400;
	line-height: 1.25;
	color: #1a1a1a;
	letter-spacing: 0;
	margin: 0 0 1.125rem;
}

.section-rule {
	width: 40px;
	height: 2px;
	background-color: #8a0000;
	margin: 0 auto;
	border: none;
}

/* ── Section CTA links ───────────────────────────────────── */
.section-cta-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 2rem;
	border: 1.5px solid #1a1a1a;
	color: #1a1a1a;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.section-cta-link:hover,
.section-cta-link:focus-visible {
	background-color: #1a1a1a;
	color: #ffffff;
	outline: none;
}

.section-cta-link:visited {
	color: #1a1a1a;
}

/* ── Product cards v2 ────────────────────────────────────── */
.eleganza-card {
	transition: transform 0.2s ease;
	overflow: hidden;
}

.eleganza-card:hover {
	transform: translateY(-3px);
}

.eleganza-card a,
.eleganza-card a:link,
.eleganza-card a:visited {
	color: inherit;
	text-decoration: none;
}

/* Product title */
.eleganza-card h3.woocommerce-loop-product__title,
.eleganza-card h3 {
	font-family: 'PT Serif', Georgia, serif !important;
	font-size: 1.0625rem !important;
	font-weight: 400 !important;
	color: #1a1a1a !important;
	line-height: 1.4 !important;
	margin: 0 0 0.625rem !important;
}

/* Price */
.eleganza-card .price {
	color: #b22222;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: 0.9375rem;
}

.eleganza-card .price > .amount {
	color: #b22222;
}

.eleganza-card .price del,
.eleganza-card .price del .amount {
	color: #a09890;
	font-weight: 400;
}

.eleganza-card .price ins {
	text-decoration: none;
	background: none;
}

.eleganza-card .price ins .amount {
	color: #b22222;
}

/* ── Footer v2 ───────────────────────────────────────────── */
.footer-col-heading {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 500;
	color: #f0ebe2;
	margin-bottom: 1.25rem;
}

.site-footer .footer-menu {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer .footer-menu li a,
.site-footer .footer-menu li a:link,
.site-footer .footer-menu li a:visited {
	color: #a09890;
	text-decoration: none;
	font-size: 0.9375rem;
	transition: color 0.2s ease;
}

.site-footer .footer-menu li a:hover {
	color: #f0ebe2;
}

/* =========================================================
   Eleganza — Homepage
   ========================================================= */

/* Hero section */
.hero-section {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 400px;
}

@media (min-width: 1024px) {
	.hero-section {
		min-height: 560px;
	}
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.50);
}

/* Slider track */
.hero-slide-track {
	margin-top: 25px;
	margin-bottom: 25px;
	position: relative;
	width: 100%;
	max-height: 600px;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

@media (min-width: 1024px) {
	.hero-slide-track {
		aspect-ratio: 4 / 5;
	}
}

/* Stacked absolute slides for crossfade */
.hero-slide {
	position: absolute;
	inset: 0;
}

/* First slide sets container height via aspect-ratio on track */
.hero-slide:first-child {
	position: relative;
}

.hero-slide-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Arrows */
.hero-arrow {
	background: rgba(255, 255, 255, 0.85);
	color: #1a1a1a;
	border: none;
	border-radius: 9999px;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	padding: 0;
}

.hero-arrow:hover {
	background: rgba(255, 255, 255, 1);
}

/* Dots */
.hero-dot {
	width: 8px;
	height: 8px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.5);
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
	padding: 0;
	flex-shrink: 0;
}

.hero-dot--active,
.hero-dot:hover {
	background: rgba(255, 255, 255, 1);
}

.hero-slide,
.hero-slide-img {
	width: 100%;
	height: 100%;
}

/* =========================================================
   Eleganza — Design Reference v3
   ========================================================= */

/* ── Announcement bar ─────────────────────────────────────── */
.elgz-announcement-bar {
	background-color: #1a1a1a;
	color: #f0ebe2;
	text-align: center;
	padding: 0.5625rem 1rem;
}

.elgz-announcement-text {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	margin: 0;
	line-height: 1.5;
}

/* ── Hero overrides v3 ────────────────────────────────────── */
.hero-section {
	min-height: min(80vh, 860px);
}

.hero-eyebrow {
	color: #8a0000 !important;
	letter-spacing: 0.18em;
}

.hero-headline {
	font-size: clamp(2rem, 5vw, 4rem) !important;
	line-height: 1.15 !important;
	margin-bottom: 1.25rem !important;
}

.hero-desc {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.75);
	margin: 0 0 2.5rem;
	max-width: 42ch;
}

/* ── Section layout ───────────────────────────────────────── */
.elgz-section {
	padding: 5rem 0;
	background-color: #faf8f5;
}

@media (min-width: 1024px) {
	.elgz-section {
		padding: 7rem 0;
		background-color: #faf8f5;
	}
}

.elgz-section-header {
	text-align: center;
	margin-bottom: 3.5rem;
}

.elgz-section-num {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #6b6864;
	margin: 0 0 0.75rem;
}

.elgz-section-heading {
	font-family: 'PT Serif', Georgia, serif;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 400;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0;
}

/* ── Category cards ───────────────────────────────────────── */
.elgz-cat-card {
	display: block;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid #e8e4dd;
	overflow: hidden;
	transition: transform 0.2s ease;
}

.elgz-cat-card:hover {
	transform: translateY(-3px);
	color: inherit;
	text-decoration: none;
}

.elgz-cat-card__img-wrap {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #efe7dd;
}

.elgz-cat-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.elgz-cat-card__body {
	padding: 0.875rem 1rem 1rem;
}

.elgz-cat-card__name {
	display: block;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.0625rem;
	font-weight: 400;
	color: #1a1a1a;
	margin-bottom: 0.25rem;
}

.elgz-cat-card__link {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	color: #6b6864;
}

/* ── About section ────────────────────────────────────────── */
.elgz-about {
	padding: 6rem 0;
}

@media (min-width: 1024px) {
	.elgz-about {
		padding: 8rem 0;
	}
}

.elgz-about__label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #6b6864;
	margin: 0 0 0.75rem;
}

.elgz-about__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #8a0000;
	margin: 0 0 0.875rem;
}

.elgz-about__heading {
	font-family: 'PT Serif', Georgia, serif;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0 0 1.5rem;
}

.elgz-about__text {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: #6b6864;
	margin: 0 0 2.5rem;
	max-width: 50ch;
}

.elgz-about__img-wrap {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background-color: #efe7dd;
}

.elgz-about__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ── Blog cards ───────────────────────────────────────────── */
.elgz-blog-card {
	display: flex;
	flex-direction: column;
	background: #faf8f5;
	border: 1px solid #e8e4dd;
	overflow: hidden;
	transition: transform 0.2s ease;
}

.elgz-blog-card:hover {
	transform: translateY(-3px);
}

.elgz-blog-card__img-link {
	display: block;
}

.elgz-blog-card__img-wrap {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background-color: #efe7dd;
}

.elgz-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.elgz-blog-card__body {
	padding: 1.25rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px!important;
}

.elgz-blog-card__date {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	color: #6b6864;
	margin-bottom: 0.5rem;
}

.elgz-blog-card__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.35;
	color: #1a1a1a;
	margin: 0 0 0.75rem;
	flex: 1;
}

.elgz-blog-card__title a,
.elgz-blog-card__title a:link,
.elgz-blog-card__title a:visited {
	color: inherit;
	text-decoration: none;
}

.elgz-blog-card__title a:hover {
	color: #8a0000;
}

.elgz-blog-card__excerpt {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #6b6864;
	margin: 0 0 1.25rem;
}

.elgz-blog-card__read-link,
.elgz-blog-card__read-link:link,
.elgz-blog-card__read-link:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	color: #8a0000;
	text-decoration: none;
	margin-top: auto;
}

.elgz-blog-card__read-link:hover {
	text-decoration: underline;
}

/* ── Footer v3 (light cream) ────────────────────────────────
.elgz-footer {
	background-color: #f0ece5;
	color: #1a1a1a;
	padding-top: 3.5rem;
	padding-bottom: 2rem;
	margin-bottom: 0!important;
}

.elgz-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	margin-bottom: 3rem;
}

@media (min-width: 768px) {
	.elgz-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.elgz-footer__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.elgz-footer__tagline {
	font-size: 0.875rem;
	color: #6b6864;
	line-height: 1.65;
	margin: 0;
}

.elgz-footer-col-heading {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-weight: 500;
	color: #1a1a1a;
	margin: 0 0 1.25rem;
}

.elgz-footer-menu {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.elgz-footer-menu li a,
.elgz-footer-menu li a:link,
.elgz-footer-menu li a:visited {
	color: #6b6864;
	text-decoration: none;
	font-size: 0.9375rem;
	transition: color 0.2s ease;
}

.elgz-footer-menu li a:hover {
	color: #1a1a1a;
}

.elgz-footer-store-list,
.elgz-footer-contact-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.9375rem;
}

.elgz-footer-store-list strong {
	display: block;
	color: #1a1a1a;
	font-weight: 500;
	margin-bottom: 0.125rem;
}

.elgz-footer-store-list span {
	color: #6b6864;
}

.elgz-footer-contact-list li > span:first-child {
	display: block;
	color: #1a1a1a;
	font-weight: 500;
	margin-bottom: 0.125rem;
}

.elgz-footer-contact-list a,
.elgz-footer-contact-list a:link,
.elgz-footer-contact-list a:visited {
	color: #6b6864;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-footer-contact-list a:hover {
	color: #1a1a1a;
}

.elgz-footer-bottom {
	border-top: 1px solid #e8e4dd;
	padding-top: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.75rem;
	color: #6b6864;
}

.elgz-footer-bottom__links {
	display: flex;
	gap: 0.75rem;
	align-items: center;
}

.elgz-footer-bottom__links a,
.elgz-footer-bottom__links a:link,
.elgz-footer-bottom__links a:visited {
	color: #6b6864;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-footer-bottom__links a:hover {
	color: #1a1a1a;
} */

/* =========================================================
   Eleganza — v2 Redesign
   (Overrides all previous elgz-* sections above)
   ========================================================= */

/* ── Reset / Base ─────────────────────────────────────── */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	background-color: #faf8f5;
	color: #1a1a1a;
	font-family: 'Roboto', system-ui, sans-serif;
}

/* ── Announcement bar ─────────────────────────────────── */
.elgz-ann-bar {
	background-color: #1a1a1a;
	color: #faf8f5;
	text-align: center;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1rem;
}

.elgz-ann-text {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	line-height: 1rem!important;
	margin: 0;
	line-height: 1;
	color: #faf8f5;
}

/* ── Header ───────────────────────────────────────────── */
/* 3-col grid (1fr auto 1fr) keeps the logo centred to the page regardless of
   the differing widths of the left/right groups. */
.elgz-header {
	height: 104px;
	padding: 0 64px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	background-color: #faf8f5;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-header__info {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #6b6864;
}

.elgz-header__info a,
.elgz-header__info a:link,
.elgz-header__info a:visited {
	color: #6b6864;
	text-decoration: none;
}

.elgz-header__info a:hover {
	color: #1a1a1a;
}

/* Logo (text) */
.elgz-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: inherit;
}

.elgz-logo__name {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.32em;
	color: #1a1a1a;
	line-height: 1;
}

.elgz-logo__tag {
	font-family: 'Roboto', sans-serif;
	font-size: 0.625rem;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: #6b6864;
	margin-top: 3px;
}

/* Header actions */
.elgz-header__actions {
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 14px;
}

.elgz-header__action-link,
.elgz-header__action-link:link,
.elgz-header__action-link:visited {
	color: #1a1a1a;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 4px;
}

.elgz-header__action-link:hover {
	color: #8a0000;
}

.elgz-cart-count {
	color: #8a0000;
}

/* ── Primary navigation ───────────────────────────────── */
.elgz-nav {
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-top: 1px solid #e8e4dd;
	border-bottom: 1px solid #e8e4dd;
	background-color: #faf8f5;
}

.elgz-nav__menu {
	display: flex;
	align-items: center;
	gap: 44px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.elgz-nav__menu li a,
.elgz-nav__menu li a:link,
.elgz-nav__menu li a:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-nav__menu li a:hover,
.elgz-nav__menu li.current-menu-item a {
	color: #8a0000;
}

/* ── Hero section ─────────────────────────────────────── */
.elgz-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 640px;
}

.elgz-hero__img-col {
	overflow: hidden;
	background-color: #efe7dd;
}

.elgz-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.elgz-hero__text-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 80px 64px;
	background-color: #f3eee5;
}

.elgz-hero__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #8a0000;
	margin: 0 0 1.25rem;
}

.elgz-hero__h1 {
	font-family: 'PT Serif', Georgia, serif;
	max-width: 510px;
	font-size: 4rem;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: #1a1a1a;
	margin: 0 0 1.5rem;
}

.elgz-hero__h1 em {
	font-style: italic;
	color: #8a0000;
}

.elgz-hero__desc {
	font-size: 1rem;
	line-height: 1.75;
	color: #6b6864;
	margin: 0 0 2.5rem;
	max-width: 440px;
}

.elgz-hero__buttons {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

/* ── Buttons ──────────────────────────────────────────── */
.elgz-btn-primary,
.elgz-btn-primary:link,
.elgz-btn-primary:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 32px;
	background-color: #1a1a1a;
	color: #faf8f5!important;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.elgz-btn-primary:hover {
	background-color: #8a0000;
	color: #faf8f5;
	text-decoration: none;
}

.elgz-btn-ghost,
.elgz-btn-ghost:link,
.elgz-btn-ghost:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 32px;
	background-color: transparent;
	border: 1px solid #1a1a1a;
	color: #1a1a1a;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.elgz-btn-ghost:hover {
	background-color: #1a1a1a;
	color: #faf8f5!important;
	text-decoration: none;
}

/* ── Generic sections ─────────────────────────────────── */
.elgz-section {
	padding: 96px 64px !important;
}

.elgz-section__header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 48px;
}

.elgz-section__label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0 0 0.5rem;
}

.elgz-section__h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0;
}

.elgz-section__h2 em {
	font-style: italic;
	color: #8A0000;
}

.elgz-vizhallicki,
.elgz-vizhallicki:link,
.elgz-vizhallicki:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #1a1a1a;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.elgz-vizhallicki:hover {
	color: #8a0000;
}

/* ── Category grid ──────────────────────────────────────
.elgz-cats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.elgz-cat-card,
.elgz-cat-card:link,
.elgz-cat-card:visited {
	display: block;
	text-decoration: none;
	color: inherit;
}

.elgz-cat-card__img-area {
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background-color: #efe7dd;
	margin-bottom: 12px;
}

.elgz-cat-card__img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.elgz-cat-card:hover .elgz-cat-card__img-area img {
	transform: scale(1.04);
}

.elgz-cat-card__name {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 0.9375rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 4px;
}

.elgz-cat-card__cta {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #6b6864;
} */
/* ── Category grid ────────────────────────────────────── */
.elgz-cats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

/* Самата карта става контейнер, който центрира съдържанието */
.elgz-cat-card,
.elgz-cat-card:link,
.elgz-cat-card:visited {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 4; /* Местим пропорцията тук */
	text-decoration: none;
	color: inherit;
	overflow: hidden; /* За да не излиза снимката при зуум */
	border: none; /* Премахваме рамката за по-изчистен вид */
	background-color: #efe7dd;
}

/* Снимката минава на заден план (като background) */
.elgz-cat-card__img-area {
	position: absolute;
	inset: 0; /* Разпъва се на 100% (top:0, right:0, bottom:0, left:0) */
	margin: 0;
	z-index: 1;
}

.elgz-cat-card__img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.elgz-cat-card__img-area::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: #00000066; 
	transition: background-color 0.4s ease;
	z-index: 2;
}

.elgz-cat-card:hover .elgz-cat-card__img-area img {
	transform: scale(1.05); /* Леко уголемяване на снимката */
}

/* Пръстени: the hand/ring sits dead-centre under the white label. The photo
   ratio matches the card, so object-position can't shift it — scale up a touch
   (from the bottom edge, so no gap appears at the top) and push it ~20px down
   to drop the ring below the text. */
.elgz-cat-card--prsten .elgz-cat-card__img-area {
	transform-origin: center bottom;
	transform: scale(1.07) translateY(20px);
}

.elgz-cat-card:hover .elgz-cat-card__img-area::after {
	background-color: #00000080; 
}

.elgz-cat-card__name {
	position: relative;
	z-index: 3;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem; /* Увеличих леко шрифта, за да стои добре като заглавие */
	font-weight: 400;
	color: #ffffff; /* Бял цвят за контраст */
	margin: 0 0 8px;
	text-align: center;
	text-shadow: 0 2px 4px rgba(0,0,0,0.3); /* Лека сянка за по-добро четене */
}

.elgz-cat-card__cta {
	position: relative;
	z-index: 3;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #ffffff; /* Бял цвят */
	opacity: 0.85;
	transition: opacity 0.3s ease;
}

.elgz-cat-card:hover .elgz-cat-card__cta {
	opacity: 1;
}
/* ── Products grid ────────────────────────────────────── */
.elgz-products-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 24px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* ── Product card ─────────────────────────────────────── */
.elgz-product-card {
	list-style: none;
}

.elgz-product-card__img-link {
	display: block;
	text-decoration: none;
}

/* .elgz-product-card__img-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #efe7dd;
} */

.elgz-product-card__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

/* .elgz-product-card:hover .elgz-product-card__img-wrap img {
	transform: scale(1.07);
} */

.elgz-product-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background-color: #8a0000;
	color: #fff;
	font-family: 'Roboto', sans-serif;
	font-size: 0.625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 4px 8px;
	line-height: 1;
}

.elgz-product-card__heart {
	position: absolute;
	top: 8px;
	right: 8px;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 1.3rem;
	color: #6b6864;
	padding: 4px;
	line-height: 1;
}

.elgz-product-card__heart:hover {
	color: #8a0000;
}

.elgz-product-card__body {
	padding: 12px 0 0;
}

.elgz-product-card__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	color: #1a1a1a;
	margin: 0 0 4px;
}

.elgz-product-card__title a,
.elgz-product-card__title a:link,
.elgz-product-card__title a:visited {
	color: inherit;
	text-decoration: none;
}

.elgz-product-card__title a:hover {
	color: #8a0000;
}

.elgz-product-card__subtitle {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #a59c92;
	margin: 0 0 6px;
}

.elgz-product-card__price {
	font-size: 1rem;
	color: #1a1a1a;
}

.elgz-product-card__price ins {
	text-decoration: none;
	color: #8a0000;
}

.elgz-product-card__price del {
	color: #a59c92;
	font-size: 0.875rem;
}

/* WooCommerce price override for product card */
.elgz-product-card .price {
	font-size: 1rem;
	color: #1a1a1a;
}

.elgz-product-card .price ins {
	text-decoration: none;
	color: #8a0000;
}

.elgz-product-card .price del {
	color: #a59c92;
	font-size: 0.875rem;
}

/* ── About section ────────────────────────────────────── */
.elgz-about {
	padding: 120px 64px !important;
	background-color: #f3eee5 !important;
}

.elgz-about__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.elgz-about__text-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.elgz-about__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #8a0000 !important;
	margin: 0 0 1rem;
}

.elgz-about__h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 3.25rem;
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0 0 1.5rem;
}

.elgz-about__h2 em {
	font-style: italic;
}

.elgz-about__body {
	font-size: 1rem;
	line-height: 1.75;
	color: #6b6864;
	margin: 0 0 2.5rem;
	max-width: 46ch;
}

.elgz-about__img-col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.elgz-about__img-area {
	aspect-ratio: 1 / 0.8;
	overflow: hidden;
	background-color: #e7ddd0;
}

.elgz-about__img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.elgz-about__craft {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0;
	text-align: right;
}

.elgz-blog-card {
	display: flex;
	flex-direction: column;
}

.elgz-blog-card__img-link {
	display: block;
	text-decoration: none;
}

.elgz-blog-card__img-area {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background-color: #efe7dd;
}

.elgz-blog-card__img-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.elgz-blog-card:hover .elgz-blog-card__img-area img {
	transform: scale(1.03);
}

.elgz-blog-card__body {
	padding: 20px 0 0;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.elgz-blog-card__cat {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #8a0000;
	margin: 0 0 0.5rem;
}

.elgz-blog-card__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 0 0 0.75rem;
}

.elgz-blog-card__title a,
.elgz-blog-card__title a:link,
.elgz-blog-card__title a:visited {
	color: inherit;
	text-decoration: none;
}

.elgz-blog-card__title a:hover {
	color: #8a0000;
}

.elgz-blog-card__meta {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	color: #a59c92;
	margin: 0;
}

.elgz-blog-card__cat a,
.elgz-blog-card__cat a:link,
.elgz-blog-card__cat a:visited {
	color: inherit;
	text-decoration: none;
}

.elgz-blog-card__cat a:hover {
	text-decoration: underline;
}

.elgz-blog-card__excerpt {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #6b6864;
	margin: 0 0 14px;
}

/* Push the date to the bottom of the card so rows stay aligned. */
.elgz-blog-card__meta {
	margin-top: auto;
}

/* ═══════════════════════════════════════════════════════
   Blog archive (/blog/, category & tag archives)
   ═══════════════════════════════════════════════════════ */
.elgz-blog-archive {
	background-color: #faf8f5;
}

.elgz-blog-archive__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 64px 96px;
}

.elgz-blog-archive__hero {
	max-width: 720px;
	margin: 0 auto 52px;
	padding: 52px 0 0;
	text-align: center;
}

.elgz-blog-archive__eyebrow {
	color: #8a0000 !important;
	text-align: center;
	margin-bottom: 14px;
}

.elgz-blog-archive__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0 0 18px;
}

.elgz-blog-archive__intro {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #6b6864;
	max-width: 620px;
	margin: 0 auto;
}

.elgz-blog-archive__intro p {
	margin: 0;
}

.elgz-blog-archive__empty {
	text-align: center;
	font-family: 'Roboto', sans-serif;
	color: #6b6864;
	padding: 40px 0 60px;
}

/* ── Pagination ───────────────────────────────────────── */
.elgz-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 64px;
}

.elgz-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
	text-decoration: none;
	background-color: #ffffff;
	border: 1px solid #e3dccf;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.elgz-pagination a.page-numbers:hover {
	border-color: #1a1a1a;
}

.elgz-pagination .page-numbers.current {
	background-color: #1a1a1a;
	color: #faf8f5;
	border-color: #1a1a1a;
}

.elgz-pagination .page-numbers.dots {
	border-color: transparent;
	background-color: transparent;
	min-width: auto;
	padding: 0 4px;
}

.elgz-pagination .prev.page-numbers,
.elgz-pagination .next.page-numbers {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ═══════════════════════════════════════════════════════
   Single post (.elgz-article)
   ═══════════════════════════════════════════════════════ */
.elgz-single {
	background-color: #faf8f5;
}

.elgz-article {
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 24px 80px;
}

.elgz-article__hero {
	padding: 40px 0 4px;
	text-align: center;
}

.elgz-article__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.elgz-article__eyebrow a,
.elgz-article__eyebrow a:link,
.elgz-article__eyebrow a:visited {
	color: #8a0000;
	text-decoration: none;
}

.elgz-article__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.75rem;
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0 0 20px;
}

.elgz-article__meta {
	display: flex;
	gap: 10px;
	justify-content: center;
	align-items: center;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #6b6864;
}

.elgz-article__media {
	margin: 28px 0 40px;
}

.elgz-article__media img {
	display: block;
	width: 100%;
	height: auto;
}

/* ── Blog image lightbox ──────────────────────────────── */
.elgz-zoomable {
	cursor: zoom-in;
}

html.elgz-lightbox-lock {
	overflow: hidden;
}

.elgz-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1300;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(26, 26, 26, 0.93);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.elgz-lightbox.is-open {
	display: flex;
}

.elgz-lightbox__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	cursor: zoom-in;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* Toggled state: show the image at natural size and let the overlay scroll. */
.elgz-lightbox.is-zoomed {
	overflow: auto;
	align-items: flex-start;
	justify-content: flex-start;
}

.elgz-lightbox.is-zoomed .elgz-lightbox__img {
	max-width: none;
	max-height: none;
	cursor: zoom-out;
}

.elgz-lightbox__close {
	position: fixed;
	top: 16px;
	right: 22px;
	z-index: 1;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 1.9rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease;
}

.elgz-lightbox__close:hover {
	background: rgba(255, 255, 255, 0.25);
}

.elgz-article__content {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #3a3733;
}

.elgz-article__content > * {
	margin: 0 0 1.5em;
}

.elgz-article__content h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.25;
	color: #1a1a1a;
	margin: 2em 0 0.6em;
}

.elgz-article__content h3 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 1.6em 0 0.5em;
}

.elgz-article__content a {
	color: #8a0000;
	text-decoration: underline;
}

.elgz-article__content ul,
.elgz-article__content ol {
	padding-left: 24px;
}

.elgz-article__content li {
	margin-bottom: 0.5em;
}

.elgz-article__content li::marker {
	color: #8a0000;
}

.elgz-article__content img {
	max-width: 100%;
	height: auto;
}

.elgz-article__content blockquote {
	border-left: 3px solid #8a0000;
	margin: 1.8em 0;
	padding: 4px 0 4px 22px;
	font-style: italic;
	color: #6b6864;
}

.elgz-article__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	align-items: center;
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid #e8e4dd;
}

.elgz-article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.elgz-article__tags a {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6b6864;
	text-decoration: none;
	border: 1px solid #e3dccf;
	padding: 5px 12px;
}

.elgz-article__tags a:hover {
	border-color: #1a1a1a;
	color: #1a1a1a;
}

.elgz-article__back {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #8a0000;
	text-decoration: none;
	white-space: nowrap;
}

.elgz-article__back:hover {
	text-decoration: underline;
}

.elgz-article__nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 40px;
}

.elgz-article__nav a,
.elgz-article__nav a:link,
.elgz-article__nav a:visited {
	display: block;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.0625rem;
	line-height: 1.35;
	color: #1a1a1a;
	text-decoration: none;
}

.elgz-article__nav a span {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: #8a0000;
	margin-bottom: 8px;
}

.elgz-article__nav-next {
	text-align: right;
}

.elgz-article__nav a:hover {
	color: #8a0000;
}

/* ── Blog / article responsive ────────────────────────── */
@media (max-width: 1024px) {
	.elgz-blog-archive__inner {
		padding: 0 32px 80px;
	}
}

@media (max-width: 640px) {
	.elgz-blog-archive__inner {
		padding: 0 20px 64px;
	}

	.elgz-blog-archive__hero {
		padding-top: 40px;
		margin-bottom: 40px;
	}

	.elgz-blog-archive__title {
		font-size: 2rem;
	}

	.elgz-article {
		padding: 8px 20px 64px;
	}

	.elgz-article__title {
		font-size: 2rem;
	}

	.elgz-article__content {
		font-size: 1rem;
	}

	.elgz-article__nav {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.elgz-article__nav-next {
		text-align: left;
	}
}

/* ── Footer (dark) ────────────────────────────────────── */
.elgz-footer {
	background-color: #1a1a1a !important;
	color: #faf8f5 !important;
	padding: 80px 64px 32px !important;
}

.elgz-footer__inner {
	max-width: 1440px;
	margin: 0 auto;
}

.elgz-footer__grid {
	display: grid !important;
	grid-template-columns: 340px 1fr 1fr 1fr !important;
	gap: 64px !important;
	margin-bottom: 64px !important;
	background-color: transparent !important;
}

.elgz-footer__col {
	min-width: 0;
}

.elgz-footer__logo-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	margin-bottom: 20px;
}

.elgz-footer__logo-name {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.3em;
	color: #faf8f5;
	line-height: 1;
}

.elgz-footer__logo-tag {
	font-family: 'Roboto', sans-serif;
	font-size: 0.625rem;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: #a59c92;
	margin-top: 4px;
}

.elgz-footer__tagline {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	line-height: 1.65;
	color: #a59c92 !important;
	margin: 0;
}

.elgz-footer__col-heading {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 500;
	color: #a59c92 !important;
	margin: 0 0 20px;
}

.elgz-footer__nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.elgz-footer__nav li a,
.elgz-footer__nav li a:link,
.elgz-footer__nav li a:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #faf8f5;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-footer__nav li a:hover {
	color: #a59c92;
}

.elgz-footer__contact-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.elgz-footer__store-city {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	color: #faf8f5;
}

.elgz-footer__store-addr {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #a59c92!important;
	margin-top: 2px;
}

.elgz-footer__store-addr:hover {
	text-decoration: underline!important;
}

.elgz-footer__store-phone {
	display: inline-block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	margin-top: 6px;
}

/* Store city + address are now links (→ shop page / Google Maps). */
.elgz-footer__contact-list a.elgz-footer__store-city {
	color: #faf8f5;
}

.elgz-footer__contact-list a.elgz-footer__store-city:hover {
	color: #a59c92;
}

.elgz-footer__contact-list a.elgz-footer__store-addr {
	color: #a59c92;
}

.elgz-footer__contact-list a.elgz-footer__store-addr:hover {
	color: #faf8f5;
}

.elgz-footer__contact-list a,
.elgz-footer__contact-list a:link,
.elgz-footer__contact-list a:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #faf8f5;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-footer__contact-list a:hover {
	color: #a59c92;
}

.elgz-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.elgz-footer__copy {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #a59c92;
}

.elgz-footer__legal {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.8125rem;
	color: #a59c92;
}

.elgz-footer__legal a,
.elgz-footer__legal a:link,
.elgz-footer__legal a:visited {
	color: #a59c92;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-footer__legal a:hover {
	color: #faf8f5;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1200px) {
	.elgz-footer__grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 40px !important;
	}
}

@media (max-width: 1024px) {
	.elgz-header {
		padding: 0 32px;
	}

	.elgz-hero {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.elgz-hero__img-col {
		aspect-ratio: 16 / 9;
		height: auto;
	}

	.elgz-hero__text-col {
		padding: 48px 32px;
	}

	.elgz-hero__h1 {
		font-size: 2.75rem;
	}

	.elgz-section {
		padding: 64px 32px !important;
	}

	.elgz-cats-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.elgz-products-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.elgz-about {
		padding: 80px 32px !important;
	}

	.elgz-about__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.elgz-footer {
		padding: 64px 32px 32px !important;
	}
}

@media (max-width: 768px) {
	.elgz-header {
		padding: 0 20px;
		height: 72px;
	}

	.elgz-header__info {
		display: none;
	}

	.elgz-logo__name {
		font-size: 1.5rem;
	}

	.elgz-nav {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
		padding: 0 20px;
	}

	.elgz-nav__menu {
		gap: 24px;
	}

	.elgz-section {
		padding: 48px 20px !important;
		background-color: #faf8f5;
	}

	.elgz-section__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.elgz-hero__h1 {
		font-size: 2rem;
	}

	.elgz-cats-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.elgz-products-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.elgz-about {
		padding: 48px 20px !important;
	}

	.elgz-footer {
		padding: 48px 20px 24px !important;
	}

	.elgz-footer__grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
		margin-bottom: 40px !important;
	}
}

/* =========================================================
   Eleganza — Carousel + Product Card  (Task A)
   ========================================================= */

/* ── Carousel section wrapper ─────────────────────────── */
.elgz-carousel-section {
	padding: 96px 0;
}

.elgz-carousel-container {
	margin: 0 auto;
	padding: 0 64px;
}

.elgz-carousel-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 48px;
}

/* ── Carousel track + arrows ──────────────────────────── */
.elgz-carousel {
	position: relative;
}

.elgz-carousel-track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 4px 0;
	list-style: none;
	margin: 0;
}

.elgz-carousel-track::-webkit-scrollbar {
	display: none;
}

/* .elgz-carousel-track > * {
	flex: 0 0 330px;
	scroll-snap-align: start;
} */

/* Show 5 items on large screens */
.elgz-carousel-track > * {
	flex: 0 0 calc((100% - (24px * 4)) / 5);
	scroll-snap-align: start;
}

/* Show 4 items on tablets */
@media (max-width: 1440px) {
	.elgz-carousel-track > * {
		flex: 0 0 calc((100% - (24px * 3)) / 4);
	}
}

/* Show 3 items on smaller tablets */
@media (max-width: 1024px) {
	.elgz-carousel-track > * {
		flex: 0 0 calc((100% - (24px * 2)) / 3);
	}
}

/* Show 1 item on mobile */
@media (max-width: 640px) {
	.elgz-carousel-track > * {
		flex: 0 0 100%;
	}
}

.elgz-carousel-arrow {
	position: absolute;
	top: 170px;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	background: #faf8f5;
	border: 1px solid #f3eee5;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	font-size: 24px;
	color: #1a1a1a;
	line-height: 1;
	padding: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.elgz-carousel-arrow:hover {
	background: #8a0000;
	color: #faf8f5;
	border-color: #8a0000;
}

.elgz-carousel-arrow--prev {
	left: -24px;
}

.elgz-carousel-arrow--next {
	right: -24px;
}

/* ── Product card (carousel) ──────────────────────────── */
.elgz-product-card {
	width: 290px !important;
	list-style: none !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background-color: white!important;
}

.elgz-product-card__img-link {
	display: block;
	text-decoration: none;
}

.elgz-product-card__img-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 33 / 34;
	overflow: hidden;
	background-color: white;
	padding: 10px;
}

.elgz-product-card__img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.35s ease;
}

.elgz-product-card:hover .elgz-product-card__img-wrap img {
	transform: scale(1.07);
}

.elgz-product-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background-color: #8a0000;
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	padding: 6px 10px;
	line-height: 1;
	pointer-events: none;
}

.elgz-product-card__heart {
	position: absolute;
	top: 17px;
	right: 17px;
	width: 40px;
	height: 40px;
	background-color: white;
	border: none;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #1a1a1a;
	font-size: 20px;
	font-family: 'Roboto', sans-serif;
	padding: 0;
	transition: color 0.2s ease;
}

.elgz-product-card__heart:hover {
	color: #8a0000;
}

.elgz-product-card__body {
	min-height: 72px;
	padding: 10px;
}

.elgz-product-card__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 0 0 4px;
}

.elgz-product-card__title a,
.elgz-product-card__title a:link,
.elgz-product-card__title a:visited {
	color: inherit;
	text-decoration: none;
}

.elgz-product-card__title a:hover {
	color: #8a0000;
}

.elgz-product-card__subtitle {
	font-family: 'Roboto', sans-serif;
	font-size: 10px;
	letter-spacing: 0.04em;
	color: #6b6864;
	text-transform: uppercase;
	margin: 0;
}

.elgz-product-card__price {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #8a0000;
	margin-top: 10px;
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.elgz-product-card__price ins {
	text-decoration: none;
	color: #8a0000;
}

.elgz-product-card__price del {
	color: #6b6864;
	font-size: 13px;
}

/* WooCommerce price spans */
.elgz-product-card .price {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	color: #8a0000;
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.elgz-product-card .price ins {
	text-decoration: none;
	color: #8a0000;
}

.elgz-product-card .price del {
	color: #6b6864;
	font-size: 13px;
}

.elgz-product-card .price .woocommerce-Price-amount {
	color: inherit;
}

.elgz-product-card .price del .woocommerce-Price-amount {
	color: #6b6864;
}

.elgz-product-card .price ins .woocommerce-Price-amount {
	color: #8a0000;
}

/* ── Carousel responsive ──────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-carousel-container {
		padding: 0 32px;
	}

	.elgz-carousel-arrow--prev {
		left: -16px;
	}

	.elgz-carousel-arrow--next {
		right: -16px;
	}
}

@media (max-width: 640px) {
	.elgz-carousel-section {
		padding: 48px 0;
	}

	.elgz-carousel-container {
		padding: 0 20px;
	}


	.elgz-carousel-arrow {
		width: 40px;
		height: 40px;
		/* Center on the full-width product image (aspect 33/34) rather than a
		   fixed offset, so the arrows sit at the image's vertical middle. */
		top: calc((100vw - 40px) * 17 / 33);
	}

	.elgz-carousel-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		margin-bottom: 32px;
	}

}

/* =========================================================
   Eleganza — Sticky Header 
   ========================================================= */

/* The sticky header is in document flow and changes height by ~85px when it
   collapses on scroll (announcement bar 45→0, row 104→64). Browser scroll
   anchoring reacts to that in-flow height change by nudging scrollY to keep
   content put — which re-crosses the collapse threshold and makes the header
   flicker up/down rapidly near the top. Disabling scroll anchoring on the
   scroll container breaks that feedback loop. */
html,
body {
	overflow-anchor: none;
}

/* ── Sticky wrapper ───────────────────────────────────── */
.elgz-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: #faf8f5;
	transition: box-shadow 0.25s ease;
}

.elgz-site-header.is-scrolled {
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* Admin bar offsets — the bar is fixed (32px desktop / 46px tablet) so the
   sticky header sits below it. At ≤600px WordPress makes the admin bar
   `position: absolute` (it scrolls away), so the header must pin to 0 — otherwise
   a 46px gap shows above it once scrolled. */
.admin-bar .elgz-site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .elgz-site-header {
		top: 46px;
	}
}

@media screen and (max-width: 600px) {
	.admin-bar .elgz-site-header {
		top: 0;
	}
}

/* ── Announcement bar ─────────────────────────────────── */
/* Re-declare height here so transition has both states on the same selector */
.elgz-site-header .elgz-ann-bar {
	height: 45px;
	overflow: hidden;
	transition: height 0.25s ease;
}

.elgz-site-header.is-scrolled .elgz-ann-bar {
	height: 0;
}

/* ── Main header row ─────────────────────────────────── */
/* Re-declare base height on .elgz-site-header .elgz-header so the
   transition has matching specificity for both start and end states */
.elgz-site-header .elgz-header {
	height: 104px;
	transition: height 0.25s ease;
}

.elgz-site-header.is-scrolled .elgz-header {
	height: 64px;
}

/* ── Logo name ────────────────────────────────────────── */
.elgz-site-header .elgz-logo__name {
	font-size: 32px;
	transition: font-size 0.25s ease;
}

.elgz-site-header.is-scrolled .elgz-logo__name {
	font-size: 22px;
}

/* ── Logo tagline ─────────────────────────────────────── */
.elgz-site-header .elgz-logo__tag {
	max-height: 20px;
	opacity: 1;
	overflow: hidden;
	transition: max-height 0.25s ease, opacity 0.2s ease, margin-top 0.25s ease;
}

.elgz-site-header.is-scrolled .elgz-logo__tag {
	max-height: 0;
	opacity: 0;
	margin-top: 0;
}

/* ── Mobile ───────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-site-header .elgz-header {
		padding: 0 32px;
	}
}

@media (max-width: 768px) {
	.elgz-site-header .elgz-header {
		padding: 0 20px;
		height: 72px;
	}

	.elgz-site-header.is-scrolled .elgz-header {
		height: 56px;
	}

	.elgz-site-header .elgz-header__info {
		display: none;
	}

	.elgz-site-header .elgz-logo__name {
		font-size: 22px;
	}

	.elgz-site-header.is-scrolled .elgz-logo__name {
		font-size: 18px;
	}
}

/* =========================================================
   # Eleganza — Single Product (Step 5.3)
   ========================================================= */

/* ── Page wrapper ─────────────────────────────────────── */
.elgz-pdp {
	background-color: #faf8f5;
}

/* ── Breadcrumb row ───────────────────────────────────── */
.elgz-pdp-breadcrumb {
	padding: 14px 64px;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	color: #6b6864;
	border-bottom: 1px solid #e8e4dd;
	background-color: #faf8f5;
	text-transform: uppercase;
}

.elgz-pdp-breadcrumb a,
.elgz-pdp-breadcrumb a:link,
.elgz-pdp-breadcrumb a:visited {
	color: #6b6864;
	text-decoration: none;
}

.elgz-pdp-breadcrumb a:hover {
	color: #8a0000;
}

.elgz-pdp-breadcrumb .breadcrumb_last {
	color: #1a1a1a;
}

/* ── Inner content wrapper ────────────────────────────── */
.elgz-pdp-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 64px 64px 80px;
}

/* ── 2-col layout: gallery left, info right ───────────── */
.elgz-pdp-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}

/* ── Gallery column ───────────────────────────────────── */
.elgz-pdp-gallery {
	position: relative;
}

/* Sticky gallery on desktop only. The info column is taller than the image, so
   the image follows the scroll. align-self:start lets the grid item shrink to
   its content (otherwise it stretches the full row height and never sticks).
   Below 1025px the layout stacks to one column, so sticky is turned off. */
@media (min-width: 1025px) {
	.elgz-pdp-gallery {
		position: -webkit-sticky; /* For Safari */
		position: sticky;
		top: 180px;
		align-self: start;
	}
}

/*
 * Vertical thumbnail rail — flex layout on .woocommerce-product-gallery.
 * display:flex !important — WC's gallery JS sets display:block inline on init.
 */
.elgz-pdp-gallery .woocommerce-product-gallery {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	align-items: flex-start;
	position: relative;
}

.elgz-pdp-gallery .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	flex: 1;
	order: 2;
	min-width: 0;
}

/*
 * Thumbnail rail — vertical column on left.
 * display:flex !important — WC sets display:none initially then display:block after JS init.
 */
.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs {
	display: flex !important;
	flex-direction: row;
	gap: 8px;
	order: 1;
	flex-shrink: 0;
	list-style: none;
	padding: 0;
	margin: 0;
}

.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs li {
	width: 72px;
	height: 72px;
	overflow: hidden;
	cursor: pointer;
	border: 1px solid transparent;
	transition: border-color 0.15s ease;
}

.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.6;
	transition: opacity 0.2s ease;
}

.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs img:hover,
.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs img.flex-active {
	opacity: 1;
}

.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs li:has(img.flex-active) {
	border-color: #1a1a1a;
}

/* Main gallery image fills wrapper */
.elgz-pdp-gallery .woocommerce-product-gallery__image img {
	width: 620px;
	overflow: hidden;
	height: auto;
	display: block;
}

/* Zoom trigger — scoped */
.elgz-pdp-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 10;
	width: 40px;
	height: 40px;
	background-color: rgba(255, 255, 255, 0.95);
	border: 1px solid #e8e4dd;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.2s ease;
	font-size: 0;
	color: transparent;
}

.elgz-pdp-gallery .woocommerce-product-gallery__trigger::before {
	content: '';
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.elgz-pdp-gallery .woocommerce-product-gallery__trigger:hover {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

/* ── Sale badge ───────────────────────────────────────── */
.elgz-pdp-gallery__badge {
	position: absolute;
	/* offset past thumbnail rail: 72px wide + 12px gap = 84px, +4px margin = 88px */
	top: 16px;
	left: 88px;
	z-index: 10;
	background-color: #8a0000;
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	padding: 6px 10px;
	line-height: 1;
	pointer-events: none;
}

/* ── Info column ──────────────────────────────────────── */
/* Variation / add-to-cart / button styling lives under .elgz-pdp-cart below —
   that's the single source of truth (the old duplicate .elgz-pdp-info rules
   were removed). */
.elgz-pdp-info {
	display: flex;
	flex-direction: column;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-pdp-breadcrumb {
		padding: 14px 32px;
	}

	.elgz-pdp-inner {
		padding: 48px 32px 64px;
	}

	.elgz-pdp-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 640px) {
	.elgz-pdp-breadcrumb {
		padding: 12px 20px;
	}

	.elgz-pdp-inner {
		padding: 32px 20px 48px;
	}

	/* Thumbnails move to horizontal row below image on small screens */
	.elgz-pdp-gallery .woocommerce-product-gallery {
		flex-direction: column;
		
	}

	.elgz-pdp-gallery .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
		order: 1;
	}

	.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs {
		flex-direction: row;
		order: 2;
		width: auto;
	}

	.elgz-pdp-gallery .flex-control-nav.flex-control-thumbs li {
		width: 56px;
		height: 56px;
	}

	/* Badge repositions when thumbs are below image */
	.elgz-pdp-gallery__badge {
		left: 12px;
		top: 12px;
	}
}

/* ── Info column: eyebrow ─────────────────────────────── */
.elgz-pdp-eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 11px;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #8a0000;
	margin: 0 0 12px;
}

/* ── Info column: title ───────────────────────────────── */
.elgz-pdp-title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0 0 16px;
}

/* ── Info column: price + SKU row ─────────────────────── */
.elgz-pdp-price-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 8px;
}

/* Price — PT Serif (same family as the headings), burgundy */
.elgz-pdp-price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.875rem;
	line-height: 1.15;
	color: #8a0000;
	margin: 0;
}

/* WC wraps sale price in <ins> and old in <del> */
.elgz-pdp-price ins {
	text-decoration: none;
	color: #8a0000;
}

.elgz-pdp-price del {
	color: #a59c92;
	font-size: 1.25rem;
}

.elgz-pdp-price .woocommerce-Price-amount {
	font-weight: 400;
}

.elgz-pdp-price__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 0 10px;
	background-color: #8a0000;
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	flex-shrink: 0;
	align-self: center;
}

/* SKU — right side of the price row, muted */
.elgz-pdp-sku {
	flex-shrink: 0;
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	color: #a59c92;
	text-align: right;
	white-space: nowrap;
}

.elgz-pdp-sku span {
	color: #6b6864;
}

/* Spec line — hallmark · weight */
.elgz-pdp-meta {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #6b6864;
	margin: 0 0 26px;
}

/* ── Info column: short description (sits below the buy box) ── */
.elgz-pdp-desc {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.75;
	color: #6b6864;
	margin: 28px 0 0;
	padding-top: 28px;
	border-top: 1px solid #e8e4dd;
}

.elgz-pdp-desc strong {
	color: #1a1a1a;
}

.elgz-pdp-desc p {
	margin: 0 0 0.75em;
}

.elgz-pdp-desc p:last-child {
	margin-bottom: 0;
}

/* ── Info column: cart wrapper ────────────────────────── */
.elgz-pdp-cart {
	margin: 0 0 20px;
}

/* WC form.cart — flex row: qty input + add-to-cart button */
.elgz-pdp-cart form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Variations table (variable products) — full width above the cart row */
.elgz-pdp-cart .variations {
	width: 100%;
	border-collapse: collapse;
	margin-top: -15px;
}

.elgz-pdp-cart .variations th,
.elgz-pdp-cart .variations td {
	padding: 6px 0;
	vertical-align: middle;
}

.elgz-pdp-cart .variations th {
	text-align: left;
	width: 100px;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1a1a1a;
	display: none;
}

.elgz-pdp-cart .variations select {
	width: 100%;
	height: 35px;
	padding: 0 12px;
	border: 1px solid #e8e4dd;
	border-radius: 0;
	background-color: #faf8f5;
	font-size: 0.875rem;
	font-family: 'Roboto', sans-serif;
}

.elgz-pdp-cart .variations select:focus {
	outline: none;
	border-color: #8a0000;
}

.elgz-pdp-cart .reset_variations {
	font-size: 0.75rem;
	color: #6b6864;
	text-decoration: underline;
	display: inline-block;
	margin-top: 4px;
}

/* Quantity wrapper — flex row for ± + input */
.elgz-pdp-cart .quantity {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	min-height: 48px;
}

/* ± buttons: flanking the qty input */
.elgz-pdp-qty-btn {
	width: 44px;
	height: 48px;
	flex-shrink: 0;
	background-color: #faf8f5;
	border: 1px solid #e8e4dd;
	cursor: pointer;
	color: #1a1a1a;
	font-size: 18px;
	font-family: 'Roboto', sans-serif;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
	border-radius: 0px;
}

.elgz-pdp-qty-btn:hover {
	background-color: #1a1a1a;
	color: #faf8f5;
}

.elgz-pdp-qty-btn--minus {
	border-right: none;
}

.elgz-pdp-qty-btn--plus {
	border-left: none;
}

/* WC qty input — sits between ± buttons */
.elgz-pdp-cart .quantity .qty {
	width: 64px;
	height: 48px;
	padding: 0;
	border: 1px solid #e8e4dd;
	border-radius: 0;
	text-align: center;
	font-size: 1rem;
	font-family: 'Roboto', sans-serif;
	background-color: #faf8f5;
	color: #1a1a1a;
	/* hide native number spinners */
	-moz-appearance: textfield;
	appearance: textfield;
}

.elgz-pdp-cart .quantity .qty::-webkit-inner-spin-button,
.elgz-pdp-cart .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.elgz-pdp-cart .quantity .qty:focus {
	outline: none;
	border-color: #8a0000;
}

/* Screen-reader label inside .quantity — visually hidden */
.elgz-pdp-cart .quantity label.screen-reader-text {
	display: none;
}

/* Add-to-cart button — full Eleganza primary style */
.elgz-pdp-cart .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 48px;
	height: auto;
	padding: 12px 32px;
	background-color: #1a1a1a;
	color: #faf8f5;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	white-space: nowrap;
	border-radius: 0px;
}

.elgz-pdp-cart .single_add_to_cart_button:hover,
.elgz-pdp-cart .single_add_to_cart_button:focus {
	background-color: #8a0000;
	color: #faf8f5;
}

/* ── Variable products: qty + add-to-cart row ─────────────
   WooCommerce wraps the qty input and button for variable products in
   .woocommerce-variation-add-to-cart (inside .single_variation_wrap). Lay it
   out as the same flex row as simple products: qty left, button to its right. */
.elgz-pdp-cart .single_variation_wrap {
	width: 100%;
}

.elgz-pdp-cart .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* Selected-variation price / stock line (filled in by WC on selection) */
.elgz-pdp-cart .single_variation {
	width: 100%;
	margin-bottom: 12px;
	font-family: 'Roboto', sans-serif;
	color: #1a1a1a;
}

.elgz-pdp-cart .single_variation .price {
	font-size: 1.25rem;
	color: #8a0000;
}

.elgz-pdp-cart .single_variation .stock {
	font-size: 0.8125rem;
	color: #6b6864;
	margin: 4px 0 0;
}

/* While no variation is chosen, WC disables the button — dim it for clarity */
.elgz-pdp-cart .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
	opacity: 0.45;
	cursor: not-allowed;
}

/* Mobile: keep the quantity stepper and add-to-cart button on one row (per the
   design) instead of the button wrapping underneath. Placed after the base
   simple/variable cart rules so the nowrap wins the cascade. The label gets a
   touch tighter to fit beside the stepper; it wraps inside the button on very
   narrow screens rather than overflow. */
@media (max-width: 640px) {
	/* Simple products: the form itself is the qty+button row. Variable products
	   keep the form wrapping (its size header / dropdown / buy row stack) — only
	   the inner .woocommerce-variation-add-to-cart row goes nowrap. */
	.elgz-pdp-cart form.cart:not(.variations_form),
	.elgz-pdp-cart .woocommerce-variation-add-to-cart {
		flex-wrap: nowrap;
	}

	.elgz-pdp-cart .single_add_to_cart_button {
		min-width: 0;
		padding: 12px 12px;
		font-size: 0.6875rem;
		letter-spacing: 0.04em;
		white-space: normal;
	}
}

/* ── Size header: "Размер" label + size-guide link, above the dropdown ── */
.elgz-pdp-size-head {
	width: 100%;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.elgz-pdp-size-head__label {
	font-family: 'Roboto', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #1a1a1a;
}

/* ── Ring size guide — trigger + image popup ─────────────── */
.elgz-size-guide {
	margin: 0;
}

.elgz-size-guide__trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	color: #8a0000;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.elgz-size-guide__trigger:hover {
	color: #1a1a1a;
}

.elgz-size-guide__icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.elgz-size-guide__overlay {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background-color: rgba(26, 26, 26, 0.6);
}

.elgz-size-guide__modal {
	position: relative;
	width: 100%;
	max-width: 80%;
	max-height: 90vh;
	overflow-y: auto;
	background-color: #faf8f5;
	padding: 32px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.elgz-size-guide__close {
	position: absolute;
	top: 10px;
	right: 14px;
	width: 36px;
	height: 36px;
	background: none;
	border: none;
	cursor: pointer;
	color: #1a1a1a;
	font-size: 28px;
	line-height: 1;
	transition: color 0.2s ease;
}

.elgz-size-guide__close:hover {
	color: #8a0000;
}

.elgz-size-guide__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.375rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 8px;
	padding-right: 32px;
}

.elgz-size-guide__lead {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #6b6864;
	margin: 0 0 18px;
	display: none;
}

.elgz-size-guide__img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 640px) {
	.elgz-size-guide__modal {
		padding: 24px 18px;
	}
}

@media (max-width: 640px) {
	.elgz-size-guide {
		display: inline-flex;
	}
}

/* ── Info column: favourite / wishlist button ─────────── */
/* position:static resets the gallery .elgz-pdp-fav absolute rule above */
.elgz-pdp-info .elgz-pdp-fav,
.elgz-pdp-fav[data-elgz-fav] {
	position: static;
	border-radius: 0;
	top: auto;
	right: auto;
	z-index: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 48px;
	height: auto;
	padding: 12px 24px;
	background-color: transparent;
	border: 1px solid #1a1a1a;
	cursor: pointer;
	color: #1a1a1a;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
	margin: 0 0 24px;
	box-sizing: border-box;
}

.elgz-pdp-info .elgz-pdp-fav:hover,
.elgz-pdp-fav[data-elgz-fav]:hover {
	background-color: #1a1a1a;
	color: #faf8f5;
}

/* ── Info column: assurances ──────────────────────────── */
.elgz-pdp-assurances {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	gap: 12px;
	padding: 20px 0 0;
	border-top: 1px solid #e8e4dd;
}

.elgz-pdp-assurances__row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.elgz-pdp-assurances__icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.elgz-pdp-assurances__text {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.elgz-pdp-assurances__text strong {
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-pdp-assurances__text span {
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	color: #6b6864;
}

/* ── Full product description section ────────────────── */
.elgz-pdp-full-desc {
	max-width: 1440px; 
	margin: 0 auto;
	padding: 48px 64px 64px; /* Added 48px top padding back so the heading has space above it */
}

.elgz-pdp-full-desc__heading {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem; /* Increased size (was 0.6875rem) */
	letter-spacing: 0.28em; /* Slightly adjusted spacing to look good with the bigger text */
	text-transform: uppercase;
	color: #1a1a1a;
	margin: 0 0 24px; /* Space between the heading and the horizontal line */
	font-weight: 500;
}

.elgz-pdp-full-desc__inner {
	border-top: 1px solid #e8e4dd; /* The thin line */
	padding-top: 30px; /* Space between the line and the text body */
	position: relative;
	overflow: hidden;
	transition: max-height 0.45s ease;
}

/* Collapsed state — clamp + fade. The toggle (Прочети още) only renders when the
   text is long enough to need it; expanding sets an inline max-height equal to
   the content height for a smooth reveal. */
.elgz-pdp-full-desc__inner.is-clamped {
	max-height: 380px;
}

.elgz-pdp-full-desc__inner.is-clamped::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 110px;
	background: linear-gradient(to bottom, rgba(250, 248, 245, 0), #faf8f5 92%);
	pointer-events: none;
}

.elgz-pdp-readmore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	padding: 11px 24px;
	background: none;
	border: 1px solid #1a1a1a;
	cursor: pointer;
	color: #1a1a1a;
	font-family: 'Roboto', sans-serif;
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.elgz-pdp-readmore:hover,
.elgz-pdp-readmore:focus-visible {
	background-color: #1a1a1a;
	color: #faf8f5;
}

.elgz-pdp-readmore__icon {
	transition: transform 0.3s ease;
}

.elgz-pdp-readmore__icon.is-open {
	transform: rotate(180deg);
}

/* Alpine: hide cloaked nodes until initialised (prevents toggle flash). */
[x-cloak] {
	display: none !important;
}

.elgz-pdp-full-desc__body {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.8; /* Gives the text nice breathing room */
	color: #6b6864;
	max-width: 960px; /* Constrains text width so it doesn't stretch too wide */
}

.elgz-pdp-full-desc__body p {
	margin: 0 0 1.5em; /* Increases space between paragraphs */
}

.elgz-pdp-full-desc__body p:last-child {
	margin-bottom: 0;
}

.elgz-pdp-full-desc__body strong,
.elgz-pdp-full-desc__body b {
	color: #1a1a1a; /* Makes bold words (like "сребро проба 925") stand out */
	font-weight: 600;
}

/* Mobile adjustments */
@media (max-width: 1024px) {
	.elgz-pdp-full-desc {
		padding: 0 32px 48px;
	}
}

@media (max-width: 640px) {
	.elgz-pdp-full-desc {
		padding: 0 20px 40px;
	}
	.elgz-pdp-full-desc__inner {
		padding-top: 32px;
	}
}

@media (max-width: 1024px) {
	.elgz-pdp-full-desc {
		padding: 40px 32px 48px;
	}
}

@media (max-width: 640px) {
	.elgz-pdp-full-desc {
		padding: 32px 20px 40px;
	}
}

.woocommerce-breadcrumb {
	display: none;
}

/* =========================================================
   # Eleganza — Shop Archive
   ========================================================= */

/* ── Hero ─────────────────────────────────────────────── */
.elgz-shop-hero {
	padding: 64px 64px 48px;
	background-color: #faf8f5;
	border-bottom: 1px solid #e8e4dd;
	text-align: center;
}

.elgz-shop-hero .elgz-section__label {
	margin-bottom: 12px;
	text-align: left;
}

.elgz-shop-hero .elgz-section__h2 {
	margin-bottom: 16px;
}

.elgz-shop-hero__count {
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	color: #a59c92;
	letter-spacing: 0.04em;
	margin: 0;
}

/* ── Category cards row ───────────────────────────────── */
.elgz-shop-cats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 16px;
	padding: 48px 64px;
	border-bottom: 1px solid #e8e4dd;
	background-color: #faf8f5;
}

/* ── Shop 2-col layout ────────────────────────────────── */
.elgz-shop-layout {
	display: grid;
	grid-template-columns: 270px 1fr;
	gap: 48px;
	padding: 48px 64px 96px;
	align-items: start;
	background-color: #faf8f5;
}

/* Promo page with no active sale products — single column, no sidebar */
.elgz-shop-layout--empty {
	grid-template-columns: 1fr;
}

/* ── Sidebar — flows in normal document scroll (no sticky/max-height,
   so long expanded category branches stay fully reachable) ─────────── */
.elgz-shop-sidebar {
	border-right: 1px solid #e8e4dd;
	padding-right: 32px;
}

/* ── Main area ────────────────────────────────────────── */
.elgz-shop-main {
	min-width: 0;
}

/* ── Toolbar ──────────────────────────────────────────── */
.elgz-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 32px;
	padding-bottom: 16px;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-shop-toolbar .woocommerce-result-count {
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	color: #6b6864;
	margin: 0;
}

.elgz-shop-toolbar .woocommerce-ordering {
	margin: 0;
}

.elgz-shop-toolbar .woocommerce-ordering select {
	height: 40px;
	padding: 0 12px;
	border: 1px solid #e8e4dd;
	border-radius: 0;
	background-color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	color: #1a1a1a;
	cursor: pointer;
}

.elgz-shop-toolbar .woocommerce-ordering select:focus {
	outline: none;
	border-color: #8a0000;
}

/* ── Product grid (3-col) ─────────────────────────────── */
.elgz-shop-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 24px;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Override carousel's fixed card width inside grid cells */
/* The carousel CSS sets width:290px !important — scoped reset below */
.elgz-shop-grid .elgz-product-card {
	width: auto !important; /* carousel sets width:290px !important */
}

.elgz-shop-grid .elgz-product-card__img-wrap {
	width: 100% !important; /* carousel sets fixed pixel width */
	height: auto !important; /* carousel sets fixed pixel height */
	aspect-ratio: 33 / 34;
}

/* ── Pagination ───────────────────────────────────────── */
.elgz-shop-main .woocommerce-pagination {
	margin-top: 48px;
	display: flex;
	justify-content: center;
}

.elgz-shop-main .woocommerce-pagination .page-numbers {
	display: flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.elgz-shop-main .woocommerce-pagination .page-numbers li a,
.elgz-shop-main .woocommerce-pagination .page-numbers li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: #6b6864;
	text-decoration: none;
	border: 1px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.elgz-shop-main .woocommerce-pagination .page-numbers li a:hover {
	color: #1a1a1a;
	border-color: #e8e4dd;
}

.elgz-shop-main .woocommerce-pagination .page-numbers li span.current {
	color: #1a1a1a;
	border-color: #1a1a1a;
	font-weight: 500;
}

/* ── No products found ────────────────────────────────── */
.elgz-shop-main .woocommerce-info {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #6b6864;
	padding: 24px;
	border: 1px solid #e8e4dd;
	background-color: #faf8f5;
	margin: 0;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1200px) {
	.elgz-shop-layout {
		grid-template-columns: 200px 1fr;
		gap: 32px;
	}
}

@media (max-width: 1024px) {
	.elgz-shop-hero {
		padding: 48px 32px 32px;
	}

	.elgz-shop-cats {
		padding: 32px 32px;
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	}

	.elgz-shop-layout {
		grid-template-columns: 1fr;
		padding: 32px 32px 64px;
	}

	.elgz-shop-sidebar {
		position: static;
		border-right: none;
		border-bottom: 1px solid #e8e4dd;
		padding-right: 0;
		padding-bottom: 24px;
		min-height: 0;
	}

	.elgz-shop-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.elgz-shop-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.elgz-shop-hero {
		padding: 32px 20px 24px;
	}

	.elgz-shop-cats {
		padding: 24px 20px;
		grid-template-columns: repeat(2, 1fr);
	}

	.elgz-shop-layout {
		padding: 24px 20px 48px;
	}

	.elgz-shop-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	/* One article per row on phones — the 2-col cards were too small. */
	.elgz-shop-grid {
		grid-template-columns: 1fr;
		gap: 28px 0;
	}
}

/* ── Mobile filters toggle (injected by js/shop-filters.js) ───────────
   Hidden on desktop; at <=1024 it replaces the stacked sidebar with a
   "Филтри" button that expands the filters on demand. */
.elgz-shop-filters-toggle {
	display: none;
}

@media (max-width: 1024px) {
	.elgz-shop-layout--collapsible .elgz-shop-filters-toggle {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		padding: 15px 18px;
		border: 1px solid #e8e4dd;
		background-color: #ffffff;
		font-family: 'Roboto', sans-serif;
		font-size: 13px;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: #1a1a1a;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		border-radius: 0px;
	}

	.elgz-shop-filters-toggle__ic,
	.elgz-shop-filters-toggle__chev {
		display: inline-flex;
		flex: 0 0 auto;
	}

	.elgz-shop-filters-toggle__ic svg {
		width: 18px;
		height: 18px;
		display: block;
	}

	.elgz-shop-filters-toggle__chev {
		color: #8a0000;
		transition: transform 0.2s ease;
	}

	.elgz-shop-filters-toggle__chev svg {
		width: 16px;
		height: 16px;
		display: block;
	}

	.elgz-shop-filters-toggle__label {
		flex: 1 1 auto;
		text-align: left;
		font-weight: 500;
	}

	.elgz-shop-layout--collapsible.is-filters-open .elgz-shop-filters-toggle__chev {
		transform: rotate( 180deg );
	}

	/* The sidebar stays collapsed behind the toggle until opened. */
	.elgz-shop-layout--collapsible .elgz-shop-sidebar {
		display: none;
		border-bottom: none;
		padding-bottom: 0;
	}

	.elgz-shop-layout--collapsible.is-filters-open .elgz-shop-sidebar {
		display: block;
		margin-top: 14px;
		padding-bottom: 24px;
		border-bottom: 1px solid #e8e4dd;
	}
}

/* ── Sidebar filter groups ────────────────────────────── */
.elgz-shop-filter-group {
	border-bottom: 1px solid #e8e4dd;
	padding: 0 0 20px;
	margin: 0 0 20px;
}

/* The Категории group (direct child of <aside>) keeps its divider.
   The Цена group lives inside the <form> and is the last group before the
   Apply button, so it clears its border to avoid a stray line above it. */
.elgz-shop-filter-form .elgz-shop-filter-group {
	border-bottom: none;
	margin-bottom: 16px;
}

.elgz-shop-filter-heading {
	font-family: 'Roboto', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #1a1a1a;
	margin: 0 0 14px;
}

/* ── Optional category description in hero ────────────── */
.elgz-shop-hero__desc {
	max-width: 60ch;
	margin: 0 auto 16px;
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: #6b6864;
}

.elgz-shop-hero__desc p {
	margin: 0 0 0.5em;
}

.elgz-shop-hero__desc p:last-child {
	margin-bottom: 0;
}

/* ── Category tree (hierarchical drill-down) ──────────── */
.elgz-shop-cat-tree,
.elgz-shop-cat-subtree {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.elgz-shop-cat-subtree {
	margin: 2px 0 6px;
	padding-left: 12px;
	border-left: 1px solid #e8e4dd;
}

.elgz-shop-cat-parent,
.elgz-shop-cat-parent:link,
.elgz-shop-cat-parent:visited,
.elgz-shop-cat-child,
.elgz-shop-cat-child:link,
.elgz-shop-cat-child:visited {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px;
	padding: 6px 8px;
	font-family: 'Roboto', sans-serif;
	text-decoration: none;
	color: #1a1a1a;
	border-radius: 2px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.elgz-shop-cat-parent {
	font-size: 14px;
}

.elgz-shop-cat-child {
	font-size: 13px;
	color: #8b8680;
}

.elgz-shop-cat-parent:hover,
.elgz-shop-cat-child:hover {
	background-color: #f3eee5;
	color: #1a1a1a;
}

.elgz-shop-cat-parent.is-expanded {
	color: #1a1a1a;
	font-weight: 500;
}

/* Намалени — sale shortcut, not a taxonomy term */
.elgz-shop-cat-parent--sale {
	background-color: #8a0000;
	color: #f3eee5!important;
	text-transform: uppercase;
}

.elgz-shop-cat-parent--sale:hover {
	background-color: #1a1a1a;
	color: #f3eee5!important;
}

.elgz-shop-cat-parent.is-active,
.elgz-shop-cat-child.is-active {
	background-color: #1a1a1a;
	color: #faf8f5!important;
}

.elgz-shop-cat-parent.is-active:hover,
.elgz-shop-cat-child.is-active:hover {
	background-color: #1a1a1a;
	color: #faf8f5;
}

.elgz-shop-cat-name {
	min-width: 0;
}

.elgz-shop-cat-count {
	font-size: 12px;
	color: #a59c92;
	flex-shrink: 0;
	letter-spacing: -0.5px;
}

.elgz-shop-cat-parent.is-active .elgz-shop-cat-count,
.elgz-shop-cat-child.is-active .elgz-shop-cat-count {
	color: rgba(250, 248, 245, 0.6);
}

/* ── Price dual-handle slider ─────────────────────────── */
.elgz-shop-price {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.elgz-shop-price-slider {
	position: relative;
	height: 16px;
}

.elgz-shop-price-track {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 3px;
	transform: translateY(-50%);
	background-color: #e8e4dd;
	border-radius: 2px;
}

.elgz-shop-price-fill {
	position: absolute;
	top: 50%;
	height: 3px;
	transform: translateY(-50%);
	background-color: #8a0000;
	border-radius: 0px;
}

/* Two overlaid range inputs; only the thumbs receive pointer events so both
   handles stay grabbable across the shared track. The input height equals the
   thumb height and is centred on the track, so the thumb sits on the line. */
.elgz-shop-price-range {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 22px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
	border: none!important;
}

.elgz-shop-price-range:focus {
	outline: none;
}

.elgz-shop-price-range::-webkit-slider-runnable-track {
	height: 14px;
	background: transparent;
	border: none;
}

.elgz-shop-price-range::-moz-range-track {
	height: 14px;
	background: transparent;
	border: none;
}

.elgz-shop-price-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	pointer-events: auto;
	width: 14px;
	height: 14px;
	margin-top: 0; /* input height == thumb height, so no offset needed */
	border-radius: 50%;
	background-color: #faf8f5;
	border: 1px solid #8a0000;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.elgz-shop-price-range::-moz-range-thumb {
	pointer-events: auto;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: #faf8f5;
	border: 1px solid #8a0000;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.elgz-shop-price-range:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 3px rgba(138, 0, 0, 0.22);
}

.elgz-shop-price-range:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 3px rgba(138, 0, 0, 0.22);
}

/* Keep the max handle above so both thumbs are reachable when overlapping */
.elgz-shop-price-range--max {
	z-index: 2;
}

/* Grid fade while an AJAX price filter is in flight */
.elgz-shop-main.is-loading {
	opacity: 0.5;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

/* ── Price numeric fields ─────────────────────────────── */
.elgz-shop-price-fields {
	display: flex;
	align-items: center;
	gap: 8px;
}

.elgz-shop-price-input {
	width: 0;
	flex: 1;
	height: 30px;
	padding: 0px 10px;
	padding-left: 10px!important;
	border: 1px solid #e8e4dd;
	border-radius: 0!important;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: #1a1a1a!important;
	background-color: #ffffff;
	-moz-appearance: textfield;
	appearance: textfield;
}

.elgz-shop-price-input::-webkit-inner-spin-button,
.elgz-shop-price-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.elgz-shop-price-input:focus {
	outline: none;
	border-color: #8a0000;
}

.elgz-shop-price-sep {
	font-size: 12px;
	color: #a59c92;
	flex-shrink: 0;
}

.elgz-shop-price-fields::after {
	content: "€";
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
}


/* ── Clear filters link ───────────────────────────────── */
.elgz-shop-filter-clear,
.elgz-shop-filter-clear:link,
.elgz-shop-filter-clear:visited {
	display: block;
	margin-top: 16px;
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	letter-spacing: 0.08em;
	color: #a59c92;
	text-decoration: none;
	text-align: center;
	transition: color 0.15s ease;
}

.elgz-shop-filter-clear:hover {
	color: #8a0000;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — За нас (About) page (Step 5.6)
   Page-specific classes prefixed .elgz-anas-* (за-НА-С). Reuses the v2 design
   system (palette/fonts/spacing per audit §15) and the shared .elgz-pdp-breadcrumb
   and .elgz-btn-* components. No existing rules are modified.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────────────── */
.elgz-anas-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	min-height: 520px;
}

.elgz-anas-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 96px 64px;
	background-color: #f3eee5;
}

.elgz-anas-hero__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #8a0000;
	margin: 0 0 1.25rem;
}

.elgz-anas-hero__h1 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 3.5rem;
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: #1a1a1a;
	margin: 0 0 1.5rem;
	max-width: 12ch;
}

.elgz-anas-hero__h1 em {
	font-style: italic;
	color: #8a0000;
}

.elgz-anas-hero__lead {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.75;
	color: #6b6864;
	margin: 0;
	max-width: 46ch;
}

.elgz-anas-hero__media {
	display: flex;
	overflow: hidden;
}

.elgz-anas-hero__img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	max-height: 600px;
	object-fit: cover;
	object-position: 50% 62%;
	display: block;
}

/* ── Story intro ──────────────────────────────────────────────────────── */
.elgz-anas-intro {
	display: grid;
	grid-template-columns: minmax(200px, 280px) 1fr;
	gap: 64px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 96px 64px;
	background-color: #ffffff;
}

.elgz-anas-intro__label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0;
	padding-top: 0.6rem;
}

.elgz-anas-intro__body {
	max-width: 64ch;
}

.elgz-anas-intro__lead {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.4;
	color: #1a1a1a;
	margin: 0 0 1.75rem;
}

.elgz-anas-intro__p {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #6b6864;
	margin: 0 0 1.25rem;
}

.elgz-anas-intro__p:last-child {
	margin-bottom: 0;
}

.elgz-anas-intro__p strong {
	color: #1a1a1a;
	font-weight: 500;
}

/* ── Stats row ────────────────────────────────────────────────────────── */
.elgz-anas-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 1280px;
	margin: 0 auto;
	padding: 56px 64px;
	background-color: #ffffff;
	border-top: 1px solid #e8e4dd;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-anas-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 8px 16px;
}

.elgz-anas-stat + .elgz-anas-stat {
	border-left: 1px solid #e8e4dd;
}

.elgz-anas-stat__num {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.75rem;
	font-weight: 400;
	line-height: 1;
	color: #1a1a1a;
	margin-bottom: 0.75rem;
}

.elgz-anas-stat__label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #6b6864;
}

/* ── Values: На какво държим ──────────────────────────────────────────── */
.elgz-anas-values {
	padding: 96px 64px;
	background-color: #f3eee5;
}

.elgz-anas-values__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 56px;
}

.elgz-anas-values__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #8a0000;
	margin: 0 0 0.75rem;
}

.elgz-anas-values__h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0;
}

.elgz-anas-values__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
	max-width: 1100px;
	margin: 0 auto;
}

.elgz-anas-value {
	text-align: center;
	padding: 0 8px;
}

.elgz-anas-value__icon {
	display: block;
	font-size: 1rem;
	color: #8a0000;
	margin-bottom: 1.25rem;
}

.elgz-anas-value__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 0 0 0.75rem;
}

.elgz-anas-value__body {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: #6b6864;
	margin: 0;
	max-width: 32ch;
	margin-inline: auto;
}

/* ── Stores: Нашите магазини ──────────────────────────────────────────── */
.elgz-anas-stores {
	padding: 96px 64px;
	background-color: #faf8f5;
}

.elgz-anas-stores__head {
	max-width: 1280px;
	margin: 0 auto 40px;
}

.elgz-anas-stores__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0 0 0.5rem;
}

.elgz-anas-stores__h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0;
}

.elgz-anas-stores__h2 em {
	font-style: italic;
	color: #8a0000;
}

.elgz-anas-stores__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
	max-width: 1280px;
	margin: 0 auto;
}

.elgz-anas-store {
	display: flex;
	flex-direction: column;
}

.elgz-anas-store__media {
	aspect-ratio: 16 / 10;
	width: 100%;
	object-fit: cover;
	display: block;
}

.elgz-anas-store__body {
	padding: 24px 4px 0;
}

.elgz-anas-store__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 0.75rem;
}

.elgz-anas-store__city {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0;
}

.elgz-anas-store__map,
.elgz-anas-store__map:link,
.elgz-anas-store__map:visited {
	flex-shrink: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #8a0000;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.elgz-anas-store__map:hover {
	color: #1a1a1a;
}

.elgz-anas-store__addr {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #6b6864;
	margin: 0 0 0.25rem;
}

/* Clickable image → single shop page (subtle hover zoom) */
.elgz-anas-store__media-link {
	display: block;
	overflow: hidden;
}

.elgz-anas-store__media-link .elgz-anas-store__media {
	transition: transform 0.5s ease;
}

.elgz-anas-store__media-link:hover .elgz-anas-store__media,
.elgz-anas-store__media-link:focus-visible .elgz-anas-store__media {
	transform: scale(1.04);
}

/* City title links to the single page */
.elgz-anas-store__city a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-anas-store__city a:hover {
	color: #8a0000;
}

/* Address (→ map) + phone (→ tel) links */
.elgz-anas-store__addr-link,
.elgz-anas-store__phone {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-anas-store__addr-link:hover,
.elgz-anas-store__phone:hover {
	color: #8a0000;
	text-decoration: underline;
}

/* ── CTA banner ───────────────────────────────────────────────────────── */
.elgz-anas-cta {
	padding: 88px 64px;
	background-color: #8a0000;
	text-align: center;
}

.elgz-anas-cta__inner {
	max-width: 720px;
	margin: 0 auto;
}

.elgz-anas-cta__h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.25rem;
	font-weight: 400;
	line-height: 1.2;
	color: #ffffff;
	margin: 0 0 1rem;
}

.elgz-anas-cta__text {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 2rem;
}

/* Light button on the burgundy banner — overrides .elgz-btn-primary colours. */
.elgz-anas-cta__btn,
.elgz-anas-cta__btn:link,
.elgz-anas-cta__btn:visited {
	background-color: #faf8f5;
	color: #1a1a1a !important;
}

.elgz-anas-cta__btn:hover {
	background-color: #ffffff;
	color: #8a0000 !important;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-anas-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.elgz-anas-hero__text {
		order: 2;
		padding: 64px 32px;
	}

	.elgz-anas-hero__media {
		order: 1;
		aspect-ratio: 16 / 9;
	}

	.elgz-anas-hero__h1 {
		font-size: 2.75rem;
	}

	.elgz-anas-intro {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 64px 32px;
	}

	.elgz-anas-intro__label {
		padding-top: 0;
	}

	.elgz-anas-stats {
		padding: 48px 32px;
	}

	.elgz-anas-values,
	.elgz-anas-stores {
		padding: 64px 32px;
	}

	.elgz-anas-values__grid {
		gap: 40px 32px;
	}

	.elgz-anas-cta {
		padding: 72px 32px;
	}
}

@media (max-width: 768px) {
	.elgz-anas-values__grid {
		grid-template-columns: 1fr;
		gap: 48px;
		max-width: 420px;
	}

	.elgz-anas-stores__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 640px) {
	.elgz-anas-hero__text {
		padding: 48px 20px;
	}

	.elgz-anas-hero__h1 {
		font-size: 2.25rem;
	}

	.elgz-anas-intro,
	.elgz-anas-values,
	.elgz-anas-stores {
		padding: 48px 20px;
	}

	.elgz-anas-intro__lead {
		font-size: 1.5rem;
	}

	.elgz-anas-stats {
		grid-template-columns: 1fr 1fr;
		gap: 32px 0;
		padding: 40px 20px;
		border: none;
		border-top: 1px solid #e8e4dd;
		border-bottom: 1px solid #e8e4dd;
	}

	/* On a 2×2 grid, only the right column keeps a divider. */
	.elgz-anas-stat + .elgz-anas-stat {
		border-left: none;
	}

	.elgz-anas-stat:nth-child(even) {
		border-left: 1px solid #e8e4dd;
	}

	.elgz-anas-stat__num {
		font-size: 2.25rem;
	}

	.elgz-anas-cta {
		padding: 56px 20px;
	}

	.elgz-anas-cta__h2 {
		font-size: 1.875rem;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Cart page (/kolichka/) · Step 5 design pass
   Page-specific classes prefixed .elgz-cart-*. Reuses .elgz-pdp-breadcrumb,
   .elgz-btn-primary, .elgz-section__label and .elgz-product-card. WC mechanics
   preserved in woocommerce/cart/cart.php. No existing rules modified.
   ═══════════════════════════════════════════════════════════════════════════ */

/* cart.php renders its own title — suppress the duplicate page title. */
body.woocommerce-cart .entry-header {
	display: none;
}

body.woocommerce-cart .entry-content {
	margin-top: 0;
}

/* ── Title row ─────────────────────────────────────────────────────────── */
.elgz-cart-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 44px 64px 28px;
}

.elgz-cart-head__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0;
}

.elgz-cart-head__count {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0;
}

/* ── 2-col layout ──────────────────────────────────────────────────────── */
.elgz-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 48px;
	align-items: start;
	padding: 0 64px 24px;
}

/* ── Free-delivery progress ────────────────────────────────────────────── */
.elgz-cart-freeship {
	background-color: #f8f4ee;
	border: 1px solid #e8e4dd;
	padding: 18px 24px;
	margin-bottom: 28px;
}

.elgz-cart-freeship__msg {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #1a1a1a;
	margin: 0 0 12px;
}

.elgz-cart-freeship__msg strong {
	color: #8a0000;
	font-weight: 500;
}

.elgz-cart-freeship__icon {
	color: #8a0000;
	font-weight: 700;
	margin-right: 6px;
}

.elgz-cart-freeship__track {
	height: 4px;
	background-color: #e3dccf;
	border-radius: 2px;
	overflow: hidden;
}

.elgz-cart-freeship__bar {
	height: 100%;
	background-color: #8a0000;
	border-radius: 2px;
	transition: width 0.3s ease;
}

/* ── Items list ────────────────────────────────────────────────────────── */
.elgz-cart-items {
	list-style: none;
	margin: 0;
	padding: 0;
}

.elgz-cart-items__head {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) 116px 96px 28px;
	gap: 20px;
	align-items: center;
	padding: 0 0 14px;
	border-bottom: 1px solid #e8e4dd;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #6b6864;
}

.elgz-cart-items__head-product {
	grid-column: 1 / 3;
}

.elgz-cart-items__head-qty {
	text-align: center;
}

.elgz-cart-items__head-sum {
	text-align: right;
}

.elgz-cart-item {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) 116px 96px 28px;
	gap: 20px;
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid #ece8e1;
}

.elgz-cart-item__media {
	width: 84px;
}

.elgz-cart-item__media img {
	width: 84px;
	height: 84px;
	object-fit: cover;
	display: block;
	background-color: #f3eee5;
}

.elgz-cart-item__name {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.3;
	margin: 0 0 4px;
}

.elgz-cart-item__name a,
.elgz-cart-item__name a:link,
.elgz-cart-item__name a:visited {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-cart-item__name a:hover {
	color: #8a0000;
}

.elgz-cart-item__meta {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: #6b6864;
	margin-bottom: 6px;
}

.elgz-cart-item__meta dl,
.elgz-cart-item__meta dd,
.elgz-cart-item__meta dt {
	margin: 0;
	display: inline;
	font-size: inherit;
}

.elgz-cart-item__meta .variation {
	margin: 2px 0 0;
}

.elgz-cart-item__backorder {
	color: #b22222;
	font-size: 0.75rem;
	margin: 4px 0 0;
}

.elgz-cart-item__unit {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #b22222;
	font-weight: 500;
}

.elgz-cart-item__unit del {
	color: #a59c92;
	font-weight: 400;
	margin-left: 6px;
}

.elgz-cart-item__unit ins {
	text-decoration: none;
}

/* Quantity stepper */
.elgz-cart-item__qty {
	justify-self: center;
	display: inline-flex;
	align-items: center;
	border: 1px solid #e0d9cd;
	background-color: #ffffff;
}

.elgz-cart-qty-btn {
	width: 34px;
	height: 40px;
	flex-shrink: 0;
	border: none;
	background-color: #ffffff;
	color: #1a1a1a;
	font-size: 16px;
	font-family: 'Roboto', sans-serif;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.elgz-cart-qty-btn:hover {
	background-color: #f3eee5;
	color: #8a0000;
}

.elgz-cart-item__qty .quantity {
	margin: 0;
	display: inline-flex;
}

.elgz-cart-item__qty .quantity .qty {
	width: 40px;
	height: 40px;
	border: none;
	border-left: 1px solid #e8e4dd;
	border-right: 1px solid #e8e4dd;
	background-color: #ffffff;
	text-align: center;
	font-size: 0.9375rem;
	padding: 0;
	border-radius: 0;
	-moz-appearance: textfield;
	appearance: textfield;
}

.elgz-cart-item__qty .quantity .qty:focus {
	outline: none;
	color: #8a0000;
}

.elgz-cart-item__qty .quantity .qty::-webkit-outer-spin-button,
.elgz-cart-item__qty .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.elgz-cart-item__sum {
	text-align: right;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-cart-item__remove {
	text-align: right;
}

.elgz-cart-item__remove-link,
.elgz-cart-item__remove-link:link,
.elgz-cart-item__remove-link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	color: #a59c92;
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-cart-item__remove-link:hover {
	color: #8a0000;
}

.elgz-cart-continue,
.elgz-cart-continue:link,
.elgz-cart-continue:visited {
	display: inline-block;
	margin-top: 28px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-cart-continue:hover {
	color: #8a0000;
}

/* ── Summary card ──────────────────────────────────────────────────────── */
.elgz-cart-summary__inner {
	background-color: #f3eee5;
	padding: 32px;
	position: sticky;
	top: 120px;
}

.elgz-cart-summary__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 24px;
}

/* Promo code */
.elgz-cart-coupon {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
}

.elgz-cart-coupon__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	padding: 0 14px;
	border: 1px solid #d8d2c8;
	background-color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
}

.elgz-cart-coupon__input:focus {
	outline: none;
	border-color: #8a0000;
}

.elgz-cart-coupon__btn {
	flex-shrink: 0;
	height: 46px;
	padding: 0 18px;
	border: none;
	background-color: #1a1a1a;
	color: #faf8f5;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.elgz-cart-coupon__btn:hover {
	background-color: #8a0000;
}

.elgz-cart-applied-coupons {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.elgz-cart-applied-coupon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #1a1a1a;
}

.elgz-cart-applied-coupon__remove,
.elgz-cart-applied-coupon__remove:link,
.elgz-cart-applied-coupon__remove:visited {
	color: #a59c92;
	font-size: 1.1rem;
	line-height: 1;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-cart-applied-coupon__remove:hover {
	color: #8a0000;
}

.elgz-cart-summary__rows {
	margin: 0 0 4px;
	padding: 20px 0 0;
	border-top: 1px solid #e3dccf;
}

.elgz-cart-summary__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
}

.elgz-cart-summary__row dt {
	margin: 0;
	color: #6b6864;
}

.elgz-cart-summary__row dd {
	margin: 0;
	color: #1a1a1a;
	font-weight: 500;
	text-align: right;
}

.elgz-cart-free {
	color: #2e7d32;
	font-weight: 500;
}

.elgz-cart-summary__muted {
	color: #6b6864;
	font-weight: 400;
	font-size: 0.875rem;
}

.elgz-cart-summary__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 0;
	margin: 12px 0 24px;
	border-top: 1px solid #e3dccf;
}

.elgz-cart-summary__total-label {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.25rem;
	color: #1a1a1a;
}

.elgz-cart-summary__total-value {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: #b22222;
}

.elgz-cart-summary__total-value .woocommerce-Price-amount {
	font-weight: 700;
}

.elgz-cart-summary__checkout {
	width: 100%;
	margin-bottom: 24px;
}

.elgz-cart-summary__assurances {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.elgz-cart-summary__assurances li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
}

.elgz-cart-summary__assur-icon {
	flex-shrink: 0;
	width: 18px;
	text-align: center;
	color: #8a0000;
	font-size: 0.9375rem;
}

.elgz-cart-summary__pay {
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	line-height: 1.5;
	color: #a59c92;
	text-align: center;
	margin: 0;
}

/* ── Cross-sells: Допълни визията ──────────────────────────────────────── */
.elgz-cart-crosssell {
	padding: 72px 64px 96px;
}

.elgz-cart-crosssell__head {
	margin-bottom: 36px;
}

.elgz-cart-crosssell__h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 0;
}

.elgz-cart-crosssell__h2 em {
	font-style: italic;
	color: #8a0000;
}

/* Cross-sell slider reuses .elgz-carousel-track / .elgz-carousel-arrow verbatim. */

/* ── Empty cart ────────────────────────────────────────────────────────── */
.elgz-cart-empty {
	text-align: center;
	max-width: 520px;
	margin: 0 auto;
	padding: 72px 20px 100px;
}

/* Default WC empty-cart notice is redundant with our heading — keep the hook
   (plugin compat) but hide its default message. */
.elgz-cart-empty .cart-empty {
	display: none;
}

.elgz-cart-empty__icon {
	display: block;
	font-size: 2.5rem;
	margin-bottom: 18px;
}

.elgz-cart-empty__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 12px;
}

.elgz-cart-empty__text {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #6b6864;
	margin: 0 0 28px;
}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-cart-head {
		padding: 32px 32px 24px;
	}

	.elgz-cart-layout {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 0 32px 24px;
	}

	.elgz-cart-summary__inner {
		position: static;
	}

	.elgz-cart-crosssell {
		padding: 56px 32px 72px;
	}
}

@media (max-width: 768px) {
	.elgz-cart-items__head {
		display: none;
	}

	.elgz-cart-item {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			"media info   remove"
			"media qty    sum";
		gap: 8px 16px;
		align-items: start;
	}

	.elgz-cart-item__media {
		grid-area: media;
		width: 72px;
	}

	.elgz-cart-item__media img {
		width: 72px;
		height: 72px;
	}

	.elgz-cart-item__info {
		grid-area: info;
	}

	.elgz-cart-item__remove {
		grid-area: remove;
	}

	.elgz-cart-item__qty {
		grid-area: qty;
		justify-self: start;
		align-self: center;
		margin-top: 8px;
	}

	.elgz-cart-item__sum {
		grid-area: sum;
		align-self: center;
		margin-top: 8px;
	}
}

@media (max-width: 640px) {
	.elgz-cart-head {
		padding: 24px 20px 20px;
	}

	.elgz-cart-head__title {
		font-size: 2rem;
	}

	.elgz-cart-layout {
		padding: 0 20px 16px;
	}

	.elgz-cart-summary__inner {
		padding: 24px 20px;
	}

	.elgz-cart-crosssell {
		padding: 48px 20px 64px;
	}

	.elgz-cart-crosssell__h2 {
		font-size: 2rem;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Моят профил (My Account) · Step 5 design pass
   Page-specific classes prefixed .elgz-account-*. Reuses .elgz-pdp-breadcrumb,
   .elgz-btn-primary and palette/fonts §15. WC mechanics live in the
   woocommerce/myaccount/* templates + functions.php. No existing rules edited.
   ═══════════════════════════════════════════════════════════════════════════ */

/* my-account.php renders its own welcome header — suppress the page title. */
body.woocommerce-account .entry-header {
	display: none;
}

body.woocommerce-account .entry-content {
	margin-top: 0;
}

/* ── Welcome header ────────────────────────────────────────────────────── */
.elgz-account-hero {
	padding: 44px 64px 32px;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-account-hero__eyebrow {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: #8a0000;
	margin: 0 0 1rem;
}

.elgz-account-hero__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 3rem;
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0;
}

.elgz-account-hero__title em {
	font-style: italic;
	color: #8a0000;
}

/* ── 2-col layout ──────────────────────────────────────────────────────── */
.elgz-account-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
	padding: 48px 64px 88px;
}

/* ── Sidebar navigation ────────────────────────────────────────────────── */
.elgz-account-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.elgz-account-nav__link,
.elgz-account-nav__link:link,
.elgz-account-nav__link:visited {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-left: 3px solid transparent;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.elgz-account-nav__link:hover {
	color: #8a0000;
	background-color: #f3eee5;
	border-left-color: #8a0000;
}

.elgz-account-nav__item.is-active .elgz-account-nav__link {
	background-color: #f3eee5;
	border-left-color: #8a0000;
	color: #1a1a1a;
	font-weight: 500;
}

.elgz-account-nav__icon {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: #6b6864;
}

.elgz-account-nav__item.is-active .elgz-account-nav__icon,
.elgz-account-nav__link:hover .elgz-account-nav__icon {
	color: #8a0000;
}

.elgz-account-nav__icon svg {
	width: 19px;
	height: 19px;
	display: block;
}

/* ── Content ───────────────────────────────────────────────────────────── */
.elgz-account-content__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 28px;
}

/* ── Login / Register page (form-login.php) ────────────────────────────── */
.elgz-login {
	padding: 44px 64px 88px;
}

.elgz-login--two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
}

.elgz-login:not( .elgz-login--two ) {
	max-width: 560px;
}

.elgz-login__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.625rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-login__row {
	margin: 0 0 18px;
}

.elgz-login__note {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #6b6864;
	margin: 0 0 18px;
}

/* Field labels — login (short, uppercase) */
.elgz-login__label {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0 0 8px;
}

/* Field labels — logged-in account forms (can be long, normal case) */
.woocommerce-MyAccount-content form label:not( .woocommerce-form__label-for-checkbox ) {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #1a1a1a;
	margin: 0 0 8px;
}

/* Account form structure (edit-account / edit-address) */
.woocommerce-MyAccount-content form .form-row {
	margin: 0 0 18px;
}

.elgz-account-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 18px;
}

.elgz-account-grid .form-row {
	margin: 0;
}

.elgz-account-fieldset {
	border: 1px solid #e8e4dd;
	padding: 22px 24px 8px;
	margin: 8px 0 24px;
}

.elgz-account-legend {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #8a0000;
	padding: 0 8px;
}

.elgz-account-hint {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
	margin-top: 6px;
}

@media (max-width: 560px) {
	.elgz-account-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.elgz-account-grid .form-row {
		margin: 0 0 18px;
	}
}

.elgz-login__label .required,
.woocommerce-MyAccount-content .required {
	color: #8a0000;
	border: none;
	text-decoration: none;
}

/* Inputs — login + logged-in account forms */
.elgz-login__input,
.woocommerce-MyAccount-content form input.input-text,
.woocommerce-MyAccount-content form input[type="text"],
.woocommerce-MyAccount-content form input[type="email"],
.woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-MyAccount-content form input[type="password"],
.woocommerce-MyAccount-content form select {
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid #d8d2c8;
	border-radius: 0;
	background-color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #1a1a1a;
	box-sizing: border-box;
}

.elgz-login__input:focus,
.woocommerce-MyAccount-content form input:focus,
.woocommerce-MyAccount-content form select:focus {
	outline: none;
	border-color: #8a0000;
}

.elgz-login__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 22px;
}

.elgz-login__actions--end {
	justify-content: flex-end;
}

.elgz-login__remember {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #6b6864;
	cursor: pointer;
	margin: 0;
}

.elgz-login__remember input {
	width: 16px;
	height: 16px;
	accent-color: #8a0000;
	margin: 0;
}

.elgz-login__submit {
	border: none;
	cursor: pointer;
}

.elgz-login__lost {
	margin: 20px 0 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
}

.elgz-login__lost a {
	color: #8a0000;
	text-decoration: underline;
}

/* WooCommerce show/hide-password toggle (WC's own CSS is disabled, so it would
   otherwise render as a tiny iconless button). Give it an eye icon inside the
   field — applies to login, register, account & reset-password fields. */
.password-input {
	position: relative;
	display: block;
}

.password-input input {
	padding-right: 46px;
}

.show-password-input {
	position: absolute;
	top: 0;
	right: 0;
	width: 46px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: transparent;
	cursor: pointer;
	padding: 0;
}

.show-password-input::after {
	content: "";
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6864' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12S5 5 12 5s10.5 7 10.5 7-3.5 7-10.5 7S1.5 12 1.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.show-password-input.display-password::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a0000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 10.6a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M9.8 4.2A10.9 10.9 0 0 1 12 4c7 0 10.5 8 10.5 8a18 18 0 0 1-3.3 4M6 6.1A18 18 0 0 0 1.5 12S5 19 12 19a10.9 10.9 0 0 0 3.9-.7'/%3E%3C/svg%3E");
}

/* Buttons inside the logged-in account forms (edit-account / edit-address) */
.woocommerce-MyAccount-content form button.button,
.woocommerce-MyAccount-content form input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 32px;
	border: none;
	border-radius: 0;
	background-color: #1a1a1a;
	color: #faf8f5;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.woocommerce-MyAccount-content form button.button:hover,
.woocommerce-MyAccount-content form input.button:hover {
	background-color: #8a0000;
	color: #faf8f5;
}

/* view-order.php — drop the browser's yellow <mark> highlight */
.woocommerce-MyAccount-content mark {
	background: transparent;
	color: inherit;
	font-weight: 500;
}

.woocommerce-MyAccount-content mark.order-status {
	color: #8a0000;
}

/* ── My Account → Адреси (address book) ───────────────────────────────── */
.elgz-address-intro {
	font-family: 'Roboto', sans-serif;
	font-size: 0.95rem;
	color: #6b6864;
	margin: 0 0 24px;
}

.elgz-addresses {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.elgz-address {
	background-color: #faf8f5;
	border: 1px solid #e8e4dd;
	border-radius: 10px;
	padding: 22px 26px 24px;
}

.elgz-address .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-address .woocommerce-Address-title h2,
.elgz-address .woocommerce-Address-title h3 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.15rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0;
}

.elgz-address__edit,
.elgz-address__edit:link,
.elgz-address__edit:visited {
	flex: none;
	font-family: 'Roboto', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #8a0000;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.elgz-address__edit:hover {
	color: #1a1a1a;
}

.elgz-address address {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	font-size: 1rem;
	line-height: 1.75;
	color: #3a3733;
	margin: 0;
}

.elgz-address.is-empty address {
	color: #a59c92;
}

.elgz-address__empty {
	font-style: italic;
}

@media (max-width: 640px) {
	.elgz-addresses {
		grid-template-columns: 1fr;
	}
}

/* ── My Account → order details (view-order) ──────────────────────────── */
.woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.2rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 36px 0 16px;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.95rem;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details th,
.woocommerce-MyAccount-content .woocommerce-table--order-details td {
	padding: 13px 4px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ece8e1;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details thead th {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6864;
	border-bottom: 1px solid #1a1a1a;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details .product-total,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details .product-name a {
	color: #1a1a1a;
	text-decoration: none;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details .product-name a:hover {
	color: #8a0000;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details .product-quantity {
	color: #6b6864;
	font-weight: 400;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th {
	font-weight: 500;
	color: #6b6864;
	padding-right: 24px;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td {
	font-weight: 600;
	color: #1a1a1a;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0;
}

.woocommerce-MyAccount-content .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 360px));
	gap: 0 32px;
}

.woocommerce-MyAccount-content .woocommerce-customer-details address {
	font-style: normal;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.75;
	color: #3a3733;
	background-color: #faf8f5;
	border: 1px solid #e8e4dd;
	border-radius: 10px;
	padding: 20px 24px;
	max-width: 460px;
}

.woocommerce-MyAccount-content .woocommerce-customer-details--phone,
.woocommerce-MyAccount-content .woocommerce-customer-details--email {
	margin: 10px 0 0;
	color: #6b6864;
	font-size: 0.9rem;
	word-break: break-word;
}

/* ── Legal / policy pages (page-legal.php) ─────────────────────────────── */
body.page-template-page-legal .site-main {
	background-color: #faf8f5;
}

.elgz-legal {
	max-width: 880px;
	margin: 0 auto;
	padding: 8px 24px 96px;
}

.elgz-legal__hero {
	padding: 32px 0 28px;
	margin-bottom: 40px;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-legal__eyebrow {
	margin: 0 0 1rem;
}

.elgz-legal__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.75rem;
	font-weight: 400;
	line-height: 1.12;
	color: #1a1a1a;
	margin: 0;
}

.elgz-legal__content {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.8;
	color: #3a3733;
}

.elgz-legal__content > *:first-child {
	margin-top: 0;
}

.elgz-legal__content h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 44px 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-legal__content h3 {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	font-weight: 600;
	color: #1a1a1a;
	margin: 28px 0 10px;
}

.elgz-legal__content p {
	margin: 0 0 16px;
}

.elgz-legal__content ul,
.elgz-legal__content ol {
	margin: 0 0 18px;
	padding-left: 4px;
	list-style: none;
}

.elgz-legal__content li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 1.5rem;
}

/* Red diamond bullets, matching the rest of the site. (Tailwind's preflight
   strips the default list markers, so we render our own via ::before.) */
.elgz-legal__content ul > li::before {
	content: '◆';
	position: absolute;
	left: 0.1rem;
	top: 0.5rem;
	color: #8a0000;
	font-size: 0.5rem;
}

/* Ordered lists keep red numbers */
.elgz-legal__content ol {
	counter-reset: elgz-legal-ol;
}

.elgz-legal__content ol > li::before {
	content: counter(elgz-legal-ol) '.';
	counter-increment: elgz-legal-ol;
	position: absolute;
	left: 0;
	top: 0;
	color: #8a0000;
	font-weight: 600;
}

.elgz-legal__content a {
	color: #8a0000;
	text-decoration: underline;
}

.elgz-legal__content strong {
	color: #1a1a1a;
	font-weight: 600;
}

.elgz-legal__content em {
	color: #6b6864;
}

.elgz-legal__company {
	margin-top: 44px;
	padding: 22px 26px;
	background-color: #f3eee5;
	border: 1px solid #e3dccf;
	font-size: 0.9375rem;
	line-height: 1.85;
}

@media (max-width: 640px) {
	.elgz-legal {
		padding: 8px 20px 64px;
	}

	.elgz-legal__title {
		font-size: 2rem;
	}

	.elgz-legal__content h2 {
		font-size: 1.3rem;
	}
}

@media (max-width: 1024px) {
	.elgz-login {
		padding: 32px 32px 64px;
	}

	.elgz-login--two {
		gap: 40px;
	}
}

@media (max-width: 640px) {
	.elgz-login {
		padding: 24px 20px 48px;
	}

	.elgz-login--two {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.elgz-login__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.elgz-login__remember {
		align-self: flex-start;
	}

	.elgz-login__submit {
		width: 100%;
	}
}

/* ── Orders list ───────────────────────────────────────────────────────── */
.elgz-account-orders__head {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) 1.1fr 1.1fr 0.9fr auto;
	gap: 24px;
	align-items: center;
	padding: 0 0 14px;
	border-bottom: 1px solid #e8e4dd;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #6b6864;
}

.elgz-account-order {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) 1.1fr 1.1fr 0.9fr auto;
	gap: 24px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid #ece8e1;
}

.elgz-account-order__num,
.elgz-account-order__num:link,
.elgz-account-order__num:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-account-order__num:hover {
	color: #8a0000;
}

.elgz-account-order__count {
	display: block;
	margin-top: 3px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
}

.elgz-account-order__date,
.elgz-account-order__sum {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #6b6864;
}

.elgz-account-order__sum {
	color: #1a1a1a;
	font-weight: 500;
}

.elgz-account-badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border: 1px solid;
	border-radius: 2px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.elgz-account-badge--done {
	color: #2e7d32;
	border-color: #bfdcc0;
	background-color: #f3f8f3;
}

.elgz-account-badge--progress {
	color: #8a0000;
	border-color: #e3c4c4;
	background-color: #fbf4f4;
}

.elgz-account-badge--bad {
	color: #8a8580;
	border-color: #ddd7ce;
	background-color: #f6f4f0;
}

.elgz-account-order__action {
	text-align: right;
}

.elgz-account-order__details,
.elgz-account-order__details:link,
.elgz-account-order__details:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #1a1a1a;
	text-decoration: none;
	border-bottom: 1px solid #d8d2c8;
	padding-bottom: 2px;
	white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.elgz-account-order__details:hover {
	color: #8a0000;
	border-bottom-color: #8a0000;
}

/* ── Pagination ────────────────────────────────────────────────────────── */
.elgz-account-pagination {
	display: flex;
	gap: 12px;
	margin-top: 32px;
}

.elgz-account-pagination__link,
.elgz-account-pagination__link:link,
.elgz-account-pagination__link:visited {
	display: inline-block;
	padding: 10px 18px;
	border: 1px solid #e0d9cd;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.elgz-account-pagination__link:hover {
	color: #8a0000;
	border-color: #8a0000;
}

/* ── Empty states (orders / favourites) ────────────────────────────────── */
.elgz-account-empty {
	text-align: center;
	max-width: 460px;
	margin: 0 auto;
	padding: 56px 20px 64px;
}

.elgz-account-empty__icon {
	display: block;
	font-size: 2.5rem;
	line-height: 1;
	margin-bottom: 16px;
	color: #8a0000;
}

.elgz-account-empty__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 10px;
}

.elgz-account-empty__text {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: #6b6864;
	margin: 0 0 24px;
}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-account-hero {
		padding: 32px 32px 24px;
	}

	.elgz-account-hero__title {
		font-size: 2.5rem;
	}

	.elgz-account-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		padding: 32px 32px 64px;
	}

	.elgz-account-nav__list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 4px;
	}

	.elgz-account-nav__link {
		border-left: none;
		border-bottom: 2px solid transparent;
		padding: 10px 14px;
	}

	.elgz-account-nav__link:hover,
	.elgz-account-nav__item.is-active .elgz-account-nav__link {
		border-left: none;
		border-bottom-color: #8a0000;
	}
}

@media (max-width: 768px) {
	.elgz-account-orders__head {
		display: none;
	}

	.elgz-account-order {
		display: block;
		padding: 18px 0;
	}

	.elgz-account-order__id {
		margin-bottom: 12px;
	}

	.elgz-account-order__date,
	.elgz-account-order__status,
	.elgz-account-order__sum {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 5px 0;
	}

	.elgz-account-order__date::before,
	.elgz-account-order__status::before,
	.elgz-account-order__sum::before {
		content: attr(data-title);
		font-family: 'Roboto', sans-serif;
		font-size: 0.6875rem;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: #6b6864;
	}

	.elgz-account-order__action {
		margin-top: 12px;
		text-align: left;
	}
}

@media (max-width: 640px) {
	.elgz-account-hero {
		padding: 24px 20px 20px;
	}

	.elgz-account-hero__title {
		font-size: 2rem;
	}

	.elgz-account-layout {
		padding: 24px 20px 56px;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Магазини (Stores hub /magazini/) · Step 5.4
   Page-specific classes prefixed .elgz-stores-*. Reuses .elgz-pdp-breadcrumb,
   .elgz-section__label, .elgz-btn-primary / .elgz-btn-ghost and palette/fonts §15.
   No existing rules edited.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ──────────────────────────────────────────────────────────────── */
.elgz-stores-hero {
	max-width: 720px;
	margin: 0 auto;
	padding: 64px 64px 44px;
	text-align: center;
}

.elgz-stores-hero__eyebrow {
	color: #8a0000;
	text-align: center;
	margin-bottom: 0.75rem;
}

.elgz-stores-hero__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 3.25rem;
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0 0 1rem;
}

.elgz-stores-hero__lead {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #6b6864;
	margin: 0 auto;
	max-width: 44ch;
}

/* ── Inner wrapper ─────────────────────────────────────────────────────── */
.elgz-stores-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 64px 24px;
}

/* ── Main map placeholder (swap-ready for a Maps embed) ────────────────── */
.elgz-stores-map {
	margin-bottom: 40px;
}

.elgz-stores-banner {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #e8e4dd;
}

/* ── Store cards ───────────────────────────────────────────────────────── */
.elgz-stores-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

.elgz-stores-card {
	display: flex;
	flex-direction: column;
}

.elgz-stores-card__media-link {
	display: block;
	overflow: hidden;
	background-color: #f3eee5;
}

.elgz-stores-card__media {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	background-color: #f3eee5;
	transition: transform 0.4s ease;
}

.elgz-stores-card__media-link:hover .elgz-stores-card__media {
	transform: scale(1.03);
}

.elgz-stores-card__city a,
.elgz-stores-card__city a:link,
.elgz-stores-card__city a:visited {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-stores-card__city a:hover {
	color: #8a0000;
}

.elgz-stores-card__body {
	padding-top: 24px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.elgz-stores-card__city {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0 0 16px;
}

.elgz-stores-card__row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #6b6864;
	margin: 0 0 8px;
}

.elgz-stores-card__icon {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	color: #8a0000;
}

.elgz-stores-card__icon svg {
	width: 16px;
	height: 16px;
	display: block;
}

.elgz-stores-card__row a,
.elgz-stores-card__row a:link,
.elgz-stores-card__row a:visited {
	color: #6b6864;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-stores-card__row a:hover {
	color: #8a0000;
}

/* Opening hours */
.elgz-stores-hours {
	list-style: none;
	margin: 20px 0 24px;
	padding: 0;
	border-top: 1px solid #e8e4dd;
}

.elgz-stores-hours__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid #ece8e1;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
}

.elgz-stores-hours__day {
	color: #6b6864;
}

.elgz-stores-hours__time {
	color: #1a1a1a;
	font-weight: 500;
	white-space: nowrap;
}

/* Card buttons */
.elgz-stores-card__actions {
	display: flex;
	gap: 12px;
	margin-top: auto; /* pin to bottom so buttons align across cards with unequal hours rows */
}

.elgz-stores-card__actions .elgz-btn-primary {
	flex: 1.4;
}

.elgz-stores-card__actions .elgz-btn-ghost {
	flex: 1;
}

.elgz-stores-card__btn {
	padding: 0 16px;
	min-width: 0;
}

/* ── CTA band ──────────────────────────────────────────────────────────── */
.elgz-stores-cta {
	margin-top: 56px;
	padding: 80px 64px;
	background-color: #f3eee5;
	text-align: center;
}

.elgz-stores-cta__inner {
	max-width: 640px;
	margin: 0 auto;
}

.elgz-stores-cta__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 12px;
}

.elgz-stores-cta__text {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #6b6864;
	margin: 0 0 28px;
}

.elgz-stores-cta__text a,
.elgz-stores-cta__text a:link,
.elgz-stores-cta__text a:visited {
	color: #8a0000;
	text-decoration: none;
}

.elgz-stores-cta__text a:hover {
	text-decoration: underline;
}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-stores-hero {
		padding: 48px 32px 36px;
	}

	.elgz-stores-hero__title {
		font-size: 2.5rem;
	}

	.elgz-stores-inner {
		padding: 0 32px 16px;
	}

	.elgz-stores-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.elgz-stores-cta {
		padding: 64px 32px;
	}
}

@media (max-width: 640px) {
	.elgz-stores-hero {
		padding: 36px 20px 28px;
	}

	.elgz-stores-hero__title {
		font-size: 2rem;
	}

	.elgz-stores-inner {
		padding: 0 20px 8px;
	}

	.elgz-stores-cta {
		padding: 48px 20px;
	}

	.elgz-stores-cta__title {
		font-size: 1.625rem;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Single store page (.elgz-shop-*) · /magazini/{slug}/
   ═══════════════════════════════════════════════════════════════════════════ */
.elgz-shop {
	background-color: #faf8f5;
}

.elgz-shop-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 64px;
}

/* ── Hero ──────────────────────────────────────────────── */
/* Scoped to .elgz-shop-inner (the single-store page) so it doesn't clobber the
   shop ARCHIVE's centred .elgz-shop-hero, which shares the class name. */
.elgz-shop-inner .elgz-shop-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 56px;
	align-items: center;
	padding: 56px 0 64px;
}

.elgz-shop-hero__eyebrow {
	color: #8a0000 !important;
	margin-bottom: 18px;
}

.elgz-shop-hero__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.75rem;
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0 0 28px;
	text-align: left;
}

.elgz-shop-hero__contact {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.elgz-shop-hero__contact li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	color: #3a3733;
}

.elgz-shop-hero__contact a,
.elgz-shop-hero__contact a:link,
.elgz-shop-hero__contact a:visited {
	color: #3a3733;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-shop-hero__contact a:hover {
	color: #8a0000;
}

.elgz-shop-hero__muted {
	color: #a59c92;
	font-size: 0.9375rem;
}

.elgz-shop-ic {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: #8a0000;
}

.elgz-shop-ic svg {
	width: 100%;
	height: 100%;
	display: block;
}

.elgz-shop-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.elgz-shop-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 470px;
	object-fit: cover;
	border: 1px solid #e8e4dd;
}

/* ── Highlights ────────────────────────────────────────── */
.elgz-shop-highlights {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid #e8e4dd;
	background-color: #ffffff;
}

.elgz-shop-highlight {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	padding: 32px 24px;
	border-right: 1px solid #e8e4dd;
}

.elgz-shop-highlight:last-child {
	border-right: none;
}

.elgz-shop-highlight .elgz-shop-ic {
	width: 24px;
	height: 24px;
	margin-bottom: 10px;
}

.elgz-shop-highlight__title {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-shop-highlight__sub {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
}

/* ── Map + hours + directions ──────────────────────────── */
.elgz-shop-locate {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 40px;
	margin: 72px 0;
	align-items: start;
}

.elgz-shop-map {
	position: relative;
}

.elgz-shop-map__frame {
	display: block;
	width: 100%;
	height: 440px;
	border: 1px solid #e8e4dd;
}

.elgz-shop-map__link {
	position: absolute;
	left: 16px;
	bottom: 16px;
	background-color: #1a1a1a;
	color: #faf8f5;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	padding: 10px 16px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.elgz-shop-map__link:hover {
	background-color: #8a0000;
}

.elgz-shop-hours__title,
.elgz-shop-getthere__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 18px;
}

.elgz-shop-hours__list {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	border: 1px solid #e8e4dd;
	background-color: #ffffff;
}

.elgz-shop-hours__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	border-bottom: 1px solid #ece8e1;
}

.elgz-shop-hours__row:last-child {
	border-bottom: none;
}

.elgz-shop-hours__day {
	color: #3a3733;
}

.elgz-shop-hours__time {
	color: #6b6864;
	font-variant-numeric: tabular-nums;
}

.elgz-shop-getthere__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.elgz-shop-getthere__list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #6b6864;
}

/* ── About the store ───────────────────────────────────── */
.elgz-shop-about {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: 48px;
	padding: 72px 0;
	border-top: 1px solid #e8e4dd;
}

.elgz-shop-about__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.15;
	color: #1a1a1a;
	margin: 10px 0 0;
}

.elgz-shop-about__lead {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #6b6864;
	margin: 0 0 28px;
}

.elgz-shop-about__cats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 32px;
}

.elgz-shop-about__cats li {
	position: relative;
	padding-left: 1.4rem;
}

.elgz-shop-about__cats li::before {
	content: '◆';
	position: absolute;
	left: 0;
	top: 0.3rem;
	color: #8a0000;
	font-size: 0.5rem;
}

.elgz-shop-about__cats a,
.elgz-shop-about__cats a:link,
.elgz-shop-about__cats a:visited {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-shop-about__cats a:hover {
	color: #8a0000;
}

/* ── FAQ (reuses .elgz-deliv-faq mechanics) ────────────── */
.elgz-shop-faq.elgz-deliv-faq {
	margin: 0 auto 80px;
}

.elgz-shop-faq__title {
	text-align: center;
}

/* ── Cross-link to the other store ─────────────────────── */
.elgz-shop-other {
	background-color: #f3eee5;
	border-top: 1px solid #e8e4dd;
	padding: 56px 64px;
}

.elgz-shop-other__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.elgz-shop-other__eyebrow {
	color: #8a0000 !important;
	margin-bottom: 10px;
}

.elgz-shop-other__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.875rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 6px;
}

.elgz-shop-other__addr {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #6b6864;
	margin: 0;
}

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-shop-inner {
		padding: 0 32px;
	}

	.elgz-shop-inner .elgz-shop-hero {
		grid-template-columns: 1fr;
		gap: 36px;
		padding: 40px 0 48px;
	}

	.elgz-shop-hero__media {
		order: -1;
	}

	.elgz-shop-locate {
		grid-template-columns: 1fr;
		gap: 36px;
		margin: 56px 0;
	}

	.elgz-shop-about {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 56px 0;
	}

	.elgz-shop-other {
		padding: 48px 32px;
	}
}

@media (max-width: 640px) {
	.elgz-shop-inner {
		padding: 0 20px;
	}

	.elgz-shop-hero__title {
		font-size: 2.1rem;
	}

	.elgz-shop-highlights {
		grid-template-columns: 1fr;
	}

	.elgz-shop-highlight {
		border-right: none;
		border-bottom: 1px solid #e8e4dd;
	}

	.elgz-shop-highlight:last-child {
		border-bottom: none;
	}

	.elgz-shop-map__frame {
		height: 320px;
	}

	.elgz-shop-about__cats {
		grid-template-columns: 1fr;
	}

	.elgz-shop-about__title {
		font-size: 1.6rem;
	}

	.elgz-shop-other__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Доставка (Delivery & payment /dostavka/) · Step 5.6
   Page-specific classes prefixed .elgz-deliv-*. Reuses .elgz-pdp-breadcrumb,
   .elgz-section__label and palette/fonts §15. FAQ accordion via Alpine x-show.
   No existing rules edited.
   ═══════════════════════════════════════════════════════════════════════════ */

.elgz-deliv-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 64px 96px;
}

/* ── Hero ──────────────────────────────────────────────────────────────── */
.elgz-deliv-hero {
	padding: 56px 0 40px;
	border-bottom: 1px solid #e8e4dd;
	margin-bottom: 56px;
}

.elgz-deliv-hero__eyebrow {
	color: #8a0000;
	margin-bottom: 1rem;
}

.elgz-deliv-hero__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 3.5rem;
	font-weight: 400;
	line-height: 1.05;
	color: #1a1a1a;
	margin: 0 0 1.25rem;
}

.elgz-deliv-hero__lead {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #6b6864;
	margin: 0;
	max-width: 80ch;
}

.elgz-deliv-hero__lead a {
	font-weight: 500;
	color: #1a1a1a;
	text-decoration: underline;
}

.elgz-deliv-hero__lead a:hover {
	color: #8a0000;
}

/* ── Feature cards ─────────────────────────────────────────────────────── */
.elgz-deliv-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 72px;
}

.elgz-deliv-card {
	border: 1px solid #e8e4dd;
	padding: 36px 32px;
	background-color: #ffffff;
}

.elgz-deliv-card__icon {
	display: block;
	font-size: 1.375rem;
	line-height: 1;
	color: #8a0000;
	margin-bottom: 24px;
}

.elgz-deliv-card__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.375rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 0.75rem;
}

.elgz-deliv-card__text {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: #6b6864;
	margin: 0;
}

/* ── Content (payment / returns / exchange copy) ───────────────────────── */
.elgz-deliv-h2 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 24px;
}

.elgz-deliv-content {
	max-width: 820px;
}

.elgz-deliv-content__sep {
	margin-top: 56px;
	padding-top: 48px;
	border-top: 1px solid #e8e4dd;
}

.elgz-deliv-h3 {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 36px 0 14px;
}

.elgz-deliv-h4 {
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	font-weight: 600;
	color: #1a1a1a;
	margin: 24px 0 12px;
}

.elgz-deliv-content p {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.8;
	color: #6b6864;
	margin: 0 0 1.15rem;
}

.elgz-deliv-content strong {
	color: #1a1a1a;
	font-weight: 600;
}

.elgz-deliv-list,
.elgz-deliv-steps {
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.elgz-deliv-list li,
.elgz-deliv-steps li {
	position: relative;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: #6b6864;
	padding-left: 2rem;
	margin-bottom: 0.6rem;
}

.elgz-deliv-list li::before {
	content: '◆';
	position: absolute;
	left: 0.4rem;
	top: 0.05rem;
	color: #8a0000;
	font-size: 0.6rem;
}

.elgz-deliv-steps {
	counter-reset: deliv-step;
}

.elgz-deliv-steps li {
	counter-increment: deliv-step;
	min-height: 1.7rem;
}

.elgz-deliv-steps li::before {
	content: counter(deliv-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 1.5rem;
	height: 1.5rem;
	line-height: 1.45rem;
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	color: #8a0000;
	border: 1px solid #e3dccf;
	border-radius: 50%;
}

/* Styled phone link */
.elgz-deliv-tel,
.elgz-deliv-tel:link,
.elgz-deliv-tel:visited {
	color: #8a0000;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.2s ease;
}

.elgz-deliv-tel:hover {
	text-decoration: underline;
}

/* ── FAQ accordion (full width, single-open + height animation) ────────── */
.elgz-deliv-faq {
	max-width: 820px;
	margin-top: 80px;
	padding-top: 48px;
	border-top: 1px solid #e8e4dd;
}

.elgz-deliv-faq__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 16px;
}

.elgz-deliv-faq__item {
	border-bottom: 1px solid #ece8e1;
}

.elgz-deliv-faq__item:first-of-type {
	border-top: 1px solid #ece8e1;
}

.elgz-deliv-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 22px 4px;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	font-family: 'Roboto', sans-serif;
	font-size: 1.0625rem;
	font-weight: 500;
	color: #1a1a1a;
	transition: color 0.2s ease;
}

.elgz-deliv-faq__q:hover {
	color: #8a0000;
}

/* +/− icon: two bars; the vertical bar rotates + fades on open */
.elgz-deliv-faq__icon {
	position: relative;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.elgz-deliv-faq__icon::before,
.elgz-deliv-faq__icon::after {
	content: '';
	position: absolute;
	background-color: #8a0000;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.elgz-deliv-faq__icon::before {
	top: 50%;
	left: 0;
	right: 0;
	height: 2px;
	transform: translateY(-50%);
}

.elgz-deliv-faq__icon::after {
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	transform: translateX(-50%);
}

.elgz-deliv-faq__item.is-open .elgz-deliv-faq__icon::after {
	transform: translateX(-50%) rotate(90deg);
	opacity: 0;
}

/* Smooth open/close: grid-template-rows 0fr → 1fr */
.elgz-deliv-faq__a {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
}

.elgz-deliv-faq__item.is-open .elgz-deliv-faq__a {
	grid-template-rows: 1fr;
}

.elgz-deliv-faq__a-inner {
	min-height: 0;
	overflow: hidden;
}

.elgz-deliv-faq__a p {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.75;
	color: #6b6864;
	margin: 0;
	padding: 0 4px 22px;
}

.elgz-deliv-faq__a a {
	color: #8a0000;
	text-decoration: underline;
}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-deliv-inner {
		padding: 0 32px 72px;
	}

	.elgz-deliv-hero__title {
		font-size: 2.75rem;
	}

	.elgz-deliv-cards {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-bottom: 56px;
	}

	.elgz-deliv-faq {
		margin-top: 56px;
		padding-top: 36px;
	}
}

@media (max-width: 640px) {
	.elgz-deliv-inner {
		padding: 0 20px 56px;
	}

	.elgz-deliv-hero {
		padding: 40px 0 28px;
		margin-bottom: 40px;
	}

	.elgz-deliv-hero__title {
		font-size: 2.25rem;
	}

	.elgz-deliv-h2,
	.elgz-deliv-faq__title {
		font-size: 1.6rem;
	}

	.elgz-deliv-h3 {
		font-size: 1.3rem;
	}

	.elgz-deliv-card {
		padding: 28px 24px;
	}

	.elgz-deliv-faq__q {
		font-size: 1rem;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Favourite / wishlist heart state
   Wired by js/wishlist.js (localStorage). The heart glyph lives in
   .elgz-fav-heart inside any [data-elgz-fav] button (product cards + PDP).
   Favourited → filled red (#8a0000). No existing rules edited.
   ═══════════════════════════════════════════════════════════════════════════ */
.elgz-fav-heart {
	display: inline-block;
	line-height: 1;
}

/* Favourited → burgundy filled heart (the ♥ glyph is swapped in by JS). */
[data-elgz-fav].is-fav .elgz-fav-heart {
	color: #8a0000;
}

/* Keep the red heart legible when the saved PDP button is hovered (dark bg). */
.elgz-pdp-fav.is-fav:hover .elgz-fav-heart {
	color: #faf8f5;
}

/* ── Account „Любими" tab — favourites slider ──────────────────────────── */
/* The track reuses .elgz-carousel-track / .elgz-carousel-arrow verbatim, so
   the favourites behave exactly like the homepage product carousels. */
.elgz-account-fav__loading {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #6b6864;
	padding: 40px 0;
	text-align: center;
}

.elgz-account-fav__empty {
	padding-top: 24px;
}

/* Nothing to scroll → hide the arrows (toggled by js/wishlist.js). */
.elgz-account-fav__carousel.no-scroll .elgz-carousel-arrow {
	display: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — WooCommerce notices (global) + AJAX cart loading state
   WC's own stylesheet is disabled, so notices are styled from scratch here.
   ═══════════════════════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	line-height: 1.55;
	list-style: none;
	margin: 0 0 20px;
	padding: 14px 18px;
	border-left: 3px solid;
	border-radius: 2px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 16px;
}

.woocommerce-message { /* success — added / updated */
	color: #1a1a1a;
	background-color: #f3f8f3;
	border-color: #2e7d32;
}

.woocommerce-info {
	color: #1a1a1a;
	background-color: #f8f4ee;
	border-color: #8a0000;
}

.woocommerce-error {
	color: #8a0000;
	background-color: #fbf4f4;
	border-color: #8a0000;
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce-error li {
	list-style: none;
	margin: 0;
}

/* Inline action button inside a notice (e.g. „Преглед на количката"). */
.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 16px;
	background-color: #1a1a1a;
	color: #faf8f5 !important;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
	background-color: #8a0000;
	color: #faf8f5 !important;
}

/* Cart notices: align with the page, spaced only when present. */
.elgz-cart-notices {
	padding: 0 64px;
}

.elgz-cart-notices .woocommerce-message,
.elgz-cart-notices .woocommerce-error,
.elgz-cart-notices .woocommerce-info {
	margin: 24px 0 0;
}

/* AJAX cart: fade + lock while a request is in flight. */
.elgz-cart-root.is-loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

@media (max-width: 1024px) {
	.elgz-cart-notices {
		padding: 0 32px;
	}
}

@media (max-width: 640px) {
	.elgz-cart-notices {
		padding: 0 20px;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Header rework: centred logo + mobile hamburger drawer
   ═══════════════════════════════════════════════════════════════════════════ */

/* Page-centred logo: the side groups sit in the two equal 1fr columns. */
.elgz-header__info    { justify-self: start; }
.elgz-header__actions { justify-self: end; }
/* grid-row:1 keeps both on the same row — the burger (col 3) is first in the
   DOM, so without it the column-2 logo wraps to a second row (sparse auto-flow)
   and spills below the header background. */
.elgz-logo            { justify-self: center; grid-column: 2; grid-row: 1; }
.elgz-burger          { justify-self: end; grid-column: 3; grid-row: 1; }

/* ── Hamburger button (right side; hidden on desktop) ──────────────────── */
.elgz-burger {
	display: none;
	width: 44px;
	height: 44px;
	margin-right: -10px;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: #1a1a1a;
}

.elgz-burger__box {
	position: relative;
	display: block;
	width: 22px;
	height: 14px;
}

.elgz-burger__line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: currentColor;
	transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
}

.elgz-burger__line:nth-child(1) { top: 0; }
.elgz-burger__line:nth-child(2) { top: 6px; }
.elgz-burger__line:nth-child(3) { top: 12px; }

.elgz-burger__box.is-open .elgz-burger__line:nth-child(1) { top: 6px; transform: rotate(45deg); }
.elgz-burger__box.is-open .elgz-burger__line:nth-child(2) { opacity: 0; }
.elgz-burger__box.is-open .elgz-burger__line:nth-child(3) { top: 6px; transform: rotate(-45deg); }

/* ── Mobile dropdown ───────────────────────────────────────────────────── */
.elgz-mobile-nav {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background-color: #faf8f5;
	border-top: 1px solid #e8e4dd;
	border-bottom: 1px solid #e8e4dd;
	box-shadow: 0 14px 26px rgba(0, 0, 0, 0.08);
	padding: 6px 0 14px;
	z-index: 20;
	max-height: calc(100vh - 90px);
	overflow-y: auto;
}

.elgz-mobile-nav__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.elgz-mobile-nav__menu li a,
.elgz-mobile-nav__menu li a:link,
.elgz-mobile-nav__menu li a:visited,
.elgz-mobile-nav__action,
.elgz-mobile-nav__action:link,
.elgz-mobile-nav__action:visited {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 14px 28px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}

/* Hover / focus → colour + subtle highlight (active item keeps the colour). */
.elgz-mobile-nav__menu li a:hover,
.elgz-mobile-nav__menu li a:focus,
.elgz-mobile-nav__action:hover,
.elgz-mobile-nav__action:focus {
	color: #8a0000;
	background-color: #f3eee5;
}

.elgz-mobile-nav__menu li.current-menu-item a {
	color: #8a0000;
}

.elgz-mobile-nav__actions {
	display: flex;
	flex-direction: column;
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid #e8e4dd;
}

/* ── ≤1024px → hamburger; hide desktop info / actions / nav ─────────────── */
@media (max-width: 1024px) {
	.elgz-burger {
		display: flex;
	}

	.elgz-header__info,
	.elgz-header__actions,
	.elgz-nav {
		display: none;
	}

	.elgz-site-header .elgz-header {
		height: 64px;
	}

	.elgz-site-header .elgz-logo__name {
		font-size: 24px;
	}

	.elgz-site-header.is-scrolled .elgz-logo__name {
		font-size: 20px;
	}
}

/* Drawer is mobile-only. */
@media (min-width: 1025px) {
	.elgz-mobile-nav {
		display: none !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Product-card add-to-cart icon
   Wired by js/add-to-cart.js (AJAX → ?wc-ajax=add_to_cart). Sits next to the
   price in the card body.
   ═══════════════════════════════════════════════════════════════════════════ */
.elgz-product-card__buy {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.elgz-product-card__cart {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	background: none;
	border: none;
	border-radius: 2px;
	color: #8a0000;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.elgz-product-card__cart svg {
	width: 19px;
	height: 19px;
	display: block;
}

.elgz-product-card__cart:hover,
.elgz-product-card__cart:focus-visible {
	background-color: #8a0000;
	border-color: #8a0000;
	color: #faf8f5;
}

.elgz-product-card__cart.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

.elgz-product-card__cart-icon,
.elgz-product-card__cart-done {
	display: flex;
	align-items: center;
	justify-content: center;
}

.elgz-product-card__cart-done {
	display: none;
}

/* Success flash → filled burgundy with a ✓. */
.elgz-product-card__cart.is-added {
	background-color: #8a0000;
	border-color: #8a0000;
	color: #faf8f5;
}

.elgz-product-card__cart.is-added .elgz-product-card__cart-icon {
	display: none;
}

.elgz-product-card__cart.is-added .elgz-product-card__cart-done {
	display: flex;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Eleganza — Checkout (Поръчка)
   Custom one-page checkout. Minimal header + 4-step progress, 2-col layout
   (Контакт / Доставка / Плащане + sticky order summary), mobile collapsible
   summary + sticky bottom bar. Classes prefixed .elgz-checkout / .elgz-co-*.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Checkout page: hide the normal site header/footer (replaced by the minimal
   checkout chrome rendered in header.php). */
body.woocommerce-checkout .elgz-footer,
body.woocommerce-checkout .site-footer {
	display: none;
}

/* ── Minimal checkout header ─────────────────────────────── */
.elgz-co-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	padding: 20px 48px;
	background-color: #faf8f5;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-co-header__back,
.elgz-co-header__back:link,
.elgz-co-header__back:visited {
	justify-self: start;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #6b6864;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-co-header__back:hover {
	color: #8a0000;
}

.elgz-co-header__logo {
	justify-self: center;
	text-decoration: none;
}

.elgz-co-header__logo .elgz-logo__name {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.625rem;
	letter-spacing: 0.3em;
	color: #1a1a1a;
}

.elgz-co-header__secure {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
	white-space: nowrap;
}

.elgz-co-header__lock {
	color: #8a0000;
}

/* ── Progress steps ──────────────────────────────────────── */
.elgz-co-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 22px 24px;
	background-color: #faf8f5;
	border-bottom: 1px solid #e8e4dd;
}

.elgz-co-step,
.elgz-co-step:link,
.elgz-co-step:visited {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #a59c92;
	text-decoration: none;
	white-space: nowrap;
}

.elgz-co-step__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid #d8d2c8;
	font-size: 0.6875rem;
	color: #a59c92;
}

.elgz-co-step.is-done,
.elgz-co-step.is-active {
	color: #1a1a1a;
}

.elgz-co-step.is-done .elgz-co-step__badge,
.elgz-co-step.is-active .elgz-co-step__badge {
	background-color: #8a0000;
	border-color: #8a0000;
	color: #ffffff;
}

.elgz-co-step__line {
	width: 56px;
	height: 1px;
	background-color: #e0d9cd;
}

/* ── Layout ──────────────────────────────────────────────── */
.elgz-checkout {
	background-color: #faf8f5;
}

.elgz-checkout__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	align-items: stretch;
}

.elgz-checkout__main {
	min-width: 0;
	padding: 56px 64px 72px;
}

.elgz-checkout__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 40px;
}

.elgz-checkout__aside {
	background-color: #f5f2ec;
	border-left: 1px solid #e8e4dd;
}

.elgz-checkout__aside-inner {
	position: sticky;
	top: 24px;
	padding: 48px 40px;
}

.elgz-co-aside__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 24px;
}

/* ── Sections ────────────────────────────────────────────── */
.elgz-co-sec {
	margin: 0 0 44px;
}

.elgz-co-sec__title {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 0 0 22px;
}

.elgz-co-sec__num {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #8a0000;
}

/* ── Fields ──────────────────────────────────────────────── */
.elgz-co-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 20px;
}

.elgz-co-field {
	margin: 0;
	min-width: 0;
}

.elgz-co-field--wide {
	grid-column: 1 / -1;
}

.elgz-co-field--half {
	grid-column: span 1;
}

.elgz-co-hidden {
	display: none !important;
}

.elgz-co-field > label {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0 0 8px;
}

.elgz-checkout .required,
.elgz-checkout abbr.required,
.elgz-checkout .optional {
	display: none;
}

.elgz-co-consent {
	margin: 16px 0 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	line-height: 1.6;
	color: #a59c92;
	text-align: center;
}

.elgz-co-consent a {
	color: #8a0000;
	text-decoration: underline;
}

.elgz-co-field .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.elgz-co-field input.input-text,
.elgz-co-field input[type="text"],
.elgz-co-field input[type="email"],
.elgz-co-field input[type="tel"],
.elgz-co-field select,
.elgz-co-field .select2-container .select2-selection {
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid #d8d2c8;
	border-radius: 0;
	background-color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #1a1a1a;
	box-sizing: border-box;
}

.elgz-co-field input::placeholder {
	color: #a59c92;
}

.elgz-co-field input:focus,
.elgz-co-field select:focus {
	outline: none;
	border-color: #8a0000;
}

/* selectWoo dropdowns (Област / Град) aligned to match the text fields */
.elgz-co-field .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
}

.elgz-co-field .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: normal;
	color: #1a1a1a;
}

.elgz-co-field .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #a59c92;
}

.elgz-co-field .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	top: 0;
	right: 12px;
}

.elgz-co-field .select2-container--default.select2-container--open .select2-selection,
.elgz-co-field .select2-container--default.select2-container--focus .select2-selection {
	border-color: #8a0000;
}

.select2-container--default .select2-dropdown,
.select2-dropdown {
	border-color: #d8d2c8;
	border-radius: 0;
}

.select2-container--default .select2-results__option {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
	background-color: #f3eee5;
	color: #1a1a1a;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid #d8d2c8;
	border-radius: 0;
	font-family: 'Roboto', sans-serif;
}

/* Newsletter / consent checkbox */
.elgz-co-check {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #1a1a1a;
	cursor: pointer;
}

.elgz-co-check input {
	width: 18px;
	height: 18px;
	accent-color: #1a1a1a;
	flex-shrink: 0;
}

/* ── Shipping radio cards ────────────────────────────────── */
.elgz-co-ship {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 22px 0;
}

.elgz-co-ship__opt {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 17px 20px;
	border: 1px solid #e0d9cd;
	background-color: #ffffff;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.elgz-co-ship__opt.is-selected {
	border-color: #1a1a1a;
	background-color: #f3eee5;
}

.elgz-co-ship__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.elgz-co-ship__radio {
	position: relative;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid #c4bcae;
}

.elgz-co-ship__opt.is-selected .elgz-co-ship__radio {
	border-color: #8a0000;
}

.elgz-co-ship__opt.is-selected .elgz-co-ship__radio::after {
	content: '';
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background-color: #8a0000;
}

.elgz-co-ship__text {
	flex: 1;
	min-width: 0;
}

.elgz-co-ship__title {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-co-ship__sub {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
	margin-top: 2px;
}

.elgz-co-ship__price {
	flex-shrink: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
	white-space: nowrap;
}

.elgz-co-ship__none {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #8a0000;
	margin: 0;
}

/* ── Carrier shipping (Speedy/Econt) in the Доставка section ── */
.elgz-co-shipsection {
	margin: 26px 0 4px;
}

/* Shown in place of the methods until an oblast + city are chosen */
.elgz-co-ship__prompt {
	margin: 0;
	padding: 18px 20px;
	border: 1px dashed #d8d2c8;
	background-color: #faf8f5;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #6b6864;
	text-align: center;
}

.elgz-co-shipsection__title {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0 0 12px;
}

/* Order-summary delivery line states (Доставка row) */
.elgz-co-ship-free {
	color: #2e7d32;
	font-weight: 500;
}

.elgz-co-ship-prompt {
	color: #8a0000;
	font-size: 0.8125rem;
}

/* Flatten the WC shipping table to block flow (kills the stray "Доставка"
   data-title column the responsive cart CSS would otherwise show). */
.elgz-co-shiptable,
.elgz-co-shiptable tbody,
.elgz-co-shiptable tr,
.elgz-co-shiptable td {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	border: none;
}

.elgz-co-shiptable td::before {
	display: none !important;
	content: none !important;
}

/* Hide WC's per-package "Доставка" label cell (<th>); we render our own heading.
   The shipping methods live in the adjacent <td>, so only the <th> is hidden. */
.elgz-co-shiptable th,
.elgz-co-shiptable .woocommerce-shipping-destination {
	display: none !important;
}

.elgz-co-shiptable #shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* The #customer_details + .elgz-co-ship prefix out-specifies Bulgarisation's
   `ul#shipping_method li:not(...){ padding:0 !important }`, which otherwise
   zeroes the card padding (its :not() makes it very specific). */
#customer_details .elgz-co-ship .elgz-co-shiptable ul#shipping_method > li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border: 1px solid #e0d9cd;
	background-color: #ffffff;
	padding: 15px 18px !important;
	margin: 0 !important;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.elgz-co-shiptable #shipping_method > li:has( input.shipping_method:checked ) {
	border-color: #1a1a1a;
	background-color: #f3eee5;
}

.elgz-co-shiptable #shipping_method input.shipping_method {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 0 11px 0 0;
	accent-color: #8a0000;
	cursor: pointer;
}

/* Label = title + sub-line (stacked, left) + price (right), per the design. */
.elgz-co-shiptable #shipping_method > li label {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: 12px;
	row-gap: 2px;
	margin: 0;
	cursor: pointer;
}

.elgz-ship__title {
	grid-column: 1;
	grid-row: 1;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-ship__sub {
	grid-column: 1;
	grid-row: 2;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	color: #948d85;
}

/* Right column: action hint + price/status, side by side (per the design). */
.elgz-ship__meta {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: center;
	justify-self: end;
	display: flex;
	align-items: baseline;
	gap: 14px;
	white-space: nowrap;
}

.elgz-ship__hint {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #a59c92;
}

.elgz-ship__price {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-ship__price .woocommerce-Price-amount,
.elgz-ship__price .amount {
	color: #1a1a1a;
}

.elgz-ship__price--free {
	color: #2e7d32;
}

/* The Bulgarisation picker mounts here. On mount, Vue REPLACES the
   .woo-bg-additional-fields div with its own root (.woo-bg--speedy-delivery /
   .woo-bg--econt-delivery), so target any non-radio/label child of the <li> to
   drop the picker onto its own full-width line below the radio + label. */
.elgz-co-shiptable #shipping_method > li > *:not( input ):not( label ) {
	flex: 0 0 100%;
	width: 100%;
	margin-top: 12px;
}

/* Un-mounted placeholder divs (non-selected methods) take no space. */
.elgz-co-shiptable #shipping_method > li > .woo-bg-additional-fields:empty {
	margin-top: 0;
}

.woo-bg-additional-fields label {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 10px 0 5px;
}

.woo-bg-additional-fields input[type="text"],
.woo-bg-additional-fields input[type="search"],
.woo-bg-additional-fields select,
.woo-bg-additional-fields .vs__dropdown-toggle {
	width: 100%;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid #d8d2c8;
	border-radius: 0;
	background-color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #1a1a1a;
	box-sizing: border-box;
}

.woo-bg-additional-fields .vs__dropdown-toggle {
	display: flex;
	align-items: center;
	padding: 0 8px;
}

.woo-bg-additional-fields input:focus,
.woo-bg-additional-fields select:focus {
	outline: none;
	border-color: #8a0000;
}

.woo-bg-additional-fields .vs__dropdown-menu {
	border: 1px solid #e0d9cd;
	border-radius: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
}

.woo-bg-additional-fields .vs__selected {
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #1a1a1a;
}

/* Hide WC's "ship to different address" + order-notes for the clean design */
.elgz-checkout .woocommerce-shipping-fields,
.elgz-checkout .woocommerce-additional-fields {
	display: none;
}

/* ── Payment ─────────────────────────────────────────────── */
.elgz-co-sec--payment .wc_payment_methods {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border: none !important;
}

.elgz-co-sec--payment .wc_payment_method {
	border: 1px solid #e0d9cd;
	background-color: #ffffff;
	padding: 0;
	margin: 0;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.elgz-co-sec--payment .wc_payment_method:has(input:checked) {
	border-color: #1a1a1a;
	background-color: #f3eee5;
}

.elgz-co-sec--payment .wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 17px 20px;
	margin: 0;
	cursor: pointer;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-co-sec--payment .wc_payment_method > label img {
	display: none;
}

.elgz-co-sec--payment .wc_payment_method input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: #8a0000;
	flex-shrink: 0;
}

.elgz-co-sec--payment .payment_box {
	margin: 0;
	padding: 0 20px 16px 52px;
	background: none;
	font-family: 'Roboto', sans-serif;
	font-size: 0.875rem;
	color: #6b6864;
}

.elgz-co-sec--payment .payment_box::before {
	display: none;
}

.elgz-co-sec--payment .payment_box p {
	margin: 0;
}

/* Place-order button */
.elgz-checkout #place_order,
.elgz-co-sec--payment #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	margin: 4px 0 0;
	padding: 14px 24px;
	background-color: #1a1a1a;
	color: #faf8f5 !important;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.elgz-checkout #place_order:hover,
.elgz-checkout #place_order:focus {
	background-color: #8a0000;
}

/* Terms / privacy text under the button */
.elgz-checkout .woocommerce-terms-and-conditions-wrapper,
.elgz-checkout .woocommerce-privacy-policy-text {
	margin-top: 16px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	line-height: 1.6;
	color: #a59c92;
	text-align: center;
}

.elgz-checkout .woocommerce-privacy-policy-text a {
	color: #8a0000;
}

/* ── Order summary sidebar ───────────────────────────────── */
.elgz-co-summary {
	display: block;
	width: 100%;
}

.elgz-co-items {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.elgz-co-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.elgz-co-item__media {
	position: relative;
	flex-shrink: 0;
	width: 56px;
}

.elgz-co-item__media img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	display: block;
	background-color: #f3eee5;
}

.elgz-co-item__qty {
	position: absolute;
	top: -8px;
	right: -8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	border-radius: 999px;
	background-color: #6b6864;
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
}

.elgz-co-item__info {
	flex: 1;
	min-width: 0;
}

.elgz-co-item__name {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1rem;
	color: #1a1a1a;
	margin: 0 0 2px;
}

.elgz-co-item__sub {
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
	margin: 0;
}

.elgz-co-item__price {
	flex-shrink: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #8a0000;
	white-space: nowrap;
}

/* Promo */
.elgz-co-promo {
	display: flex;
	gap: 8px;
	margin: 0 0 18px;
}

.elgz-co-promo__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #d8d2c8;
	border-radius: 0;
	background-color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
}

.elgz-co-promo__input:focus {
	outline: none;
	border-color: #8a0000;
}

.elgz-co-promo__btn {
	flex-shrink: 0;
	height: 48px;
	padding: 0 22px;
	border: none;
	background-color: #1a1a1a;
	color: #faf8f5;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.elgz-co-promo__btn:hover {
	background-color: #8a0000;
}

.elgz-co-coupons {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.elgz-co-coupon {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #1a1a1a;
}

.elgz-co-coupon__remove,
.elgz-co-coupon__remove:link,
.elgz-co-coupon__remove:visited {
	color: #a59c92;
	font-size: 1.1rem;
	line-height: 1;
	text-decoration: none;
}

.elgz-co-coupon__remove:hover {
	color: #8a0000;
}

/* Totals */
.elgz-co-totals {
	margin: 0;
	padding: 20px 0 0;
	border-top: 1px solid #e3dccf;
}

.elgz-co-totals__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
}

.elgz-co-totals__row dt {
	margin: 0;
	color: #6b6864;
	font-weight: 400;
}

.elgz-co-totals__row dd {
	margin: 0;
	color: #1a1a1a;
	font-weight: 500;
	text-align: right;
}

.elgz-co-free {
	color: #2e7d32;
	font-weight: 500;
}

.elgz-co-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 0;
	margin: 8px 0 22px;
	border-top: 1px solid #e3dccf;
}

.elgz-co-total__label {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.25rem;
	color: #1a1a1a;
}

.elgz-co-total__value {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 700;
	color: #8a0000;
}

.elgz-co-total__value .woocommerce-Price-amount {
	font-weight: 700;
}

/* Assurances */
.elgz-co-assurances {
	list-style: none;
	margin: 0;
	padding: 18px 0 0;
	border-top: 1px solid #e3dccf;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.elgz-co-assurances li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.8125rem;
	color: #6b6864;
}

.elgz-co-assurances__ic {
	display: inline-flex;
	flex-shrink: 0;
	color: #8a0000;
}

/* ── Mobile-only chrome (hidden on desktop) ──────────────── */
.elgz-co-msummary,
.elgz-co-stickybar {
	display: none;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1100px) {
	.elgz-checkout__grid {
		grid-template-columns: minmax(0, 1fr) 380px;
	}

	.elgz-checkout__main {
		padding: 48px 40px 64px;
	}

	.elgz-checkout__aside-inner {
		padding: 40px 28px;
	}
}

@media (max-width: 1024px) {
	.elgz-co-header {
		padding: 14px 20px;
	}

	.elgz-co-header__logo .elgz-logo__name {
		font-size: 1.25rem;
		letter-spacing: 0.22em;
	}

	.elgz-co-header__back span,
	.elgz-co-header__secure {
		font-size: 0.75rem;
	}

	.elgz-co-steps {
		padding: 14px 16px;
		gap: 6px;
	}

	.elgz-co-step__line {
		width: 24px;
	}

	/* Single column; summary collapses under the toggle (order:-1) */
	.elgz-checkout__grid {
		display: flex;
		flex-direction: column;
	}

	.elgz-checkout__main {
		order: 2;
		padding: 8px 20px 96px;
	}

	.elgz-checkout__title {
		font-size: 1.75rem;
		margin: 16px 0 28px;
	}

	.elgz-checkout__aside {
		order: 1;
		display: none;
		border-left: none;
		border-bottom: 1px solid #e8e4dd;
		background-color: #f5f2ec;
	}

	.elgz-checkout__aside.is-open {
		display: block;
	}

	.elgz-checkout__aside-inner {
		position: static;
		padding: 24px 20px;
	}

	.elgz-co-aside__title {
		display: none;
	}

	/* Mobile order-summary toggle */
	.elgz-co-msummary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		padding: 14px 20px;
		background-color: #f5f2ec;
		border: none;
		border-bottom: 1px solid #e8e4dd;
		cursor: pointer;
		font-family: 'Roboto', sans-serif;
		order: 0;
	}

	.elgz-co-msummary__label {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 0.875rem;
		color: #1a1a1a;
	}

	.elgz-co-msummary__icon {
		color: #8a0000;
	}

	.elgz-co-msummary__count {
		color: #6b6864;
	}

	.elgz-co-msummary__chev {
		transition: transform 0.2s ease;
		color: #8a0000;
	}

	.elgz-co-msummary__chev.is-open {
		transform: rotate(180deg);
	}

	.elgz-co-msummary__total {
		font-size: 1.125rem;
		font-weight: 500;
		color: #8a0000;
	}

	/* Sticky bottom bar */
	.elgz-co-stickybar {
		display: flex;
		align-items: center;
		gap: 16px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		padding: 12px 20px;
		background-color: #faf8f5;
		border-top: 1px solid #e8e4dd;
		box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
	}

	.elgz-co-stickybar__total {
		display: flex;
		flex-direction: column;
		line-height: 1.2;
		flex-shrink: 0;
	}

	.elgz-co-stickybar__label {
		font-family: 'Roboto', sans-serif;
		font-size: 0.6875rem;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #6b6864;
	}

	.elgz-co-stickybar__amount {
		font-family: 'PT Serif', Georgia, serif;
		font-size: 1.25rem;
		color: #8a0000;
	}

	.elgz-co-stickybar__btn {
		flex: 1;
		min-height: 50px;
		border: none;
		background-color: #1a1a1a;
		color: #faf8f5;
		font-family: 'Roboto', sans-serif;
		font-size: 0.75rem;
		font-weight: 500;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		cursor: pointer;
	}

	.elgz-co-stickybar__btn:hover {
		background-color: #8a0000;
	}

	/* The desktop place-order button is redundant on mobile (sticky bar drives it) */
	.elgz-checkout #place_order {
		min-height: 52px;
	}
}

@media (max-width: 560px) {
	.elgz-co-grid {
		grid-template-columns: 1fr;
	}

	.elgz-co-field--half {
		grid-column: 1 / -1;
	}

	.elgz-co-header {
		grid-template-columns: auto 1fr;
		gap: 8px;
	}

	.elgz-co-header__secure {
		display: none;
	}

	.elgz-co-header__logo {
		justify-self: end;
	}

	.elgz-co-steps {
		justify-content: flex-start;
		overflow-x: auto;
	}
}


/* ════════════════════════════════════════════════════════════════════════
   Product search — header trigger, live overlay, and results page
   ════════════════════════════════════════════════════════════════════════ */

/* Header trigger ---------------------------------------------------------- */
.elgz-header__search-trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

.elgz-header__search-icon {
	display: inline-flex;
}

.elgz-header__search-icon svg {
	width: 16px;
	height: 16px;
}

.elgz-mobile-nav__search-icon {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 8px;
}

.elgz-mobile-nav__search-icon svg {
	width: 18px;
	height: 18px;
}

/* Lock background scroll while the overlay is open */
html.elgz-search-lock {
	overflow: hidden;
}

/* Overlay — full-screen search takeover ----------------------------------- */
.elgz-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 1200;
	background: #faf8f5;
	overflow-y: auto;
}

.admin-bar .elgz-search-overlay {
	top: 32px;
}

.elgz-search-screen {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

/* Close (top-right) */
.elgz-search-close {
	align-self: flex-end;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 22px 40px 0;
	padding: 6px 4px;
	border: 0;
	background: transparent;
	font-family: 'Roboto', sans-serif;
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #1a1a1a;
	cursor: pointer;
	transition: color 0.2s ease;
}

.elgz-search-close:hover {
	color: #8a0000;
}

.elgz-search-close svg {
	width: 20px;
	height: 20px;
}

/* Centred content column */
.elgz-search-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 18px 40px 80px;
	flex: 1;
}

.elgz-search-eyebrow {
	margin: 0 0 22px;
	font-family: 'Roboto', sans-serif;
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: #8a0000;
}

/* Input row */
.elgz-search-form {
	display: flex;
	align-items: center;
	gap: 18px;
	border-bottom: 1px solid #1a1a1a;
	padding-bottom: 18px;
}

.elgz-search-form__icon {
	display: inline-flex;
	color: #6b6864;
	flex: none;
}

.elgz-search-form__icon svg {
	width: 26px;
	height: 26px;
}

/* Scoped (.elgz-search-form …) to outrank the starter `input[type="search"]`
   rule that adds a 1px border + radius. */
.elgz-search-form .elgz-search-form__input {
	flex: 1;
	min-width: 0;
	border: 0;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 2.2rem;
	line-height: 1.1;
	color: #1a1a1a;
	padding: 0;
	outline: none;
}

.elgz-search-form__input::placeholder {
	color: #c9c1b6;
}

.elgz-search-form__count {
	flex: none;
	font-family: 'Roboto', sans-serif;
	font-size: 0.95rem;
	color: #a59c92;
	white-space: nowrap;
}

/* Hide the browser's native search clear/decoration (overlay + results page). */
.elgz-search-form__input::-webkit-search-cancel-button,
.elgz-search-form__input::-webkit-search-decoration,
.elgz-search-page__input::-webkit-search-cancel-button,
.elgz-search-page__input::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

/* Suggestion chips */
.elgz-search-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.elgz-search-chip {
	padding: 11px 22px;
	border: 1px solid #e2ddd4;
	border-radius: 999px;
	background: transparent;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9rem;
	color: #3a3733;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.elgz-search-chip:hover {
	border-color: #1a1a1a;
}

.elgz-search-chip.is-active {
	background: #1a1a1a;
	border-color: #1a1a1a;
	color: #ffffff;
}

/* Section labels (Продукти / Категории) */
.elgz-search-section-label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #a59c92;
}

/* Products */
.elgz-search-products {
	margin-top: 44px;
}

.elgz-search-products[hidden] {
	display: none;
}

.elgz-search-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}

.elgz-search-viewall {
	font-family: 'Roboto', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #1a1a1a;
	text-decoration: none;
	border-bottom: 1px solid #1a1a1a;
	padding-bottom: 3px;
	white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.elgz-search-viewall:hover {
	color: #8a0000;
	border-color: #8a0000;
}

.elgz-search-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

.elgz-search-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.elgz-search-card__media {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #efe7dd;
	margin-bottom: 14px;
}

.elgz-search-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.elgz-search-card:hover .elgz-search-card__media img {
	transform: scale(1.05);
}

.elgz-search-card__name {
	display: block;
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.05rem;
	line-height: 1.3;
	color: #1a1a1a;
	margin-bottom: 6px;
}

.elgz-search-card__price {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.95rem;
	color: #3a3733;
}

.elgz-search-card__price del {
	color: #a59c92;
	margin-right: 6px;
}

.elgz-search-card__price ins {
	text-decoration: none;
	color: #8a0000;
	font-weight: 500;
}

/* State messages (hint / empty / error) */
.elgz-search-state {
	margin-top: 28px;
}

.elgz-search-state__msg {
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #6b6864;
}

.elgz-search-state__msg--empty {
	color: #1a1a1a;
}

.elgz-search-state__msg--error {
	color: #8a0000;
}

/* Categories */
.elgz-search-cats {
	margin-top: 48px;
	padding-top: 36px;
	border-top: 1px solid #e8e4dd;
}

.elgz-search-cats__list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 32px;
	margin-top: 20px;
}

/* :link/:visited spelled out so the starter `a:visited{color:#800080}` (purple)
   doesn't win — these stay blackish with a red hover. */
.elgz-search-cat,
.elgz-search-cat:link,
.elgz-search-cat:visited {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.35rem;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.elgz-search-cat:hover,
.elgz-search-cat:focus,
.elgz-search-cat.is-match {
	color: #8a0000;
}

/* "Намалени" (sale) stays accent-red in every state, per the design mockup. */
.elgz-search-cat--accent,
.elgz-search-cat--accent:link,
.elgz-search-cat--accent:visited {
	color: #8a0000;
}

/* Overlay responsive */
@media (max-width: 900px) {
	.elgz-search-close {
		margin: 18px 24px 0;
	}

	.elgz-search-inner {
		padding: 14px 24px 64px;
	}

	.elgz-search-form__input {
		font-size: 1.6rem;
	}

	.elgz-search-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
}

@media (max-width: 600px) {
	.elgz-search-form__count {
		display: none;
	}

	/* Chips: show 3, kept on a single line */
	.elgz-search-chips {
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.elgz-search-chips::-webkit-scrollbar {
		display: none;
	}

	.elgz-search-chip {
		padding: 9px 14px;
		font-size: 0.8rem;
	}

	.elgz-search-chip:nth-child(n + 4) {
		display: none;
	}

	/* Categories: one under another */
	.elgz-search-cats__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.elgz-search-cat {
		font-size: 1.2rem;
	}
}

/* Results page ------------------------------------------------------------ */
.elgz-search-page__form {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 560px;
	margin: 22px auto 0;
	padding: 6px 6px 6px 18px;
	background: #ffffff;
	border: 1px solid #e8e4dd;
	border-radius: 999px;
}

.elgz-search-page__form-icon {
	display: inline-flex;
	color: #8a0000;
	flex: none;
}

.elgz-search-page__form-icon svg {
	width: 18px;
	height: 18px;
}

.elgz-search-page__input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	font-size: 1rem;
	color: #1a1a1a;
	outline: none;
}

.elgz-search-page__input::placeholder {
	color: #a59c92;
}

.elgz-search-page__submit {
	flex: none;
	border-radius: 999px;
	padding: 10px 24px;
	white-space: nowrap;
}

.elgz-search-page__grid {
	margin-top: 8px;
}

.elgz-search-noresults {
	text-align: center;
	padding: 40px 20px 88px;
}

.elgz-search-noresults__lead {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.25rem;
	color: #1a1a1a;
	margin: 0 0 8px;
}

.elgz-search-noresults__hint {
	color: #6b6864;
	margin: 0 0 26px;
}

.elgz-search-noresults__cta {
	display: inline-block;
}

@media (max-width: 640px) {
	.elgz-search-inner {
		padding: 22px 16px 26px;
	}

	.elgz-search-form__input {
		font-size: 1.2rem;
	}

	.elgz-search-results {
		max-height: 70vh;
	}

	.elgz-search-page__form {
		flex-wrap: wrap;
		border-radius: 18px;
		padding: 10px 12px;
	}

	.elgz-search-page__submit {
		width: 100%;
	}
}


/* ===================================================================
   Eleganza — 404 (Not Found) page
   Bespoke error page: reuses .elgz-section__label / .elgz-btn-primary /
   .elgz-btn-ghost and palette/fonts §15. Two-column hero on desktop
   (content + decorative image); single centered column on mobile.
   =================================================================== */
.elgz-404 {
	background-color: #faf8f5;
}

.elgz-404__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 96px 64px;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	align-items: center;
	gap: 72px;
}

.elgz-404__eyebrow {
	margin-bottom: 1rem;
}

.elgz-404__code {
	font-family: 'PT Serif', Georgia, serif;
	font-weight: 700;
	font-size: clamp(6rem, 15vw, 11rem);
	line-height: 0.9;
	letter-spacing: -0.02em;
	color: #1a1a1a;
	margin: 0 0 1.25rem;
}

.elgz-404__code::after {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin-top: 1.5rem;
	background-color: #8a0000;
}

.elgz-404__title {
	font-family: 'PT Serif', Georgia, serif;
	font-weight: 400;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0 0 1rem;
}

.elgz-404__text {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	color: #6b6864;
	max-width: 46ch;
	margin: 0 0 2rem;
}

.elgz-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 2.5rem;
}

.elgz-404__pop {
	border-top: 1px solid #e8e4dd;
	padding-top: 1.75rem;
}

.elgz-404__pop-label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #a59c92;
	margin: 0 0 0.9rem;
}

.elgz-404__pop-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
}

.elgz-404__pop-list a {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	color: #1a1a1a;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	padding-bottom: 2px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.elgz-404__pop-list a:hover {
	color: #8a0000;
	border-bottom-color: #8a0000;
}

.elgz-404__media {
	position: relative;
}

.elgz-404__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	max-height: 560px;
	object-fit: cover;
	border: 1px solid #e8e4dd;
}

/* ── Tablet ─────────────────────────────────────────── */
@media (max-width: 1024px) {
	.elgz-404__inner {
		padding: 72px 40px;
		gap: 48px;
	}
}

/* ── Mobile ─────────────────────────────────────────── */
@media (max-width: 880px) {
	.elgz-404__inner {
		grid-template-columns: 1fr;
		padding: 64px 24px;
		text-align: center;
	}

	.elgz-404__text {
		margin-left: auto;
		margin-right: auto;
	}

	.elgz-404__code::after {
		margin-left: auto;
		margin-right: auto;
	}

	.elgz-404__actions,
	.elgz-404__pop-list {
		justify-content: center;
	}

	.elgz-404__media {
		display: none; /* decorative image hidden on small screens for a tighter layout */
	}
}


/* ===================================================================
   Eleganza — Order received / Thank-you page (checkout/thankyou.php)
   On-brand confirmation: breadcrumb + hero, success/failed notice,
   order-overview cards, then WooCommerce's order details table +
   customer addresses (scoped to .elgz-thankyou so this page matches
   My Account → view order). Reuses .elgz-section__label / .elgz-btn-*.
   =================================================================== */
.elgz-thankyou {
	background-color: #faf8f5;
}

.elgz-thankyou__hero {
	max-width: 1100px;
	margin: 0 auto;
	padding: 44px 64px 0;
}

.elgz-thankyou__eyebrow {
	color: #8a0000;
	margin-bottom: 1rem;
}

.elgz-thankyou__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: clamp(1.9rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1.1;
	color: #1a1a1a;
	margin: 0;
}

.elgz-thankyou__inner {
	max-width: 860px;
	margin: 0 auto;
	padding: 32px 64px 88px;
}

/* ── Success / failed notice ─────────────────────────────────────── */
.elgz-thankyou__notice {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 22px 26px;
	margin-bottom: 40px;
	border: 1px solid #cfe3d4;
	background-color: #f4f9f5;
	border-radius: 12px;
}

.elgz-thankyou__notice--error {
	border-color: #e6cccc;
	background-color: #fbf3f3;
}

.elgz-thankyou__check {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #2f7d46;
	color: #fff;
}

.elgz-thankyou__check svg {
	width: 22px;
	height: 22px;
}

.elgz-thankyou__notice-text {
	font-family: 'Roboto', sans-serif;
	font-size: 1.05rem;
	line-height: 1.6;
	color: #1a1a1a;
}

.elgz-thankyou__notice-text p {
	margin: 0;
}

.elgz-thankyou__notice--error .elgz-thankyou__notice-text {
	color: #8a0000;
}

/* ── Order overview cards ────────────────────────────────────────── */
.elgz-thankyou__overview {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
}

.elgz-thankyou__ov-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	background-color: #fff;
	border: 1px solid #e8e4dd;
	border-radius: 10px;
}

.elgz-thankyou__ov-label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #a59c92;
}

.elgz-thankyou__ov-value {
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	color: #1a1a1a;
}

.elgz-thankyou__ov-value .amount,
.elgz-thankyou__ov-value bdi {
	white-space: nowrap;
}

/* ── Actions (failed order) ──────────────────────────────────────── */
.elgz-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

/* ── WooCommerce order details table + addresses (scoped) ────────── */
.elgz-thankyou .woocommerce-order-details__title,
.elgz-thankyou .woocommerce-customer-details .woocommerce-column__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.35rem;
	font-weight: 400;
	color: #1a1a1a;
	margin: 44px 0 16px;
}

.elgz-thankyou .woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.95rem;
}

.elgz-thankyou .woocommerce-table--order-details th,
.elgz-thankyou .woocommerce-table--order-details td {
	padding: 14px 4px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ece8e1;
}

.elgz-thankyou .woocommerce-table--order-details thead th {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6864;
	border-bottom: 1px solid #1a1a1a;
}

.elgz-thankyou .woocommerce-table--order-details .product-total,
.elgz-thankyou .woocommerce-table--order-details tfoot th,
.elgz-thankyou .woocommerce-table--order-details tfoot td {
	text-align: right;
	white-space: nowrap;
}

.elgz-thankyou .woocommerce-table--order-details .product-name a {
	color: #1a1a1a;
	text-decoration: none;
}

.elgz-thankyou .woocommerce-table--order-details .product-name a:hover {
	color: #8a0000;
}

.elgz-thankyou .woocommerce-table--order-details .product-quantity {
	color: #6b6864;
}

.elgz-thankyou .woocommerce-table--order-details tfoot th {
	font-weight: 500;
	color: #6b6864;
	padding-right: 24px;
}

.elgz-thankyou .woocommerce-table--order-details tfoot td {
	font-weight: 600;
	color: #1a1a1a;
}

.elgz-thankyou .woocommerce-table--order-details tfoot tr:last-child th,
.elgz-thankyou .woocommerce-table--order-details tfoot tr:last-child td {
	border-bottom: 0;
}

.elgz-thankyou .woocommerce-customer-details {
	margin-top: 8px;
}

.elgz-thankyou .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px 32px;
	margin: 0;
}

.elgz-thankyou .woocommerce-columns--addresses .woocommerce-column {
	margin: 0;
}

.elgz-thankyou .woocommerce-customer-details address {
	font-style: normal;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	line-height: 1.75;
	color: #3a3733;
	background-color: #fff;
	border: 1px solid #e8e4dd;
	border-radius: 10px;
	padding: 20px 24px;
}

.elgz-thankyou .woocommerce-customer-details--phone,
.elgz-thankyou .woocommerce-customer-details--email {
	margin: 10px 0 0;
	color: #6b6864;
	font-size: 0.9rem;
	word-break: break-word;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 782px) {
	.elgz-thankyou__hero {
		padding: 32px 24px 0;
	}

	.elgz-thankyou__inner {
		padding: 24px 24px 64px;
	}
}


/* ── Order details (My Account view-order + thank-you) — mobile fit ────────
   Long product names + the totals column were clipped on the right on narrow
   screens. Keep the table within the viewport (smaller type + tighter padding,
   wrap long names), let it scroll if still too wide instead of clipping, and
   stack the address columns. */
@media (max-width: 640px) {
	.woocommerce-MyAccount-content .woocommerce-order-details,
	.elgz-thankyou .woocommerce-order-details {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-MyAccount-content .woocommerce-table--order-details,
	.elgz-thankyou .woocommerce-table--order-details {
		font-size: 0.85rem;
	}

	.woocommerce-MyAccount-content .woocommerce-table--order-details th,
	.woocommerce-MyAccount-content .woocommerce-table--order-details td,
	.elgz-thankyou .woocommerce-table--order-details th,
	.elgz-thankyou .woocommerce-table--order-details td {
		padding: 10px 2px;
	}

	.woocommerce-MyAccount-content .woocommerce-table--order-details .product-name,
	.elgz-thankyou .woocommerce-table--order-details .product-name {
		word-break: break-word;
	}

	.woocommerce-MyAccount-content .woocommerce-columns--addresses,
	.elgz-thankyou .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}

	.woocommerce-MyAccount-content .woocommerce-customer-details address,
	.elgz-thankyou .woocommerce-customer-details address {
		word-break: break-word;
	}
}


/* ═══════════════════════════════════════════════════════════════════════════
   # Eleganza — Account Forms (lost/reset password)
   Centered card (~480px) for the /moyat-profil/lost-password/ + reset-password
   endpoints. Reuses .elgz-pdp-breadcrumb / .elgz-btn-primary and the calm global
   .woocommerce-message notice style. No locked sections touched.
   ═══════════════════════════════════════════════════════════════════════════ */
.elgz-authform-page {
	background-color: #faf8f5;
}

.elgz-authform-wrap {
	max-width: 480px;
	margin: 0 auto;
	padding: 24px 20px 88px;
}

.elgz-authform-card {
	background-color: #ffffff;
	border: 1px solid #e8e4dd;
	border-radius: 4px;
	padding: 40px;
}

.elgz-authform__title {
	font-family: 'PT Serif', Georgia, serif;
	font-size: 1.75rem; /* ~28px */
	font-weight: 400;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0 0 16px;
}

.elgz-authform__intro {
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	line-height: 1.6;
	color: #6b6864;
	margin: 0 0 28px;
}

.elgz-authform__row {
	margin: 0 0 20px;
}

.elgz-authform__label {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6864;
	margin: 0 0 8px;
}

.elgz-authform__label .required {
	color: #8a0000;
	border: 0;
	text-decoration: none;
}

.elgz-authform__input {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #1a1a1a;
	background-color: #ffffff;
	border: 1px solid #e8e4dd;
	border-radius: 0;
	transition: border-color 0.2s ease;
}

.elgz-authform__input:focus {
	outline: none;
	border-color: #8a0000;
}

.elgz-authform__actions {
	margin: 28px 0 0;
}

.elgz-authform__submit {
	width: 100%;
}

/* Notices (email-sent confirmation / errors) render at the top of the card via
   the woocommerce_before_*_password_form hook; they reuse the calm global notice
   style — nudge spacing so they read as an integrated confirmation. */
.elgz-authform-card .woocommerce-message,
.elgz-authform-card .woocommerce-info,
.elgz-authform-card .woocommerce-error {
	margin: 0 0 24px;
}

/* Login-card notices (e.g. "password reset successfully") — card-aligned,
   now that woocommerce_before_customer_login_form fires inside the login card. */
.elgz-login__card .woocommerce-message,
.elgz-login__card .woocommerce-info,
.elgz-login__card .woocommerce-error {
	margin: 0 0 20px;
}

/* Back-to-login link on the reset-link-sent confirmation card. */
.elgz-authform__back {
	margin: 24px 0 0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
}

.elgz-authform__back a {
	color: #6b6864;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.elgz-authform__back a:hover {
	color: #8a0000;
	border-bottom-color: #8a0000;
}

@media (max-width: 640px) {
	.elgz-authform-wrap {
		padding: 16px 16px 64px;
	}

	.elgz-authform-card {
		padding: 28px 22px;
	}
}


/* ── Blog carousel (homepage "Блог новини") ────────────────────────────────
   Reuses the product-carousel mechanism (.elgz-carousel-* + Alpine scroll);
   only overrides slides-per-view to 3 / 2 / 1 at the shared 1024 / 640
   breakpoints. Card design untouched. */
.elgz-blog-carousel .elgz-carousel-track > li {
	display: flex;
}

.elgz-blog-carousel .elgz-carousel-track > li > .elgz-blog-card {
	width: 100%;
}

.elgz-blog-carousel .elgz-carousel-track > * {
	flex: 0 0 calc((100% - (24px * 2)) / 3); /* 3 per view */
}

@media (max-width: 1024px) {
	.elgz-blog-carousel .elgz-carousel-track > * {
		flex: 0 0 calc((100% - (24px * 1)) / 2); /* 2 per view */
	}
}

@media (max-width: 640px) {
	.elgz-blog-carousel .elgz-carousel-track > * {
		flex: 0 0 100%; /* 1 per view */
	}
}

/* ══════════════════════════════════════════════════════════════════
   Category SEO text — bottom of product-category archives
   (ACF field `category_seo_text`, page 1 only). .elgz-category-text is
   the Screaming Frog crawl marker for which categories have copy.
   ══════════════════════════════════════════════════════════════════ */
.elgz-category-text {
	background-color: #faf8f5;
	border-top: 1px solid #e8e4dd;
	padding: 56px 64px 88px; /* side padding matches .elgz-shop-layout */
}
.elgz-category-text__inner {
	max-width: 120ch; /* centered reading column, ~ matches the centered hero */
	margin: 0 auto;
	color: #4a4744;
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 1.75;
}
.elgz-category-text__inner > *:first-child { margin-top: 0; }
.elgz-category-text__inner > *:last-child  { margin-bottom: 0; }

.elgz-category-text__inner p,
.elgz-category-text__inner ul,
.elgz-category-text__inner ol {
	margin: 0 0 1.15em; /* fill the centered column; measure is set on __inner */
}
.elgz-category-text__inner ul,
.elgz-category-text__inner ol { padding-left: 1.4em; }
.elgz-category-text__inner li { margin: 0.4em 0; }

.elgz-category-text__inner h3 {
	font-family: 'PT Serif', Georgia, serif; /* like other section headings */
	font-weight: 400;
	font-size: 24px;
	line-height: 1.3;
	color: #1a1a1a;
	margin: 1.8em 0 0.6em;
}

.elgz-category-text__inner a {
	color: #8a0000;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.elgz-category-text__inner a:hover { color: #1a1a1a; }

/* Tables — bordered + zebra, consistent with the theme */
.elgz-category-text__inner table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.4em;
	font-size: 14px;
}
.elgz-category-text__inner th,
.elgz-category-text__inner td {
	border: 1px solid #e8e4dd;
	padding: 10px 14px;
	text-align: left;
	vertical-align: top;
}
.elgz-category-text__inner thead th { background-color: #f3eee5; font-weight: 500; color: #1a1a1a; }
.elgz-category-text__inner tbody tr:nth-child(even) { background-color: #ffffff; }

@media (max-width: 1024px) {
	.elgz-category-text { padding: 48px 32px 64px; }
}
@media (max-width: 640px) {
	.elgz-category-text { padding: 40px 20px 56px; }
	/* Only tables scroll horizontally on phones — the table becomes its own
	   scroll container, so the ACF content needs no wrapper markup. */
	.elgz-category-text__inner table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}





