/*
 * Eco Lustre: the components theme.json cannot describe. Colours, fonts and spacing come from theme.json
 * (CSS custom properties --wp--preset--*), so a style change is made there first.
 *
 * Contents: 1. base  2. header  3. sections & home  4. product lists  5. product page  6. cart, account, forms
 *           7. footer  8. small screens
 */

/* 1. Base ------------------------------------------------------------------------------------------------ */
:root {
	--eco-radius: var(--wp--custom--radius, 6px);
	--eco-line: var(--wp--preset--color--line);
	--eco-shadow: var(--wp--preset--shadow--soft);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
.eco-main { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.eco-main { margin-block-start: 0; }
.eco-main--home { padding-top: 0; }
.eco-main > * + * { margin-block-start: var(--wp--preset--spacing--40); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute !important; white-space: nowrap; }

/* 2. Header ---------------------------------------------------------------------------------------------- */
.eco-site-header { position: sticky; top: 0; z-index: 100; background: var(--wp--preset--color--base); }
.eco-topbar { padding-block: .4rem; border-bottom: 1px solid var(--eco-line); }
.eco-topbar p { margin: 0; color: var(--wp--preset--color--muted); }
.eco-topbar a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.eco-header { padding-block: .9rem; border-bottom: 1px solid var(--eco-line); }
.eco-header__main { gap: clamp(1rem, 3vw, 2.5rem); }
.eco-header__logo { flex: none; }
.eco-header__search { flex: 1 1 auto; max-width: 620px; }
.eco-header__search .wp-block-search__inside-wrapper { border: 1px solid var(--eco-line); border-radius: 999px; padding: 3px 3px 3px 1rem; background: var(--wp--preset--color--surface); }
.eco-header__search .wp-block-search__input { border: 0; background: transparent; font-size: var(--wp--preset--font-size--small); }
.eco-header__search .wp-block-search__button { border-radius: 999px; padding: .55rem .9rem; margin: 0; }
.eco-header__icons { flex: none; align-items: center; }
.eco-header__icons > * { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; position: relative; color: var(--wp--preset--color--contrast); text-decoration: none; }
.eco-header__icons svg { width: 24px; height: 24px; }
.eco-list-link__count, .eco-header__icons .wc-block-mini-cart__badge {
	position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--wp--preset--color--accent-strong); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.eco-list-link__count[hidden] { display: none; }
.eco-navbar { border-bottom: 1px solid var(--eco-line); }
.eco-navbar .wp-block-navigation { padding-block: .25rem; }
.eco-navbar .wp-block-navigation-item__content { padding: .65rem .9rem; text-decoration: none; }
.eco-navbar .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-strong); }
.eco-navbar .wp-block-navigation__submenu-container { min-width: 240px !important; padding: .5rem 0; border: 0 !important; border-radius: var(--eco-radius); box-shadow: var(--eco-shadow); color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--base) !important; }
.eco-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 1.1rem; font-weight: 500; }
.eco-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-strong); background: var(--wp--preset--color--surface); }
/* Long submenus on a computer: in columns (read top to bottom), so they fit on the screen */
@media (min-width: 782px) {
	.eco-navbar .wp-block-navigation__submenu-container:has(> li:nth-child(11)) { display: grid !important; grid-auto-flow: column; grid-template-rows: repeat(6, auto); width: max-content; column-gap: .5rem; }
	.eco-navbar .wp-block-navigation__submenu-container:has(> li:nth-child(17)) { grid-template-rows: repeat(7, auto); }
	.eco-navbar .wp-block-navigation__submenu-container:has(> li:nth-child(11)) > li { min-width: 210px; }
}

/* Category menu on phones (assets/js/mobile-menu.js): a list of categories, each opening its own panel. */
.eco-header__nav .wp-block-navigation__responsive-container-open { gap: .5rem; padding: .55rem .9rem; border: 1px solid var(--eco-line); border-radius: 999px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); font-weight: 700; }
.eco-header__nav .eco-menu-label { font-size: var(--wp--preset--font-size--small); }
.eco-header__nav .eco-menu-title, .eco-header__nav .eco-menu-back, .eco-header__nav .eco-menu-all { display: none; }
.eco-header__nav .is-menu-open .eco-menu-title, .eco-header__nav .is-menu-open .eco-menu-back, .eco-header__nav .is-menu-open .eco-menu-all { display: block; }
.eco-header__nav .wp-block-navigation__responsive-container.is-menu-open { padding: 0 !important; background: var(--wp--preset--color--base) !important; }
.eco-header__nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.eco-header__nav .is-menu-open .wp-block-navigation__responsive-dialog { margin: 0 !important; }
.eco-header__nav .is-menu-open .eco-menu-title { margin: 0; padding: 1.05rem 3.5rem 1.05rem 1rem; border-bottom: 1px solid var(--eco-line); background: var(--wp--preset--color--sand); font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); font-weight: 600; }
.eco-header__nav .is-menu-open .wp-block-navigation__responsive-container-close { top: .85rem; right: 1rem; }
.eco-header__nav .is-menu-open .wp-block-navigation__responsive-container-content { position: relative; min-height: calc(100vh - 4rem); padding: 0 !important; align-items: stretch !important; gap: 0 !important; }
.eco-header__nav .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; align-items: stretch !important; }
.eco-header__nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; border-bottom: 1px solid var(--eco-line); }
.eco-header__nav .is-menu-open .wp-block-navigation-item__content { display: flex !important; align-items: center; justify-content: space-between; width: 100%; padding: 1rem 1.1rem !important; font-size: var(--wp--preset--font-size--medium); font-weight: 600; }
.eco-header__nav .is-menu-open .has-child > .wp-block-navigation-item__content::after { content: ""; width: .55rem; height: .55rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .6; }
.eco-header__nav .is-menu-open .wp-block-navigation-submenu__toggle { display: none !important; }
/* The panel of a category covers the whole menu: it is positioned against the menu, not against its row. */
.eco-header__nav .is-menu-open .wp-block-navigation-item.has-child { position: static !important; }
/* A submenu is hidden until its category is chosen; then it covers the list, as its own panel. */
.eco-header__nav .is-menu-open .wp-block-navigation__submenu-container { display: none !important; }
.eco-header__nav .is-menu-open .eco-menu-open > .wp-block-navigation__submenu-container {
	display: flex !important; flex-direction: column; position: absolute !important; inset: 0; z-index: 2; width: 100% !important; min-width: 0 !important; min-height: 100%; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important;
	background: var(--wp--preset--color--base) !important; overflow-y: auto; animation: eco-menu-in .2s ease-out;
}
.eco-header__nav .is-menu-open .eco-menu-open > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 1.1rem !important; font-weight: 500; }
.eco-header__nav .is-menu-open .eco-menu-back button { width: 100%; padding: 1rem 1.1rem; border: 0; background: var(--wp--preset--color--sand); color: inherit; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.eco-header__nav .is-menu-open .eco-menu-back button::before { content: "‹"; margin-right: .6rem; font-size: 1.3em; line-height: 1; }
.eco-header__nav .is-menu-open .eco-menu-all .wp-block-navigation-item__content { color: var(--wp--preset--color--accent-strong) !important; font-weight: 700 !important; }
@keyframes eco-menu-in { from { transform: translateX(12%); opacity: .4; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .eco-header__nav .eco-menu-open > .wp-block-navigation__submenu-container { animation: none; } }

/* 3. Sections & home -------------------------------------------------------------------------------------- */
.eco-section { margin-block: var(--wp--preset--spacing--60); }
.eco-section__title { margin-block-end: var(--wp--preset--spacing--40); }
.eco-hero { color: #fff; }
.eco-hero--plain, .eco-hero--product { color: var(--wp--preset--color--contrast); }
.eco-hero .wp-block-cover__inner-container { max-width: var(--wp--style--global--wide-size); }
.eco-hero__title { max-width: 14ch; font-size: var(--wp--preset--font-size--huge); color: inherit; }
.eco-hero__text { max-width: 46ch; font-size: var(--wp--preset--font-size--large); }
.eco-hero--plain .wp-block-cover__background { background: radial-gradient(55% 85% at 78% 35%, rgba(244, 199, 122, .55), transparent 65%), linear-gradient(120deg, var(--wp--preset--color--surface), var(--wp--preset--color--sand)) !important; opacity: 1 !important; }
.eco-hero:not(.eco-hero--plain, .eco-hero--product) .wp-block-button__link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.eco-hero:not(.eco-hero--plain, .eco-hero--product) .wp-block-button__link:hover { background: var(--wp--preset--color--glow); color: var(--wp--preset--color--contrast); }

.eco-benefits { margin-block: var(--wp--preset--spacing--50); }
.eco-benefit { padding: 1.25rem 1.25rem 1rem; border-top: 3px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--surface); border-radius: 0 0 var(--eco-radius) var(--eco-radius); }
.eco-benefit h3 { margin: 0 0 .35rem; }
.eco-benefit p { margin: 0; color: var(--wp--preset--color--muted); }

.eco-tiles { gap: 1rem; }
.eco-tile { position: relative; overflow: hidden; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.eco-tile .wp-block-image { margin: 0; }
.eco-tile img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .5s ease; }
.eco-tiles--rooms .eco-tile img, .eco-tiles--collections .eco-tile img { aspect-ratio: 4 / 3; }
.eco-tile:hover img { transform: scale(1.04); }
.eco-tile__label { position: absolute; inset: auto 0 0 0; margin: 0; padding: 2.5rem 1rem 1rem; background: linear-gradient(transparent, rgba(0, 0, 0, .65)); }
.eco-tile__label a { color: #fff; font-weight: 700; text-decoration: none; }
.eco-tile__label a::after { content: ""; position: absolute; inset: 0; } /* the whole tile is clickable */

.eco-brands__logos { gap: 1rem; align-items: center; }
.eco-brand { margin: 0; padding: 1rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: #fff; }
.eco-brand img { width: 100%; height: 56px; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.eco-brand:hover img { filter: none; opacity: 1; }
.eco-newsletter-box { padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); border-radius: var(--eco-radius); }
.eco-newsletter-box .eco-newsletter__form { margin-inline: auto; }
.eco-newsletter-box .eco-form__help { text-align: center; }

/* 4. Product lists -------------------------------------------------------------------------------------- */
.eco-toolbar { padding-block: .75rem; border-block: 1px solid var(--eco-line); }
.eco-toolbar p, .eco-toolbar form { margin: 0; }
.eco-toolbar select { padding: .45rem 2rem .45rem .75rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background-color: #fff; font: inherit; }
.eco-per-page { display: flex; align-items: center; gap: .5rem; }
.eco-term-description { margin-top: var(--wp--preset--spacing--60) !important; padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--eco-line); color: var(--wp--preset--color--muted); }

.eco-card { display: flex; flex-direction: column; height: 100%; gap: .5rem; }
.eco-card__media { position: relative; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); overflow: hidden; }
.eco-card__media .wc-block-components-product-image { margin: 0 !important; }
.eco-card__media img { width: 100%; aspect-ratio: 1; object-fit: contain !important; padding: 8%; box-sizing: border-box; mix-blend-mode: multiply; transition: transform .4s ease; }
.eco-card:hover .eco-card__media img { transform: scale(1.04); }
.eco-card__tools { position: absolute; top: .6rem; right: .6rem; opacity: .9; }
.eco-card__title { margin: .25rem 0 0; line-height: 1.35; font-weight: 600; }
.eco-card__title a { text-decoration: none; }
.eco-card__title a:hover { color: var(--wp--preset--color--accent-strong); }
.eco-card__price { margin: 0; }
.eco-card__button { margin-top: auto !important; }
.eco-card__button .wp-block-button__link, .eco-card__button .wc-block-components-product-button__button { width: 100%; }
.eco-card__button.wc-block-components-product-button { align-items: stretch; }
/* After adding, the button says "1 în coș" and the header cart shows the count; WooCommerce's extra "Vezi coșul" link
   would make this card taller than the others. */
.eco-card .eco-card__button :has(> .added_to_cart), .eco-card .eco-card__button .added_to_cart { display: none; }
.wc-block-components-product-sale-badge, .wc-block-components-product-image .wc-block-components-product-sale-badge {
	border: 0 !important; border-radius: 999px !important; background: var(--wp--preset--color--accent-strong) !important; color: #fff !important;
	font-size: 11px !important; letter-spacing: .04em; padding: .2rem .6rem !important;
}
.eco-pagination { margin-top: var(--wp--preset--spacing--50); }
.eco-pagination .page-numbers { min-width: 2.25rem; padding: .35rem .6rem; border-radius: var(--eco-radius); text-align: center; text-decoration: none; }
.eco-pagination .page-numbers.current { background: var(--wp--preset--color--accent-strong); color: #fff; }

/* Wishlist / compare buttons (blocks of the eco-lustre-core plugin) */
.eco-list-toggle {
	display: inline-flex; align-items: center; gap: .4rem; padding: .45rem; border: 1px solid var(--eco-line); border-radius: 999px;
	background: #fff; color: var(--wp--preset--color--contrast); font: inherit; font-size: var(--wp--preset--font-size--x-small); cursor: pointer;
	transition: color .15s, border-color .15s, background .15s;
}
.eco-list-toggle:hover { border-color: var(--wp--preset--color--contrast); }
.eco-list-toggle[aria-pressed="true"] { color: var(--wp--preset--color--accent-strong); border-color: currentColor; }
.eco-list-toggle--wishlist[aria-pressed="true"] svg { fill: currentColor; }
.eco-list-toggle[aria-busy="true"] { opacity: .5; }
.eco-product__actions .eco-list-toggle { padding: .55rem .9rem; }

/* 5. Product page --------------------------------------------------------------------------------------- */
.eco-product { gap: clamp(1.25rem, 2.5vw, 2.5rem); align-items: flex-start; }
.eco-product__gallery .woocommerce-product-gallery__image img { width: 100%; }
.eco-product .eco-product__gallery .wp-block-woocommerce-product-image-gallery { max-width: none; } /* WooCommerce limits it to 512px */
.eco-product__gallery .woocommerce-product-gallery { background: var(--wp--preset--color--surface); border-radius: var(--eco-radius); }
.eco-product__gallery .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.eco-product__gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-top: .5rem !important; }
.eco-product__gallery .flex-control-thumbs li { width: auto !important; }
.eco-product__gallery .flex-control-thumbs img { border: 1px solid var(--eco-line); border-radius: 4px; background: #fff; }
.eco-product__summary { position: sticky; top: calc(var(--wp--custom--header--height) + 7rem); }
.eco-product__summary > * { margin-block: 0 1rem; }
.eco-product__price { margin-block: .25rem .75rem; }
.eco-product__ids { gap: .25rem 1.25rem; color: var(--wp--preset--color--muted); }
.eco-product__ids > * { margin: 0; }
.eco-product__ids .wp-block-post-terms a { color: var(--wp--preset--color--contrast); }
/* Key specifications next to the price (block eco-lustre/key-specs) */
.eco-key-specs { list-style: none; margin: 0 0 1.25rem; padding: .75rem 1rem; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.eco-key-specs li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px dashed var(--eco-line); font-size: var(--wp--preset--font-size--small); }
.eco-key-specs li:last-child { border-bottom: 0; }
.eco-key-specs__label { color: var(--wp--preset--color--muted); }
.eco-key-specs__value { font-weight: 700; text-align: right; }
.eco-product__summary .stock { font-weight: 600; }
.eco-product__summary .stock.in-stock { color: #2e7d32; }
.eco-product__summary .stock.out-of-stock { color: var(--wp--preset--color--accent-strong); }
.eco-product__summary form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.eco-product__summary form.cart .quantity input { box-sizing: border-box; width: 4.5rem; height: 100%; padding: .6rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); text-align: center; }
.eco-product__summary form.cart .single_add_to_cart_button { flex: 1 1 auto; padding-block: .95rem; }
.eco-product__meta { padding-top: 1rem; border-top: 1px solid var(--eco-line); color: var(--wp--preset--color--muted); }
.eco-product__details { margin-top: var(--wp--preset--spacing--60) !important; }
.eco-product__details .wc-tabs { display: flex; flex-wrap: wrap; gap: .25rem; padding: 0 !important; border-bottom: 1px solid var(--eco-line); }
.eco-product__details .wc-tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.eco-product__details .wc-tabs li a { display: block; padding: .75rem 1.25rem !important; text-decoration: none; font-weight: 600; color: var(--wp--preset--color--muted) !important; }
.eco-product__details .wc-tabs li.active a { color: var(--wp--preset--color--contrast) !important; box-shadow: inset 0 -2px 0 var(--wp--preset--color--accent); }
.eco-product__details .woocommerce-Tabs-panel { padding-top: 1.5rem; max-width: 900px; }
.eco-product__details .woocommerce-Tabs-panel--description > h2:first-child { display: none; } /* the tab already says it */
/* Specifications table (description section), alternate rows like the large stores */
.eco-specs__title { margin-top: var(--wp--preset--spacing--50); }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); overflow: hidden; }
.woocommerce-product-attributes tr:nth-child(odd) { background: var(--wp--preset--color--surface); }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: .65rem 1rem; border-bottom: 1px solid var(--eco-line); text-align: left; vertical-align: top; font-size: var(--wp--preset--font-size--small); }
.woocommerce-product-attributes th { width: 40%; font-weight: 500; color: var(--wp--preset--color--muted); }
.woocommerce-product-attributes td { font-weight: 600; }
.woocommerce-product-attributes td p { margin: 0; }
.eco-related:not(:has(.wc-block-product)) { display: none; }
.eco-lowest-price { display: block; margin-top: .25rem; font-size: .8125rem; font-weight: 400; color: var(--wp--preset--color--muted); }
.eco-guarantee-link { font-weight: 600; }

/* 6. Cart, account, forms, comparison -------------------------------------------------------------------- */
.eco-notice { padding: 1rem 1.25rem; border-left: 3px solid var(--wp--preset--color--accent); border-radius: 0 var(--eco-radius) var(--eco-radius) 0; background: var(--wp--preset--color--surface); font-size: var(--wp--preset--font-size--small); }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], textarea, select {
	padding: .7rem .85rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: #fff; font: inherit; color: inherit;
}
.wp-element-button.is-style-outline, .is-style-outline > .wp-element-button { background: transparent; color: var(--wp--preset--color--contrast); box-shadow: inset 0 0 0 1px currentColor; }

/* 7. Footer --------------------------------------------------------------------------------------------- */
.eco-footer { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); }
.eco-footer a { color: inherit; }
.eco-footer a:hover { color: var(--wp--preset--color--accent-strong); }
.eco-footer__title { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eco-footer__columns { gap: var(--wp--preset--spacing--50); }
.eco-footer__links { list-style: none; padding: 0; font-size: var(--wp--preset--font-size--small); }
.eco-footer__links li { margin-bottom: .5rem; }
.eco-footer__links a, .eco-footer__menu a { text-decoration: none; }
.eco-footer__menu { font-weight: 400; gap: .5rem; }
.eco-footer__separator { margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important; border-color: var(--eco-line) !important; opacity: 1; }
.eco-footer .eco-legal-info { color: var(--wp--preset--color--muted); }
.eco-footer .eco-legal-info strong, .eco-footer .eco-legal-info a { color: var(--wp--preset--color--contrast); }
.eco-footer .eco-form__help { color: var(--wp--preset--color--muted); }
.eco-footer__copyright { margin-top: var(--wp--preset--spacing--40); color: var(--wp--preset--color--muted); }

/* 8. Small screens -------------------------------------------------------------------------------------- */
@media (max-width: 781px) {
	.eco-topbar__contact { display: none; }
	.eco-header__main { flex-wrap: wrap !important; }
	.eco-header__logo { order: 1; }
	.eco-header__logo img { width: 130px !important; }
	.eco-header__icons { order: 2; }
	.eco-header__search { order: 3; flex-basis: 100%; max-width: none; }
	.eco-list-link--compare:has(.eco-list-link__count[hidden]) { display: none !important; } /* shown once a product is added */
	.eco-products .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.eco-card__button .wc-block-components-product-button__button { font-size: 12px; padding-inline: .5rem; }
	.eco-product__summary { position: static; }
	.eco-site-header { position: static; }
	.eco-hero__title { font-size: var(--wp--preset--font-size--xx-large); }
}

/* Subcategories with images, at the top of a category page (block eco-lustre/subcategories) */
.eco-subcategories ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.eco-subcategories a { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: .5rem; height: 100%; padding: .75rem .5rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: #fff; text-align: center; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.eco-subcategories a:hover { border-color: var(--wp--preset--color--accent); box-shadow: var(--eco-shadow); }
.eco-subcategories__image { display: block; width: 100%; aspect-ratio: 1; border-radius: 4px; background: var(--wp--preset--color--surface); overflow: hidden; }
.eco-subcategories__image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 8%; box-sizing: border-box; }
.eco-subcategories__name { font-size: var(--wp--preset--font-size--small); font-weight: 600; line-height: 1.3; }
@media (max-width: 781px) {
	/* On phones the subcategories scroll sideways, so the products stay close to the top. */
	.eco-subcategories ul { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
	.eco-subcategories li { flex: 0 0 7.5rem; scroll-snap-align: start; }
}

/* Free delivery progress (cart) */
.eco-free-shipping {
	padding: 0.9rem 1.1rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	background: var(--wp--preset--color--surface);
}
.eco-free-shipping[hidden] { display: none; }
.eco-free-shipping__text { margin: 0 0 0.6rem; font-weight: 600; }
.eco-free-shipping__bar {
	height: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--wp--preset--color--sand);
}
.eco-free-shipping__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--wp--preset--color--accent);
	transition: width 0.3s ease;
}
.eco-free-shipping.is-reached .eco-free-shipping__bar span { background: #2f8a4c; }

/* Home hero with a product photo (when there is no slideshow image) */
.eco-hero--product {
	padding-block: clamp(2rem, 5vw, 4.5rem);
	background: radial-gradient(50% 80% at 75% 40%, rgba(244, 199, 122, .45), transparent 70%), linear-gradient(120deg, var(--wp--preset--color--surface), var(--wp--preset--color--sand)) !important;
}
.eco-hero--product .eco-hero__columns { gap: clamp(1.5rem, 4vw, 4rem); }
.eco-hero__image { margin: 0; }
.eco-hero__image a { display: block; }
.eco-hero__image img { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: var(--eco-radius); box-shadow: 0 24px 48px -28px rgba(51, 41, 31, .45); }

/* Tiles with a product photo (when the banner image is not available): the whole object on white, the name below */
.eco-tile--photo { display: flex; flex-direction: column; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); }
.eco-tile--photo img { aspect-ratio: 1; object-fit: contain; padding: 1rem; }
.eco-tile--photo .eco-tile__label { position: static; padding: .75rem 1rem 1rem; background: none; text-align: center; }
.eco-tile--photo .eco-tile__label a { color: var(--wp--preset--color--contrast); }
.eco-tile--photo:hover { border-color: var(--wp--preset--color--accent); }
@media (max-width: 600px) {
	.eco-section .eco-tiles.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.eco-tile--photo img { padding: .5rem; }
	.eco-tile--photo .eco-tile__label { padding: .5rem .5rem .75rem; font-size: var(--wp--preset--font-size--small); }
	.eco-hero--product { padding-block: 1.5rem 1.25rem; }
	.eco-hero--product .eco-hero__image img { height: 150px; }
	.eco-hero--product .eco-hero__columns { gap: 1rem; }
	.eco-hero--product .eco-hero__title { margin-bottom: .5rem; font-size: 1.9rem; }
	.eco-hero--product .eco-hero__text { margin-block: 0 1rem; font-size: var(--wp--preset--font-size--small); }
	/* Home on a phone: benefits and categories scroll sideways, so the products come into view sooner */
	.eco-benefits { margin-block: 1rem; }
	.eco-benefits > .is-layout-grid { display: flex; gap: .75rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.eco-benefit { flex: 0 0 68%; padding: .75rem .9rem; scroll-snap-align: start; }
	.eco-benefit h3 { font-size: var(--wp--preset--font-size--small) !important; }
	.eco-benefit p { font-size: 13px !important; line-height: 1.4; }
	.eco-tiles--categories .eco-tiles.is-layout-grid { display: flex; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.eco-tiles--categories .eco-tile { flex: 0 0 36%; scroll-snap-align: start; }
}


/* Catalogues on a brand page */
.eco-brand-catalogs { margin-block: 0 var(--wp--preset--spacing--50); padding: 1.25rem; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.eco-brand-catalogs__title { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--large); }
.eco-brand-catalogs__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.eco-catalog { position: relative; display: flex; flex-direction: column; gap: .4rem; height: 100%; color: var(--wp--preset--color--contrast); text-decoration: none; }
.eco-catalog__cover { display: block; overflow: hidden; aspect-ratio: 3 / 4; border-radius: 6px; background: var(--wp--preset--color--base); box-shadow: 0 10px 24px -16px rgba(51, 41, 31, .5); transition: transform .3s ease; }
.eco-catalog:hover .eco-catalog__cover { transform: translateY(-3px); }
.eco-catalog__cover img { width: 100%; height: 100%; object-fit: cover; }
.eco-catalog__placeholder { display: flex; flex-direction: column; justify-content: space-between; height: 100%; padding: 1rem; box-sizing: border-box; background: radial-gradient(80% 60% at 80% 15%, rgba(244, 199, 122, .6), transparent 70%), linear-gradient(160deg, var(--wp--preset--color--sand), var(--wp--preset--color--base)); }
.eco-catalog__brand { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); line-height: 1.15; }
.eco-catalog__label { align-self: flex-start; padding: .15rem .55rem; border-radius: 999px; background: var(--wp--preset--color--accent-strong); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.eco-catalog__name { font-size: var(--wp--preset--font-size--small); font-weight: 600; line-height: 1.35; }
.eco-catalog__open { margin-top: auto; color: var(--wp--preset--color--accent-strong); font-size: var(--wp--preset--font-size--x-small); font-weight: 700; }
@media (max-width: 600px) {
	.eco-brand-catalogs__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.eco-brand-catalogs__list li { flex: 0 0 42%; scroll-snap-align: start; }
}

/* My Account: side menu with icons, the dashboard as cards; on a phone the cards are the menu */
.eco-account-icon--dashboard, .woocommerce-MyAccount-navigation-link--dashboard a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%2F%3E%3Crect%20x%3D%2213%22%20y%3D%224%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%2213%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%2F%3E%3Crect%20x%3D%2213%22%20y%3D%2213%22%20width%3D%227%22%20height%3D%227%22%20rx%3D%221.5%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--orders, .woocommerce-MyAccount-navigation-link--orders a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%208h14l-1.2%2012H6.2L5%208z%22%2F%3E%3Cpath%20d%3D%22M9%208V6.5a3%203%200%200%201%206%200V8%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--edit-address, .woocommerce-MyAccount-navigation-link--edit-address a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%2021s-7-6.2-7-11.5a7%207%200%200%201%2014%200C19%2014.8%2012%2021%2012%2021z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--edit-account, .woocommerce-MyAccount-navigation-link--edit-account a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021c1.5-4%204.5-6%208-6s6.5%202%208%206%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--favorite, .woocommerce-MyAccount-navigation-link--favorite a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%2020.5s-7.5-4.6-9.2-9.4C1.6%207.6%203.9%204.5%207.2%204.5c2%200%203.6%201.1%204.8%202.8%201.2-1.7%202.8-2.8%204.8-2.8%203.3%200%205.6%203.1%204.4%206.6-1.7%204.8-9.2%209.4-9.2%209.4z%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--date-personale, .woocommerce-MyAccount-navigation-link--date-personale a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%204.5-3.4%208.2-8%209-4.6-.8-8-4.5-8-9V6l8-3z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--customer-logout, .woocommerce-MyAccount-navigation-link--customer-logout a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M15%204h4v16h-4%22%2F%3E%3Cpath%20d%3D%22M10%208l-4%204%204%204%22%2F%3E%3Cpath%20d%3D%22M6%2012h10%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon--downloads, .woocommerce-MyAccount-navigation-link--downloads a { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%204v11%22%2F%3E%3Cpath%20d%3D%22M8%2011l4%204%204-4%22%2F%3E%3Cpath%20d%3D%22M5%2020h14%22%2F%3E%3C%2Fsvg%3E"); }
.eco-account-icon, .woocommerce-MyAccount-navigation-link a::before { flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--eco-icon, none) center / contain no-repeat; mask: var(--eco-icon, none) center / contain no-repeat; }
.woocommerce-MyAccount-navigation-link a::before { content: ""; }
.woocommerce-account .eco-main--account .woocommerce { max-width: none; } /* WooCommerce: 1000px, centred separately */
.eco-main--account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.eco-main--account .woocommerce .woocommerce-MyAccount-navigation, .eco-main--account .woocommerce .woocommerce-MyAccount-content { float: none; width: auto; margin: 0; }
.eco-main--account .woocommerce:has(> .woocommerce-MyAccount-navigation) > * { grid-column: 1 / -1; } /* notices WooCommerce prints around the account */
.eco-main--account .woocommerce:has(> .woocommerce-MyAccount-navigation) > :empty { display: none; }
.eco-main--account .woocommerce .woocommerce-MyAccount-navigation { grid-column: 1; }
.eco-main--account .woocommerce .woocommerce-MyAccount-content { grid-column: 2; }
.eco-main--account .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; margin: 0; padding: .4rem; list-style: none; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.eco-main--account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; }
.eco-main--account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: .7rem; padding: .65rem .8rem; border-radius: 8px; color: var(--wp--preset--color--contrast); font-weight: 500; text-decoration: none; }
.eco-main--account .woocommerce-MyAccount-navigation li a:hover { background: var(--wp--preset--color--sand); }
.eco-main--account .woocommerce-MyAccount-navigation li.is-active a { background: var(--wp--preset--color--base); color: var(--wp--preset--color--accent-strong); font-weight: 700; box-shadow: 0 1px 4px rgba(51, 41, 31, .12); }
.eco-main--account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: .3rem !important; padding-top: .3rem !important; border-top: 1px solid var(--eco-line) !important; }
.eco-main--account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--wp--preset--color--muted); }
.eco-main--account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.eco-account-tiles ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.eco-account-tile { display: flex; align-items: flex-start; gap: .9rem; height: 100%; padding: 1.1rem; box-sizing: border-box; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.eco-account-tile:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 10px 24px -18px rgba(51, 41, 31, .5); }
.eco-account-tile__icon { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: var(--wp--preset--color--sand); color: var(--wp--preset--color--accent-strong); }
.eco-account-tile__icon .eco-account-icon { width: 22px; height: 22px; }
.eco-account-tile__text { display: grid; gap: .2rem; }
.eco-account-tile__name { font-weight: 700; }
.eco-account-tile__desc { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); line-height: 1.45; }
.eco-account-tile--customer-logout { background: var(--wp--preset--color--surface); }
.eco-account-back { display: none; }
@media (max-width: 781px) {
	.eco-main--account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: block; }
	.eco-main--account .woocommerce-MyAccount-navigation { display: none; }
	.eco-account-tiles ul { grid-template-columns: 1fr; gap: .6rem; }
	.eco-account-tile { align-items: center; padding: .85rem 1rem; }
	.eco-account-tile::after { content: "›"; margin-left: auto; color: var(--wp--preset--color--muted); font-size: 1.5rem; line-height: 1; }
	.eco-account-back { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: 1.25rem; padding: .45rem .9rem; border: 1px solid var(--eco-line); border-radius: 999px; color: var(--wp--preset--color--contrast); font-size: var(--wp--preset--font-size--small); font-weight: 600; text-decoration: none; }
}

/* Wishlist (My Account → Favorite): cards like the product lists */
.eco-saved { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1.25rem 1rem; margin: 0; padding: 0; list-style: none; }
.eco-saved__item { position: relative; display: flex; flex-direction: column; gap: .35rem; }
.eco-saved__media { display: block; overflow: hidden; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.eco-saved__media img { display: block; width: 100%; aspect-ratio: 1; padding: 8%; box-sizing: border-box; object-fit: contain; mix-blend-mode: multiply; }
.eco-saved__remove, .eco-compare__remove { position: absolute; top: .5rem; right: .5rem; z-index: 1; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; padding: 0 !important; border-radius: 999px; background: var(--wp--preset--color--base); box-shadow: 0 1px 4px rgba(51, 41, 31, .18); color: var(--wp--preset--color--contrast) !important; }
.eco-saved__remove:hover, .eco-compare__remove:hover { color: var(--wp--preset--color--accent-strong) !important; }
.eco-saved__remove .eco-icon, .eco-compare__remove .eco-icon { width: 16px; height: 16px; }
.eco-saved__name { margin-top: .25rem; color: var(--wp--preset--color--contrast); font-size: var(--wp--preset--font-size--small); font-weight: 600; line-height: 1.35; text-decoration: none; }
.eco-saved__name:hover { color: var(--wp--preset--color--accent-strong); }
.eco-saved__price { font-weight: 700; }
.eco-saved__stock { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.eco-saved__stock.is-in-stock { color: #2e7d32; }
.eco-saved__buy { margin-top: auto; padding: .6rem .8rem !important; font-size: var(--wp--preset--font-size--x-small) !important; text-align: center; }
.eco-saved__buy--outline { border: 1px solid var(--eco-line); border-radius: var(--eco-radius); color: var(--wp--preset--color--contrast); font-weight: 600; text-decoration: none; }

/* Comparison: product header (photo, name, add to cart, remove), the labels column stays in view when scrolling */
.eco-compare__scroll { overflow-x: auto; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); }
.eco-compare__table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--wp--preset--font-size--small); } /* wider than the screen: it scrolls inside its frame */
.eco-compare__table th, .eco-compare__table td { width: 220px; padding: .7rem 1rem; border-bottom: 1px solid var(--eco-line); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.eco-compare__table tr > :first-child { position: sticky; left: 0; z-index: 2; width: 170px; background: var(--wp--preset--color--surface); box-shadow: 1px 0 0 var(--eco-line); }
.eco-compare__table tbody th { font-weight: 600; }
.eco-compare__table tbody tr:last-child > * { border-bottom: 0; }
.eco-compare__table thead th { vertical-align: bottom; }
.eco-compare__product { position: relative; }
.eco-compare__product > a:not(.wp-element-button) { display: block; color: var(--wp--preset--color--contrast); font-weight: 600; line-height: 1.35; text-decoration: none; }
.eco-compare__product > a:not(.wp-element-button):hover { color: var(--wp--preset--color--accent-strong); }
.eco-compare__product img { display: block; width: 100%; aspect-ratio: 1; margin-bottom: .6rem; object-fit: contain; }
.eco-compare__buy { display: block; margin-top: .75rem; padding: .55rem .8rem !important; font-size: var(--wp--preset--font-size--x-small) !important; text-align: center; }
.eco-compare__remove { top: 1.2rem; right: 1.5rem; }
@media (max-width: 781px) {
	.eco-saved { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .75rem; }
	.eco-compare__table th, .eco-compare__table td { width: 150px; padding: .6rem .7rem; font-size: 13px; }
	.eco-compare__table tr > :first-child { width: 96px; }
	.eco-compare__remove { top: 1rem; right: 1rem; width: 1.9rem; height: 1.9rem; }
}

/* Category tiles (home page): white cards, rows of --eco-columns, the last row centred */
.eco-category-tiles { --eco-gap: 1rem; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--eco-gap); margin: 0; padding: 0; list-style: none; }
.eco-category-tiles > li { flex: 0 1 calc((100% - (var(--eco-columns, 5) - 1) * var(--eco-gap)) / var(--eco-columns, 5)); }
.eco-category-tile { box-sizing: border-box; display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: #fff; color: var(--wp--preset--color--contrast); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.eco-category-tile:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 12px 28px -20px rgba(51, 41, 31, .5); }
.eco-category-tile__media { display: block; overflow: hidden; aspect-ratio: 1; } /* overflow: keeps the square whatever the photo */
.eco-category-tile__media img { display: block; width: 100%; height: 100%; padding: 10%; box-sizing: border-box; object-fit: contain; transition: transform .4s ease; }
.eco-category-tile:hover .eco-category-tile__media img { transform: scale(1.04); }
.eco-category-tile__name { padding: .5rem 1rem 1rem; font-weight: 700; text-align: center; }
@media (max-width: 1024px) {
	.eco-category-tiles > li { flex-basis: calc((100% - 2 * var(--eco-gap)) / 3); }
}
@media (max-width: 600px) {
	.eco-category-tiles { --eco-gap: .6rem; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.eco-category-tiles > li { flex: 0 0 38%; scroll-snap-align: start; }
	.eco-category-tile__name { padding: .4rem .5rem .7rem; font-size: var(--wp--preset--font-size--small); }
}

/* Catalogues page: by brand, the logo (or the name) linking to the products, then the catalogues */
.eco-catalogs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--50); } /* minmax: the scrolling lists must not widen the page */
.eco-catalogs__brand { padding: 1.25rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: var(--wp--preset--color--base); }
.eco-catalogs__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.eco-catalogs__logo { display: flex; align-items: center; height: 56px; color: var(--wp--preset--color--contrast); text-decoration: none; }
.eco-catalogs__logo img { width: auto; max-width: 200px; height: 100%; object-fit: contain; }
.eco-catalogs__logo--name { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); }
.eco-catalogs__products { color: var(--wp--preset--color--accent-strong); font-size: var(--wp--preset--font-size--small); font-weight: 700; text-decoration: none; }
.eco-catalogs__products:hover { text-decoration: underline; }
.eco-catalogs .eco-brand-catalogs__list { grid-template-columns: repeat(auto-fill, minmax(150px, 180px)); }
@media (max-width: 600px) {
	.eco-catalogs__brand { padding: 1rem; }
	.eco-catalogs__logo { height: 44px; }
	.eco-catalogs .eco-brand-catalogs__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.eco-catalogs .eco-brand-catalogs__list li { flex: 0 0 42%; scroll-snap-align: start; }
}
@media (min-width: 900px) {
	.eco-catalogs { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } /* two brands per row */
}

/* Category pages: filters on the side (a button that opens them on a phone), products on the right */
.eco-catalog-layout { gap: 2rem; align-items: flex-start; }
.eco-catalog-layout > .wp-block-column { min-width: 0; } /* the price slider must not widen the column */
.eco-filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.eco-filters .eco-filter__title { margin: 0 0 .6rem !important; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.eco-filters .wc-block-product-filter-checkbox-list { max-height: 15rem; overflow-y: auto; padding: .25rem 0; border: 0 !important; }
.eco-filters .wc-block-product-filter-checkbox-list__label { font-size: var(--wp--preset--font-size--small); }
.eco-filters .wc-block-product-filter-clear-button .wp-block-button__link { padding: .45rem .9rem; font-size: var(--wp--preset--font-size--x-small); }
@media (max-width: 781px) {
	.eco-catalog-layout { gap: .5rem; }
	.eco-catalog-layout__filters { flex-basis: auto !important; }
}

/* Search suggestions under the header search field */
.eco-suggest { position: absolute; top: calc(100% + .4rem); left: 0; right: 0; z-index: 60; max-height: min(70vh, 32rem); overflow-y: auto; padding: .5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: var(--wp--preset--color--base); box-shadow: 0 18px 40px -20px rgba(51, 41, 31, .45); }
.eco-suggest[hidden] { display: none; }
.eco-suggest__title { margin: .4rem .5rem .2rem; color: var(--wp--preset--color--muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.eco-suggest__item { display: flex; align-items: center; gap: .75rem; padding: .45rem .5rem; border-radius: 8px; color: var(--wp--preset--color--contrast); text-decoration: none; }
.eco-suggest__item:hover, .eco-suggest__item.is-active { background: var(--wp--preset--color--surface); }
.eco-suggest__image { flex: none; width: 48px; height: 48px; border-radius: 6px; background: #fff; overflow: hidden; }
.eco-suggest__image img { width: 100%; height: 100%; object-fit: contain; }
.eco-suggest__text { display: grid; gap: .1rem; min-width: 0; }
.eco-suggest__name { overflow: hidden; font-size: var(--wp--preset--font-size--small); line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.eco-suggest__price { font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.eco-suggest__item--term { justify-content: space-between; }
.eco-suggest__count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.eco-suggest__all { display: block; width: 100%; margin-top: .4rem; padding: .6rem; border: 0; border-top: 1px solid var(--wp--preset--color--line); background: none; color: var(--wp--preset--color--accent-strong); font: inherit; font-size: var(--wp--preset--font-size--small); font-weight: 700; cursor: pointer; }
.eco-suggest__none { margin: .5rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }

/* Customer reviews (home page) and the photos of a review */
.eco-reviews { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.eco-review { display: flex; flex-direction: column; gap: .9rem; padding: 1.25rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: var(--wp--preset--color--base); }
.eco-review__body { display: grid; gap: .6rem; margin: 0; }
.eco-review__stars { margin: 0; color: #d99a1e; font-size: 1.05rem; letter-spacing: .1em; }
.eco-review__text { margin: 0; padding: 0; border: 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--medium); line-height: 1.45; }
.eco-review__text::before { content: "„"; }
.eco-review__text::after { content: "”"; }
.eco-review__author { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.eco-review__verified { padding: .1rem .5rem; border-radius: 999px; background: #e7f3ea; color: #2e7d32; font-size: 11px; font-weight: 700; }
.eco-review__product { display: flex; align-items: center; gap: .6rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); text-decoration: none; }
.eco-review__product img { flex: none; width: 44px; height: 44px; object-fit: contain; border-radius: 6px; background: #fff; }
.eco-review__product:hover span { color: var(--wp--preset--color--accent-strong); text-decoration: underline; }
.eco-review-photos { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.eco-review-photos img { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: 6px; }
.comment-form-eco-photos input[type="file"] { display: block; margin: .4rem 0; }
.comment-form-eco-photos .description { display: block; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }

/* The four advantages of the home page: an icon each */
.eco-benefit--delivery { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%207h11v9H3zM14%2010h4l3%203v3h-7%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2217.5%22%20r%3D%221.8%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217.5%22%20r%3D%221.8%22%2F%3E%3C%2Fsvg%3E"); }
.eco-benefit--guarantee { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%204.5-3.4%208.2-8%209-4.6-.8-8-4.5-8-9V6l8-3z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E"); }
.eco-benefit--advice { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%205h16v11H9l-5%204z%22%2F%3E%3Cpath%20d%3D%22M8%209h8M8%2012h5%22%2F%3E%3C%2Fsvg%3E"); }
.eco-benefit--showroom { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2010l8-6%208%206v10H4z%22%2F%3E%3Cpath%20d%3D%22M9%2020v-6h6v6%22%2F%3E%3C%2Fsvg%3E"); }
.eco-benefit { position: relative; padding-left: 4.25rem !important; }
.eco-benefit::before { content: ""; position: absolute; top: 1.25rem; left: 1.25rem; width: 2.25rem; height: 2.25rem; border-radius: 999px; background: var(--wp--preset--color--sand); }
.eco-benefit::after { content: ""; position: absolute; top: 1.75rem; left: 1.75rem; width: 1.25rem; height: 1.25rem; background: var(--wp--preset--color--accent-strong); -webkit-mask: var(--eco-icon) center / contain no-repeat; mask: var(--eco-icon) center / contain no-repeat; }
@media (max-width: 600px) {
	.eco-benefit { padding-left: 3.5rem !important; }
	.eco-benefit::before { top: .8rem; left: .8rem; width: 2rem; height: 2rem; }
	.eco-benefit::after { top: 1.25rem; left: 1.25rem; width: 1.1rem; height: 1.1rem; }
}

/* The store in numbers, under the hero */
.eco-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1rem; margin-block: var(--wp--preset--spacing--40) 0; padding: 0; list-style: none; text-align: center; }
.eco-stats li { display: grid; gap: .15rem; padding: .5rem; }
.eco-stats__value { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xx-large); line-height: 1.1; color: var(--wp--preset--color--accent-strong); }
.eco-stats__label { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
@media (max-width: 600px) {
	.eco-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; }
	.eco-stats__value { font-size: var(--wp--preset--font-size--x-large); }
}

/* Brand logos on the home page */
.eco-brand-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.eco-brand-logo { display: grid; place-items: center; height: 84px; padding: .75rem 1rem; box-sizing: border-box; border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: #fff; color: var(--wp--preset--color--contrast); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.eco-brand-logo:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 10px 24px -18px rgba(51, 41, 31, .5); }
.eco-brand-logo img { max-width: 100%; max-height: 52px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.eco-brand-logo:hover img { filter: none; opacity: 1; }
.eco-brand-logo--name { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); text-align: center; }
@media (max-width: 600px) {
	.eco-brand-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
	.eco-brand-logo { height: 64px; padding: .5rem; }
	.eco-brand-logo--name { font-size: var(--wp--preset--font-size--small); }
}

/* Checkout: secure payment, accepted cards and returns, under "Place order" */
.eco-checkout-trust { display: grid; gap: .5rem; margin: 1rem 0 0; padding: .9rem 1rem; list-style: none; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.eco-checkout-trust li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.eco-checkout-trust__icon { flex: none; color: #2e7d32; }
.eco-checkout-trust__card { padding: .15rem .55rem; border: 1px solid var(--wp--preset--color--line); border-radius: 4px; background: #fff; color: var(--wp--preset--color--contrast); font-weight: 800; letter-spacing: .02em; }
.eco-checkout-trust li { flex-wrap: nowrap; align-items: flex-start; }
.eco-checkout-trust li > span:not(.eco-checkout-trust__card) { flex: 1; }
.eco-checkout-trust__cards { flex-wrap: wrap !important; padding-left: calc(18px + .5rem); }

/* Showroom map (contact page): loaded on request */
.eco-map { overflow: hidden; margin-top: var(--wp--preset--spacing--50); border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: radial-gradient(60% 80% at 80% 20%, rgba(244, 199, 122, .35), transparent 70%), var(--wp--preset--color--surface); }
.eco-map__placeholder { display: grid; place-content: center; gap: .5rem; min-height: 260px; padding: 2rem 1.25rem; text-align: center; }
.eco-map__placeholder p { margin: 0; }
.eco-map__address { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); }
.eco-map__note { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.eco-map__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem 1.25rem; margin-top: .5rem !important; }
.eco-map__open { color: var(--wp--preset--color--accent-strong); font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.eco-map__frame { display: block; width: 100%; height: 420px; border: 0; }
.eco-filters fieldset { min-width: 0; margin: 0; padding: 0; border: 0; } /* the browser's frame and min-content width */
.eco-filters .wc-block-product-filter-price-slider__content { grid-template-columns: minmax(0, 1fr) .6rem minmax(0, 1fr); column-gap: 0; min-width: 0; } /* WooCommerce's areas, with two equal fields instead of their natural width */
.eco-filters .wc-block-product-filter-price-slider__left, .eco-filters .wc-block-product-filter-price-slider__right { min-width: 0; }
.eco-filters .wc-block-product-filter-price-slider__content .text input[type="text"] { width: 100%; max-width: none; min-width: 0; padding: .5rem .6rem; box-sizing: border-box; font-size: var(--wp--preset--font-size--small); }

/* The four advantages: one row on the whole width (two on a tablet; a sideways strip on a phone, above) */
@media (min-width: 601px) {
	.eco-benefits > .is-layout-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 601px) and (max-width: 1024px) {
	.eco-benefits > .is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Contact page: the store's details and the form as cards, the map under the details */
.eco-contact__intro { max-width: 46rem; margin-top: 0; color: var(--wp--preset--color--muted); }
.eco-contact { gap: var(--wp--preset--spacing--50) !important; align-items: flex-start !important; }
.eco-contact__card { padding: 1.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.eco-contact__form .eco-contact__card { background: #fff; box-shadow: 0 12px 32px rgba(43, 33, 24, .07); }
.eco-contact__form h2 { margin-top: 0; }
.eco-contact__form .eco-form form { max-width: none; }
.eco-contact__item { position: relative; min-height: 2.5rem; margin: 0; padding: 0 0 1.1rem 3.5rem; }
.eco-contact__item + .eco-contact__item { padding-top: 1.1rem; border-top: 1px solid var(--wp--preset--color--line); }
.eco-contact__item:last-child { padding-bottom: 0; }
.eco-contact__item strong { font-size: var(--wp--preset--font-size--x-small); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.eco-contact__item a { color: inherit; font-weight: 600; text-decoration: none; }
.eco-contact__item a:hover { color: var(--wp--preset--color--accent-strong); text-decoration: underline; }
.eco-contact__item::before { content: ""; position: absolute; top: 0; left: 0; width: 2.5rem; height: 2.5rem; border-radius: 999px; background: var(--wp--preset--color--sand); }
.eco-contact__item::after { content: ""; position: absolute; top: .6rem; left: .6rem; width: 1.3rem; height: 1.3rem; background: var(--wp--preset--color--accent-strong); -webkit-mask: var(--eco-icon) center / contain no-repeat; mask: var(--eco-icon) center / contain no-repeat; }
.eco-contact__item + .eco-contact__item::before { top: 1.1rem; }
.eco-contact__item + .eco-contact__item::after { top: 1.7rem; }
.eco-contact__item--address { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M12%2021s-7-6.2-7-11.5a7%207%200%200%201%2014%200C19%2014.8%2012%2021%2012%2021z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); }
.eco-contact__item--hours { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E"); }
.eco-contact__item--phone { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M5%204h4l2%205-2.5%201.5a11%2011%200%200%200%205%205L15%2013l5%202v4a2%202%200%200%201-2%202A16%2016%200%200%201%203%206a2%202%200%200%201%202-2z%22%2F%3E%3C%2Fsvg%3E"); }
.eco-contact__item--email { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%207l9%206%209-6%22%2F%3E%3C%2Fsvg%3E"); }
.eco-contact__info .eco-map { margin-top: 1.25rem; }
.eco-contact__info .eco-map__placeholder { min-height: 220px; }
.eco-contact__info .eco-map__frame { height: 360px; }
@media (max-width: 600px) {
	.eco-contact__card { padding: 1.1rem; }
}
.is-layout-constrained > .eco-contact-page.alignwide { max-width: 1120px; }
.eco-contact-page > h1 { margin: 0 0 .75rem; }

/* The page after the order: the account box in the store's colours (inc/order-received.php) */
.wc-block-order-confirmation-create-account { border: 1px solid var(--wp--preset--color--line); border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); }
.wc-block-order-confirmation-create-account .wc-block-order-confirmation-create-account-content h3 { margin-top: 0; }
.wc-block-order-confirmation-create-account .wc-block-components-text-input input { background: #fff; }
.wc-block-order-confirmation-create-account .wc-block-order-confirmation-create-account-content h3 { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); }
.wc-block-order-confirmation-create-account .wc-block-components-text-input input { border-color: var(--wp--preset--color--line); border-radius: var(--eco-radius); }
.wc-block-order-confirmation-create-account .wc-block-components-password-strength.hidden { display: none; } /* shown once the customer types */

/* Listing toolbar: the sorting and "products per page" fields the same height, on one line with their labels */
.eco-toolbar__controls { align-items: center; }
.eco-toolbar .woocommerce-ordering, .eco-toolbar .eco-per-page { display: flex; align-items: center; gap: .5rem; margin: 0; }
.eco-toolbar select { height: 2.6rem; padding: 0 2.25rem 0 .85rem; line-height: 2.6rem; font-size: var(--wp--preset--font-size--small); }
.eco-toolbar .eco-per-page label { margin: 0; line-height: 1; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }

/* My Account: the title on the same width as the account */
.eco-main--account > .wp-block-post-title { width: 100%; max-width: 1120px; margin-inline: auto !important; }

/* My Account → Addresses: a card for each address, every line with its name (woocommerce/myaccount/my-address.php) */
.eco-addresses__intro { margin-top: 0; color: var(--wp--preset--color--muted); }
.eco-addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1.25rem; }
.eco-address-card { padding: 1.25rem 1.5rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: #fff; }
.eco-address-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--eco-line); }
.eco-address-card__head h2 { margin: 0; font-size: var(--wp--preset--font-size--large); }
.eco-address-card__edit { flex: none; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.eco-address-card__lines { display: grid; gap: .55rem; margin: 0; }
.eco-address-card__lines > div { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; }
.eco-address-card__lines dt { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.eco-address-card__lines dd { margin: 0; overflow-wrap: anywhere; }
.eco-address-card__empty { margin: 0 0 1rem; color: var(--wp--preset--color--muted); }

/* Tables of the legal pages (privacy, cookies, delivery…): lines, a header row, the text at the top of each cell */
.eco-legal-page table { width: 100%; margin: 1.25rem 0 1.75rem; border-collapse: separate; border-spacing: 0; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); overflow: hidden; font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.eco-legal-page th, .eco-legal-page td { padding: .75rem .9rem; border: 0; border-bottom: 1px solid var(--eco-line); text-align: left; vertical-align: top; }
.eco-legal-page th { background: var(--wp--preset--color--surface); font-weight: 600; white-space: nowrap; }
.eco-legal-page tr:last-child td { border-bottom: 0; }
.eco-legal-page tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--wp--preset--color--surface) 45%, #fff); }
.eco-legal-page td:first-child { font-weight: 600; }
.eco-legal-page td code { overflow-wrap: anywhere; }
@media (max-width: 700px) {
	.eco-legal-page table { display: block; overflow-x: auto; }
	.eco-legal-page th { white-space: normal; }
}

/* About us (eco-lustre-migration content/pages/despre-noi.html) */
.is-layout-constrained > .eco-about.alignwide { max-width: 1120px; }
.eco-about > h1 { margin: 0 0 1rem; }
.eco-about > p { max-width: 48rem; }
.eco-about__lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; }
.eco-about > h2 { margin-top: var(--wp--preset--spacing--60); }
.eco-about__help { margin-top: var(--wp--preset--spacing--60); padding: 1.75rem; border-radius: var(--eco-radius); background: var(--wp--preset--color--surface); gap: 2.5rem !important; }
.eco-about__help h2 { margin-top: 0; }
.eco-social { position: relative; margin: 0 0 .75rem; }
.eco-social a { display: grid; gap: .1rem; padding: 1rem 1.25rem 1rem 4.25rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.eco-social a:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 8px 22px rgba(43, 33, 24, .08); }
.eco-social span { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.eco-social::before { content: ""; position: absolute; top: 50%; left: 1.1rem; width: 2.25rem; height: 2.25rem; margin-top: -1.125rem; border-radius: 999px; background: var(--eco-social-color, var(--wp--preset--color--accent-strong)); }
.eco-social::after { content: ""; position: absolute; top: 50%; left: 1.6rem; width: 1.25rem; height: 1.25rem; margin-top: -.625rem; background: #fff; -webkit-mask: var(--eco-icon) center / contain no-repeat; mask: var(--eco-icon) center / contain no-repeat; }
.eco-social--facebook { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'black'%3E%3Cpath%20d%3D%22M14%208h3V4h-3c-2.8%200-4.5%201.8-4.5%204.6V11H7v4h2.5v9h4v-9H17l.5-4h-4V8.8c0-.5.3-.8.5-.8z%22%2F%3E%3C%2Fsvg%3E"); --eco-social-color: #1877f2; }
.eco-social--instagram { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%226.5%22%20r%3D%221%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E"); --eco-social-color: #d62976; }
.eco-social--shop { --eco-icon: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.8'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M5%208h14l-1%2012H6L5%208z%22%2F%3E%3Cpath%20d%3D%22M9%208V6a3%203%200%200%201%206%200v2%22%2F%3E%3C%2Fsvg%3E"); }

/* The category text under the products: the whole width of the content, in two columns on a wide screen (lines stay readable) */
.eco-term-description > * { max-width: none; }
@media (min-width: 1100px) {
	.eco-term-description { column-count: 2; column-gap: 3.5rem; }
	.eco-term-description > * { margin-block: 0 .9em; break-inside: avoid-column; }
	.eco-term-description :is(h2, h3, h4) { break-after: avoid; }
}

/* The model withdrawal form (Formular de retragere): lines to fill in that take the rest of the row, on any screen */
.eco-model-form { max-width: 760px; margin: 1.25rem 0; padding: 1.25rem 1.5rem; border: 1px solid var(--eco-line); border-radius: var(--eco-radius); background: #fff; }
.eco-model-form__field { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .35rem .5rem; }
.eco-model-form__line { flex: 1 1 8rem; min-width: 8rem; height: 1.35em; border-bottom: 1px dotted currentColor; opacity: .6; }
@media (max-width: 600px) {
	.eco-model-form { padding: 1rem; }
}

/* My Account → Orders on a phone: WooCommerce hides the row headers of its card-like table, the order number among
   them; it comes back as the first line of each card, like the date or the total */
@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number { display: block; padding: .6rem .75rem; background: var(--wp--preset--color--surface); text-align: right; }
	.woocommerce table.shop_table_responsive.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before { content: attr(data-title) ": "; float: left; font-weight: 700; text-transform: capitalize; }
	.woocommerce-orders-table__cell-order-number a { font-weight: 700; }
}
