/*
Theme Name: urartu

WooCommerce styles override
*/

* {
	box-sizing: border-box;
}

.askam-bt, 
.woocommerce-button, 
.woocommerce-Button, 
a.woocommerce-Button, 
.order-one-click-link, 
.single_add_to_cart_button, 
.out-of-stock-order__button, 
.price-list-button, 
.woocommerce-info .woocommerce-Button, 
.panolens-fullscreen-button{
    background: var(--color-button-gradient-start);
    background: var(--button-gradient);
    cursor: pointer;
    border-radius: var(--buttons-border-radius);
    font-weight: 600;
    color: #fff;
    line-height: 1em !important;
    padding: 10px 20px;
	min-height: 44px;
	border: none;
	transition: filter var(--dur-base) var(--ease-standard),
		box-shadow var(--dur-base) var(--ease-standard),
		transform var(--dur-fast) var(--ease-standard);
}

/* Hover used to set `background:#fff !important` on a button with `border:none`,
   so the primary CTA turned into a white rectangle and effectively vanished on
   the white product card. Deepen the fill instead of removing it. */
.askam-bt:hover,
.woocommerce-button:hover,
.out-of-stock-order__button:hover,
.single_add_to_cart_button:hover {
	filter: brightness(1.07);
	box-shadow: var(--elev-2);
	color: #fff;
}

/* Press feedback. Touch devices never fire :hover, so without this a tap gave
   no acknowledgement at all until the AJAX round-trip finished. */
.askam-bt:active,
.woocommerce-button:active,
.out-of-stock-order__button:active,
.single_add_to_cart_button:active,
.add_to_cart_button:active,
.qty-btn:active,
.page-numbers:active {
	transform: scale(.97);
	filter: brightness(.95);
	box-shadow: none;
}

/* Disabled. Previously only `cursor:not-allowed` was set, which does not exist
   on touch — a variable product with no option chosen showed a fully healthy
   green button that silently refused to work. */
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button,
button[disabled],
button:disabled,
.button.disabled,
.button[aria-disabled="true"],
.wc-block-components-button[disabled] {
	background: var(--border-default) !important;
	color: #667085 !important;
	filter: none !important;
	box-shadow: none !important;
	transform: none !important;
	cursor: not-allowed;
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {

	.askam-bt,
	.woocommerce-button,
	.single_add_to_cart_button,
	.add_to_cart_button,
	.qty-btn,
	.page-numbers {
		transition: none;
	}

	.askam-bt:active,
	.woocommerce-button:active,
	.single_add_to_cart_button:active,
	.add_to_cart_button:active,
	.qty-btn:active,
	.page-numbers:active {
		transform: none;
	}
}

.disable {
	pointer-events: none;
	cursor: not-allowed;
}

.zoomImg{
    width: 1000px !important;
    height: 1000px !important;
}

.bottom-tools,
.widget_block:has(div.mobile-categories){
    display: none;
}

.quick_view__content::-webkit-scrollbar,
.urartu_product__filter::-webkit-scrollbar {
	width: 6px;
}

.quick_view__content::-webkit-scrollbar-track,
.urartu_product__filter::-webkit-scrollbar {
	background: none;
}

.quick_view__content::-webkit-scrollbar-thumb,
.urartu_product__filter::-webkit-scrollbar-thumb {
	background-color: var(--color-main-green);
	border-radius: 20px;
	border: 3px solid var(--color-main-green);
	transition: 1s;
}

.loader {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100px;
	height: 100px;
	border-radius: 50%;
	perspective: 800px;
}

.inner {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.inner.one {
	left: 0;
	top: 0;
	animation: rotate-one 1s linear infinite;
	border-bottom: 3px solid var(--color-second-green);
}

.inner.two {
	right: 0;
	top: 0;
	animation: rotate-two 1s linear infinite;
	border-right: 3px solid var(--color-second-green);
}

.inner.three {
	right: 0;
	bottom: 0;
	animation: rotate-three 1s linear infinite;
	border-top: 3px solid var(--color-second-green);
}

@keyframes rotate-one {
	0% {
		transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
	}

	100% {
		transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
	}
}

@keyframes rotate-two {
	0% {
		transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
	}

	100% {
		transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
	}
}

@keyframes rotate-three {
	0% {
		transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
	}

	100% {
		transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
	}
}

article {
	width: 100%;
}

a {
	text-decoration: none;
}

/**
 * Shop tables
 */
table.shop_table_responsive thead {
	display: none;
}

table.shop_table_responsive tbody th {
	display: none;
}

table.shop_table_responsive tr td {
	display: block;
	text-align: right;
	clear: both;
}

table.shop_table_responsive tr td::before {
	content: attr(data-title) ": ";
	float: left;
}

td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions:last-child:before {
    width: 100%;
    text-align: left;
}

table.shop_table_responsive tr td.product-remove a {
	text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
	display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
	display: none;
}

table.shop_table_responsive tr td.download-actions .button {
	display: block;
	text-align: center;
}

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

	table.shop_table_responsive thead {
		display: table-header-group;
	}

	table.shop_table_responsive tbody th {
		display: table-cell;
	}

	table.shop_table_responsive tr th,
	table.shop_table_responsive tr td {
		text-align: left;
	}

	table.shop_table_responsive tr td {
		display: table-cell;
		padding: 10px;
	}
	
	table.shop_table_responsive tr td .woocommerce-Price-amount.amount{
	    font-weight: 600;
	}

	table.shop_table_responsive tr td::before {
		display: none;
	}
}

/**
 * Products
 */

.woocommerce-shop .shop-page__container{
    margin: 2em 0;
}

.woocommerce-tools {
	padding: 10px;
    margin-bottom: 10px;
    box-shadow: var(--elev-1);
    border-radius: var(--r-md);
}

.woocommerce-tools,
.woocommerce-tools>div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.woocommerce-tools #sort-products {
    margin: 0 0 0 15px;
}

.shop-page__content .sidebar-button,
.shop-page__content .grid-buttons,
.shop-page__content .woocommerce-result-count,
.shop-page__content .woocommerce-ordering {
	margin: 0;
	display: flex;
	align-items: center;
	/* The controls in these rows are 38px plates. A 25px box round them was
	   a number from a toolbar that no longer exists, and it clipped them. */
	height: auto;
	color: var(--color-text);
}

.sidebar-button-container .sidebar-button__title {
	font-size: 0;
}

.sidebar-button,
.shop-page__content>.woocommerce-result-count {
	float: left;
}

div.urartu-woocommerce-categories-grid{

    margin-top: 25px;
}
.urartu-woocommerce-categories-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.urartu-wc-category-card {
    flex: 1 0 calc(19% - 20px);
    min-width: 200px;
}

/* Для последнего ряда */
.urartu-wc-category-card:last-child {
  flex-grow: 1;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card{
    position: relative;
    max-height: 200px;
    height: 200px;
    border-radius: var(--r-md);
    overflow: hidden;
    box-shadow: var(--elev-1);
    transition: all 0.5s cubic-bezier(0.19, -0.08, 0, 0.98);
}

.shop-page .urartu-wc-category-card:hover {
    z-index: 10;
}

a.urartu-wc-category-card-link {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 10;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card:hover img {
    transform: scale(1.3);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card *{
    transition: all 0.5s cubic-bezier(0.19, -0.08, 0, 0.98);
}

/* The photograph fills the tile.
   It was pinned to a literal 200px with a 2:1 ratio and a max-height to match,
   from a time when the tile itself was 200px tall. The tile is a 4:3 box now,
   so on anything wider than 267px the picture stopped short and the rest of the
   card was bare ground under a scrim that reaches 88% black at the bottom —
   which is why a category read as a grey rectangle with a name on it even after
   its photograph had arrived. On a phone, where the tile is the width of the
   screen, that was seventy empty pixels under every one of them. */
div.urartu-woocommerce-categories-grid div.urartu-wc-category-card img.urartu-wc-category-full-image{
    position: absolute;
    inset: 0;
    z-index: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: none;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card::after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card h3.urartu-wc-title,
div.urartu-woocommerce-categories-grid div.urartu-wc-category-card p.urartu-wc-desc{
    position: relative;
    z-index: 2; 
    color: #fff;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card h2.urartu-wc-title{
    margin: 0 0 0 15px;
    padding: 10px 15px;
    transform: translateY(17px);
    font-size: var(--fs-xs);
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    background: rgba(0, 0, 0, 0.4);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card:hover h2.urartu-wc-title{
    transform: translateY(30px);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card h2.urartu-wc-title::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    z-index: 3;
    height: 2px;
    background: var(--color-main-green);
    transition: all 0.3s cubic-bezier(0.19, -0.08, 0, 0.98);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card h2.urartu-wc-title::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    z-index: 3;
    width: 2px;
    background: var(--color-main-green);
    transition: all 0.3s cubic-bezier(0.19, -0.08, 0, 0.98);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card:hover h2.urartu-wc-title::before{
    width: 100%;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card:hover h2.urartu-wc-title::after{
    height: 0;
}

/* The card's link is the whole tile, and what is inside it sits at the bottom
   edge, over the gradient that darkens exactly that strip.

   It used to be space-between with the link made position: relative, which put
   the name at the TOP of the tile — clear of the scrim entirely — while the
   gradient went on darkening the empty bottom. Nobody sees it on a dark
   photograph. On the pale ones it is white caps on cream: the macaron and cake
   tiles measured 1.5:1. Selector kept as it was rather than made narrower,
   because it is the one that wins the cascade and a second rule beside it
   would only be a longer way to say the same thing. */
div.urartu-woocommerce-categories-grid div.urartu-wc-category-card a{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    z-index: 10;
    position: absolute;
    inset: 0;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card p.urartu-wc-desc{
    margin: 0;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--fs-xs);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card div.urartu-wc-desc-container{
    padding: 15px;
    opacity: 0;
    background: linear-gradient(180deg, #ffffff00, #00000070, #00000080, #00000090);
    margin: 0;
    border-radius: var(--r-md) 0 0 5px;
    transform: translateY(50px);
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card:hover p.urartu-wc-desc{
    opacity: 1;
    z-index: 3;
}

div.urartu-woocommerce-categories-grid div.urartu-wc-category-card:hover div.urartu-wc-desc-container{
    opacity: 1;
    z-index: 4;
    transform: translateY(0);
}

.load-more-container{
    margin: 20px 0 32px !important;
}

#load-more-products,
#load-more-search{
    border: 2px solid var(--color-main-green);
    background: none;
    border-radius: var(--r-lg);
    padding: 14px 40px;
    font-size: var(--fs-md);
    text-transform: uppercase;
    font-weight: 700;
    color: #555;
    cursor: pointer;
    transition: 0.5s;
}

#load-more-products:hover,
#load-more-search:hover{
    background: var(--color-main-green);
    color: #fff;
}

.woocommerce-pagination{
    margin: 0 0 20px;
}

span.page-numbers.dots {
    background: #fff !important;
    border: 2px solid var(--color-main-green, #241F1C) !important;
    color: #555 !important;
}

.sidebar-button {
	margin: 0 10px 0 0 !important;
	font-size: var(--fs-lg);
	cursor: pointer;
}

.urartu-view-buttons p {
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 10px;
}

.urartu-view-buttons span {
	margin: 0 5px;
}

.urartu-view-buttons span:last-child {
	display: none;
}

.urartu-view-buttons div {
	cursor: pointer;
	color: var(--color-text);
}

.urartu-view-buttons div.active,
.grid-button.active {
	color: var(--color-price-green);
	font-weight: 700;
}

.grid-button {
	background: none;
	border: 0;
	color: #555;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--fs-xl);
	height: 22px;
	width: 22px;
	padding: 0;
	margin: 0 5px;
	cursor: pointer;
}

.columns-4 .grid-button[data-columns="4"],
.columns-3 .grid-button[data-columns="3"],
.columns-2 .grid-button[data-columns="2"],
.columns-1 .grid-button[data-columns="1"] {
	filter: brightness(0) saturate(100%) invert(50%) sepia(100%) saturate(300%) hue-rotate(90deg);
}

/* Per-page clickable buttons (replaces <select>) */
.product-per-page-button {
	background: none;
	border: 1px solid var(--woo-border, #ddd) !important;
	border-radius: var(--r-sm);
	color: var(--color-text, #333);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: var(--fs-sm);
	line-height: 1;
	min-width: 28px;
	height: 28px;
	padding: 0 6px;
	margin: 0 3px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.product-per-page-button:hover {
	border-color: var(--color-main-green, #C47B6A) !important;
	color: var(--color-main-green, #C47B6A);
}

.product-per-page-button.active {
	border-color: var(--color-main-green, #C47B6A);
	background: var(--color-main-green, #C47B6A);
	color: var(--color-white, #fff);
	font-weight: 700;
}

.product-per-page-button:focus-visible {
	outline: 2px solid var(--color-main-green, #C47B6A);
	outline-offset: 2px;
}
.shop-page__content .woocommerce-ordering {
	margin-left: 10px;
}

.woocommerce-ordering select {
	margin: 0;
	padding: 3px;
	background: none;
}

/* Catalogue grid.
   Was a float layout dressed as flex: hand-tuned percentage widths per column
   count (32.6% / 24.25% / 16.96% / 13.49333%), a 1% margin-right, and an
   nth-child rule zeroing the last item of each row. That produced a 9px
   horizontal gutter against a 32px vertical one, left cards in the same row at
   different heights, and meant every column count needed its own magic number —
   so the toolbar's column switcher only worked for the counts someone had
   remembered to tabulate. Grid derives the tracks from the columns-N class
   alone and equalises row heights for free.

   Mobile-first: two columns by default, the columns-N choice applies from 48em
   where there is room to honour it. */
ul.products,
.wc-block-grid__products {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: var(--sp-4);
	row-gap: var(--sp-6);
	align-items: stretch;
	margin: 0;
	padding: 0;
	width: 100%;
}

/* One column only on genuinely narrow devices. Two columns hold at 375px —
   cards come out 161px wide with nothing clipped, and a shopper can compare
   two products per screenful instead of scrolling past one at a time. */
@media screen and (max-width: 22.5em) {

	ul.products,
	.wc-block-grid__products {
		grid-template-columns: minmax(0, 1fr);
	}
}

ul.products::before {
	content: "";
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.4);
	z-index: 90;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

ul.products > .loading {
    font-size: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;    
    transition: 1s;
}

ul.products > .loading:after{
    position: static; 
    font-size: 50px !important;
    margin: 30px 0;
}

ul.preload::before {
	opacity: 1;
}









.shop-page__content ul.products li.product > a.woocommerce-LoopProduct-link.woocommerce-loop-product__link{
    display: none;
}


.product-image-wrapper {
    position: relative;
    overflow: hidden;
}

.product-image-main {
    position: relative;
    overflow: hidden;
}

.product-image-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity .2s ease;
    /* Positioned so z-index applies — and deliberately not !important.
       It was, and that made a card layout unable to place its own photograph:
       `inset: 0` does nothing on a relatively positioned box, so the Editorial
       layout's image kept its natural square inside a 3:4 frame and left about
       a hundred pixels of grey under every product. Nothing needs the force —
       this rule already sets the value, and a layout that wants to position
       the image differently should be allowed to. */
	position: relative;
    z-index: 1;
}

.product-image-zones {
    position: absolute;
    inset: 0;
    display: flex;
    z-index: 5;
    padding: 10px;
}

.image-zone {
    flex: 1;
    cursor: pointer;
    position: relative;
}

/* Gallery position indicator.
   A 40%-white bar is invisible on the white backgrounds that most catalogue
   photography uses, so the card gave no hint that more images existed. A dark
   translucent bar reads on both light and dark imagery. */
.image-zone::after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 6px;
    right: 6px;
    height: 3px;
    background: rgba(16, 24, 40, .28);
    border-radius: var(--r-full);
    transition: background-color var(--dur-base) var(--ease-standard);
}

.image-zone.is-active::after,
.image-zone:hover::after {
    background: var(--color-main-green);
}

/* A single image needs no position indicator. */
.product-image-zones:has(.image-zone:only-child) .image-zone::after {
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    .image-zone::after {
        transition: none;
    }
}







ul.products li.product .product-image-tools {
	position: relative;
}

ul.products li.product,
.wishlist-item{
    list-style: none;
    position: relative;
    margin-bottom: 2em;
    border: 1px solid rgba(255, 255, 255, 0);
    transition: var(--dur-base) var(--ease-standard);
    box-shadow: var(--urartu-shadow);
    border-radius: var(--r-md);
    background: #fff;
    padding: 0 0 20px;
    min-width: 0;
    transition: var(--dur-fast) var(--ease-standard);
}

/* Grid items own no geometry of their own — the track sizing and the gap on
   ul.products decide it. WooCommerce core also ships width/float/margin here at
   a higher specificity, hence the .woocommerce-prefixed selector. */
.woocommerce ul.products li.product,
ul.products li.product {
	width: auto;
	float: none;
	margin: 0;
	clear: none;
}

/* Card hover.
   scale(1.05) pushed neighbouring cards visually out of line and, with overflow
   hidden on the image wrapper, re-cropped the photo mid-hover. A small lift and
   a deeper shadow read as "raised" without disturbing the grid. Scoped to
   pointer devices: on touch the state stuck after a tap and left the card
   permanently enlarged. */
@media (hover: hover) and (pointer: fine) {
    ul.products li.product {
        transition: transform var(--dur-base) var(--ease-standard),
            box-shadow var(--dur-base) var(--ease-standard);
    }

    ul.products li.product:hover {
        transform: translateY(-4px);
        box-shadow: var(--elev-3);
        z-index: 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    ul.products li.product:hover {
        transform: none;
    }
}

.wc-block-grid__product-onsale {
	position: absolute !important;
	left: 5px !important;
	top: 5px !important;
	right: auto !important;
}

.wc-block-grid__product-link,
.wc-block-grid__product-image,
.wc-block-grid__product-image img {
	width: 100% !important;
}

ul.products.columns-1 li.product div.woocommerce-product-details__categories,
ul.products.columns-1 li.product .star-rating {
	margin: 10px 0;
	text-align: left;
}

ul.products.columns-1 li.product span.price {
	justify-content: left;
}

ul.products.columns-1 li.product .product-content>* {
	margin: 10px 0;
	text-align: left;
}

ul.products.columns-1 li.product .product-content>*:first-child {
    margin-top: 0;
    text-align: left;
    padding-left: 0 !important;
}

ul.products.columns-1 li.product h2.woocommerce-loop-product__title::before{
    left: 0;
    right: 80%;
}

ul.products.columns-1 li.product h2.woocommerce-loop-product__title::after{
    left: 10%;
    right: 90%;
}

.woocommerce ul.products li.product a>*>.product-image {
	position: relative;
	padding-top: 100%;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link img:not(.main-product-img) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

li.product>* {
	margin: 0;
	text-align: center;
}

.wc-block-grid__product-title,
.wishlist-item li.product h2.woocommerce-loop-product__title,
ul.products li.product h2.woocommerce-loop-product__title,
.wishlist-item h2.woocommerce-loop-product__title {
    position: relative;
    font-size: var(--fs-sm) !important;
    margin: 0;
    /* The name starts where the price and the button start.
       This held 12px of side padding, under !important, so the first line of
       every card sat inset from the column the rest of the card is built on —
       and no later rule could say otherwise, whatever its specificity. */
    padding: var(--sp-2) 0 var(--sp-3);
    text-align: center;
    background: #fff;
    color: var(--color-text);
    /* 600, not 400: the nested <a> already forced 700, so the 400 here was dead
       weight and the two rules disagreed about the same piece of text. */
    font-weight: 600;
    /* Clamp to two lines and reserve their height. Without this, a one-line and
       a three-line product name in the same row pushed price and button to
       different heights — the single most visible "cheap grid" tell. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(2 * 1.4em + var(--sp-2) + var(--sp-3));
}

.wishlist-item li.product h2.woocommerce-loop-product__title::before,
ul.products li.product h2.woocommerce-loop-product__title::before{
    content: '';
    position: absolute;
    left: 41%;
    right: 41%;
    bottom: 1px;
    height: 2px;
    background: var(--color-main-green);
}

.wishlist-item li.product h2.woocommerce-loop-product__title::after,
ul.products li.product h2.woocommerce-loop-product__title::after{
    content: '';
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: -2px;
    transform: translatex(-50%);
    height: 8px;
    width: 8px;
    background: #fff;
    border: 2px solid var(--color-main-green);
    outline: 2px solid #fff;
    border-radius: 50%;
}

.widget-title {
	text-transform: uppercase;
}

li.product div.woocommerce-product-details__categories {
	font-size: var(--fs-xs);
	font-weight: 400;
	text-align: center;
    margin: 6px;
}

li.product div.woocommerce-product-details__categories a {
	color: var(--color-text);
	padding: 5px 0;
}

ul.products li.product img.attachment-woocommerce_thumbnail {
	display: block;
	width: 100%;
	height: auto;
}

ul.products li.product a {
	border: none;
	text-decoration: none;
}

.wishlist-item li.product .woocommerce-loop-product__title a ,
ul.products li.product .woocommerce-loop-product__title a {
    font-weight: 700;
}

ul.products li.product .button {
	display: table;
	margin: 5px auto;
}

ul.products li.product span.price,
.wishlist-item li.product span.price,
.wc-block-grid__product-price.price {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 5px 0;
}

ul.products li.product span.price ins {
	background: none;
}

ul.products li.product span.price bdi,
.wishlist-item li.product span.price bdi,
.wc-block-grid__product-price.price {
	display: flex;
	justify-content: center;
	font-weight: 700;
	font-size: var(--fs-sm);
}

ul.products > li.product > div.product-content > span > del > span > bdi{
    font-size: var(--fs-xs);
    margin-right: 5px;
}

ul.products li.product > div.product-content > span > span > bdi,
ul.products li.product span.price ins bdi,
.wishlist-item li.product > div.product-content > span > span > bdi,
.wishlist-item li.product span.price ins bdi {
    font-size: var(--fs-lg) !important;
}

.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image),
.wc-block-grid__product .wc-block-grid__product-title {
	margin-bottom: 0 !important;
}

.onsale {
    position: absolute;
    top: 15px;
    background-color: var(--color-main-green);
    z-index: 10;
}

.discount-percentage {
    position: absolute;
    right: 0;
    top: 25px;
    padding: 3px 7px;
    font-size: var(--fs-xs);
    color: #fff;
    background-color: var(--color-main-green);
    z-index: 2;
    border-radius: var(--r-md);
}

.price-container__total{
    color: var(--color-text);
    font-size: var(--fs-sm);
}

.woocommerce-Price-amount {
	color: var(--color-price-green);
}

.price-container .woocommerce-Price-amount,
.price .woocommerce-Price-amount{
    font-size: var(--fs-xl);
    font-weight: 500;
}

.price-container{
    opacity: 0;
    height: 0;
    visibility: hidden;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: normal;
    transition: var(--dur-base) var(--ease-standard);
}

.price-container.ENABLE{
    opacity: 1;
    height: 50px;
    visibility: visible;
}



.wishlist-item a.button {
	width: auto;
	text-align: center;
	padding: 5px 10%;
	color: #fff;
	background: var(--color-main-green);
	font-size: 90%;
}

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

	ul.products {
		grid-template-columns: repeat(var(--urartu-cols, 3), minmax(0, 1fr));
		column-gap: var(--sp-6);
		row-gap: var(--sp-8);
	}

	ul.products.columns-1 { --urartu-cols: 1; }
	ul.products.columns-2 { --urartu-cols: 2; }
	ul.products.columns-3 { --urartu-cols: 3; }
	ul.products.columns-4 { --urartu-cols: 4; }
	ul.products.columns-5 { --urartu-cols: 5; }
	ul.products.columns-6 { --urartu-cols: 6; }

	ul.products li.product .short-description {
		display: none;
	}

	ul.products.columns-1 li.product {
		display: grid;
		grid-template-columns: 1fr 2fr;
	}

	ul.products.columns-1 li.product span.price,
	ul.products.columns-1 li.product span.price bdi {
		justify-content: left;
	}

	ul.products.columns-1 li.product .short-description {
		display: block;
	}

	ul.products.columns-1 li.product .button {
		margin: 5px 0;
	}

	ul.products.columns-1 li.product>* {
		text-align: left;
	}

	ul.products.columns-1 li.product .product-content {
		margin-left: 15px;
	}

}

/**
 * Single product
 */
.single-product div.product {
	position: relative;
	display: inline-block;
	width: 100%;
}

.outofstock .variations_form,
.single-product .shop-page__sidebar {
	display: none !important;
}

.single-product div.product .woocommerce-product-gallery {
	position: relative;
	float: left;
	width: 35%;
	opacity: 1;
	height: fit-content;
	border-radius: var(--r-md);
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells,
.single-product div.product .urartu-recently-viewed {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery .slider-nav .slick-slide {
	position: relative;
	padding: 16px 6px;
}

div.product .woocommerce-product-gallery .slider-nav .slick-slide,
div.product .woocommerce-product-gallery .slider-nav .slick-center,
div.product .woocommerce-product-gallery .slider-nav .slick-slide img,
div.product .woocommerce-product-gallery .slider-nav .slick-current img {
	border-radius: var(--r-md);
	transition: 0.15s;
}

div.product .woocommerce-product-gallery .slider-nav .slick-slide{
    cursor: pointer;
}

div.product .woocommerce-product-gallery .slider-nav .slick-slide:hover{
    opacity: 1;
    transform: scale(1.05);
}

div.product .woocommerce-product-gallery .slider-nav .slick-slide img{
    transform: scale(0.9);
}

div.product .woocommerce-product-gallery .slider-nav .slick-current{
    transform: scale(1) !important;
}

div.product .woocommerce-product-gallery .slider-nav .slick-current img{
    transform: scale(1.2);
}

div.product .woocommerce-product-gallery .slider-nav .slick-slide>div {
	display: flex;
}

/* ── Thumbnail navigation for Slick gallery ──────── */
/* Thumbnail strip.
   The rules below were written for Slick (.slick-slide / .slick-current), but
   no Slick instance was ever created on this element, so the markup the
   template actually emits — .woocommerce-product-gallery-thumbnails__thumb —
   matched nothing and the thumbnails rendered as a bare vertical stack of
   full-width images. These rules style the real markup; the Slick ones are
   kept below in case a carousel is added later. */
div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails {
	margin-top: 10px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2, 8px);
}

div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb {
	flex: 0 0 calc(25% - var(--sp-2, 8px));
	max-width: calc(25% - var(--sp-2, 8px));
	cursor: pointer;
	opacity: .55;
	border-radius: var(--r-sm, 4px);
	overflow: hidden;
	transition: opacity var(--dur-base, 200ms) var(--ease-standard, ease),
		transform var(--dur-base, 200ms) var(--ease-standard, ease);
}

div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb:hover {
	opacity: .85;
}

div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb:focus-visible {
	outline: 2px solid var(--color-focus-ring, var(--u-surface-fg, #241F1C));
	outline-offset: 2px;
}

div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb.is-active {
	opacity: 1;
}

div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--r-sm, 4px);
	border: 2px solid transparent;
	transition: border-color var(--dur-base, 200ms) var(--ease-standard, ease);
}

div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb.is-active img {
	border-color: var(--color-main-green, #241F1C);
}

@media (prefers-reduced-motion: reduce) {
	div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb,
	div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails__thumb img {
		transition: none;
	}
}
div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails .slick-slide {
	padding: 4px;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity .2s ease, transform .2s ease;
}
div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails .slick-slide:hover {
	opacity: 0.8;
	transform: scale(1.03);
}
div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails .slick-current {
	opacity: 1;
	transform: scale(1.05);
}
div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails .slick-slide img {
	width: 100%;
	height: auto;
	border-radius: var(--r-sm);
	border: 2px solid transparent;
	transition: border-color .2s ease;
}
div.product .woocommerce-product-gallery .woocommerce-product-gallery-thumbnails .slick-current img {
	border-color: var(--color-main-green, #241F1C);
}

div.product .woocommerce-product-gallery img {
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: var(--r-md);
}

div.product .woocommerce-product-gallery-nav .slick-slide {
	padding: 5px;
}

.product-layout-container {
	display: flex;
}

.product-layout-container>*:first-child {
	width: 60%;
}

.product-layout-container>*:last-child {
	width: 40%;
}


@media screen and (max-width: 768px) {
    .product-layout-container {
    	flex-direction: column;
    }
    .product-layout-container>*:first-child,
    .product-layout-container>*:last-child{
        width: 100%;
    }
    .right-col .price .woocommerce-Price-amount {
        font-size: var(--fs-lg);
        font-weight: 500;
    }
}


.product-layout-container .right-col {
	display: flex;
	flex-direction: column;
	height: fit-content;
	box-shadow: var(--elev-1);
    padding: 15px;
	border-radius: var(--r-lg);
}

.price{
    display: inline;
    font-size: var(--fs-sm);
}

.price .price-container-per.product-price-container del span{
    font-size: var(--fs-sm);
}

.product-type-variable .price-container del{
    display: none !important;
}

.price-container del span{
    font-size: var(--fs-md) !important;
}
 
del .woocommerce-Price-amount{
    font-size: var(--fs-md);
    color: rgba(0, 0, 0, 0.7);
}

ul.product_list_widget > li > del > span > bdi{
    font-size: var(--fs-xs); 
}

.single-product div.product .entry-summary {
	float: right;
	margin: 0;
	padding: 0 25px;
	position: relative;
	/* Was 100%, which left no room beside the 35%-wide floated gallery, so the
	   summary always dropped underneath it and the product page rendered as a
	   single tall column. The mobile rule further down still resets this to
	   100% below 768px. */
	width: 61%;
}

.single-product div.product .entry-summary>* {
	margin: 0 0 10px;
}

.single-product div.product .entry-summary .product_meta > span{
	display: block;
	line-height: 35px;
}

.single-product div.product .entry-summary .price.term-production {
	font-size: 0px;
}

.single-product div.product .entry-summary .price,
.single-product div.product .entry-summary .price.term-production .woocommerce-Price-amount {
	font-size: var(--fs-lg);
}

.single-product div.product .entry-summary .price del,
.single-product div.product .entry-summary .price del>span>bdi {
	font-size: var(--fs-sm);
}

.single-product div.product .entry-summary .price del>span>bdi {
	color: var(--u-muted-fg, rgba(0, 0, 0, 0.5));
}

.single-product div.product .entry-summary .price ins {
	background: none;
}

.single-product .product_meta .meta-category__link a,
.single-product .product_meta .meta-tag__link a {
	padding: 5px 0;
	font-size: var(--fs-xs);
}

.woocommerce-product-details__short-description * {
	font-size: var(--fs-sm);
	margin: 0;
}

.quick_view__content h1,
.single-product div.product .entry-summary h1 {
	padding-top: 30px;
	white-space: normal;
	font-size: var(--fs-xl);
}

.quick_view__content h1 {
	padding: 0;
	font-size: var(--fs-md);
}

.single-product div.product .entry-summary .woocommerce-product-rating,
.single-product div.product .entry-summary .woocommerce-product-rating .rating-and-stock {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--color-text);
}

.entry-summary .woocommerce-product-rating .rating-and-stock {
	justify-content: left;
	font-size: 0.825rem;
}

.single-product div.product .entry-summary .woocommerce-product-rating .stock.in-stock {
	margin-left: 15px !important;
	color: var(--color-stock-green);
    font-weight: 600;
}

.entry-summary .woocommerce-product-rating .woocommerce-review-link {
	margin: 0 30px 0 5px;
}

.single-product div.product .entry-summary #countdown-timer {
	display: inline-flex;
	padding: 5px 10px;
	color: #fff;
	background: var(--color-main-green, #241F1C);
}

.single-product div.product .entry-summary #countdown-timer span {
	margin: 0 10px;
	font-size: var(--fs-xs);
}

.single-product div.product .entry-summary #countdown-timer p {
	margin: 0;
	text-align: center;
	font-size: var(--fs-md);
	font-weight: 600;
	height: 18px;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 20px;
	right: 20px;
	display: block;
	z-index: 99;
	font-size: 0px;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 250ms ease;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:before {
	font-family: Fontawesome;
	content: '\f002';
	font-size: var(--fs-lg);
	color: #777;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	background: var(--color-main-green);
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover:before {
	color: #fff;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 0.5em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
}

.flex-direction-nav {
	display: none;
}

.flex-control-nav.flex-control-thumbs {
	display: flex;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	cursor: pointer;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
	padding: 0 0.5em 0.5em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock:empty::before {
	display: none;
}

.stock.in-stock {
	color: var(--color-main-green);
}

.stock.out-of-stock {
	color: #e2401c;
}

/**
 * Product out of stock 
 */

.outofstock .order-one-click__button {
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    width: 100%;
    float: left;
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {

	.col2-set .form-row-first {
		float: left;
		margin-right: 3.8%;
	}

	.col2-set .form-row-last {
		float: right;
		margin-right: 0;
	}

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 48.1%;
	}
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
	position: relative;
	margin: 0;
	padding: 0;
}

.site-header-cart .cart-contents {
	text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
	display: none;
}

.site-header-cart .product_list_widget {
	margin: 0;
	padding: 0;
}

/**
 * Star rating
 */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	width: 5.6em;
	font-family: star;
	font-weight: 400;
	margin: 0 auto;
	font-size: var(--fs-xs);
}

.star-rating::before {
	font-family: Fontawesome;
	content: "\f006 \f006 \f006 \f006 \f006 " !important;
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
}

.wc-block-grid__product-rating .star-rating {
	margin: 0 !important;
	font-size: var(--fs-xs) !important;
	width: 5.6em !important;
}

.wc-block-grid__product-rating .star-rating:before {
	opacity: 0.25 !important;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	font-family: Fontawesome !important;
	content: "\f005\f005\f005\f005\f005" !important;
	top: 0;
	position: absolute;
	left: 0;
	color: #fad201 !important;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: star;
	content: "\53";
	color: var(--color-text);
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover~a::before {
	content: "\53";
	color: var(--color-text);
	opacity: 0.25;
}

p.stars:hover a::before {
	content: "\53";
	color: #fad201;
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "\53";
	color: #fad201;
	opacity: 1;
}

p.stars.selected a.active~a::before {
	content: "\53";
	color: var(--color-text);
	opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
	content: "\53";
	color: #fad201;
	opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
	list-style: none;
	padding: 0;
	padding: 30px 0 0;
	text-align: left;
	width: 100%;
	display: flex;
	border-bottom: 1px solid #e1e1e1;
	justify-content: center;
}

.woocommerce-tabs ul.tabs li {
	display: block;
	position: relative;
	margin: 0 10px;
	transition: var(--dur-base) var(--ease-standard);
	border-radius: var(--r-lg) 10px 0 0;
    border-left: 1px solid rgba(0, 0, 0, 0);
    border-right: 1px solid rgba(0, 0, 0, 0);
    border-top: 3px solid rgba(0, 0, 0, 0);
}

.woocommerce-tabs ul.tabs li.active {
    border-left: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1;
    border-top: 3px solid var(--color-main-green);
    position: relative;
}

.woocommerce-tabs ul.tabs li.active:after {
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	bottom: -2px;
	height: 2px;
	background: #fff;
}

.woocommerce-tabs ul.tabs li.active:before {
	right: 0%;
	left: 0%;
	background: var(--color-second-green);
}

.woocommerce-tabs ul.tabs li a {
	padding: 10px;
	display: block;
	color: var(--color-text);
	text-decoration: none;
}

.woocommerce-product-attributes-item {
	position: relative;
}

.woocommerce-product-attributes-item:after {
	content: '';
	background: #e1e1e1;
	position: absolute;
	right: 0;
	left: 0;
	bottom: -1px;
	height: 1px;
}

.woocommerce-product-attributes-item:last-child:after {
	display: none;
}

.woocommerce-product-attributes-item__label:after {
	content: '';
	background: #e1e1e1;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 1px;
}

/* Panel display is initially handled by WooCommerce inline styles;
   the .active class is added by the JS init below so switching works. */
.woocommerce-tabs .panel.active { display: block; }

.woocommerce-tabs .panel h2:first-of-type,
.woocommerce-tabs .comment-reply-title,
.up-sells.upsells h2,
.related.products.columns-4 h2{
    margin-top: 30px;
    margin-bottom: 30px;
	font-size: var(--fs-xl);
}

.woocommerce-Tabs-panel.woocommerce-Tabs-panel--sdek_frontend_tab.panel.entry-content.wc-tab p{
    font-weight: 400;
    word-spacing: 4px;
    line-height: 24px;
}

.woocommerce-product-attributes-item__label {
	position: relative;
	text-align: left;
	width: 250px;
	font-size: var(--fs-sm);
	color: var(--color-text);
	padding: 15px 10px;
}

#comments .star-rating {
	margin: 0 !important;
}

.woocommerce-Reviews {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.woocommerce-Reviews #comments {
	padding-right: 15px;
}

.woocommerce-Reviews #review_form_wrapper {
	padding-left: 15px;
}

.comment-form-comment,
.comment-form-rating {
	margin: 20px 0;
}

.comment-reply-title,
.comment-form-rating {
	color: var(--color-text);
}

.comment-reply-title {
	display: block;
	color: var(--color-text);
	font-size: var(--fs-md);
	font-weight: 600;
	margin-bottom: 15px;
}

.comment-form-rating label {
	display: block;
	margin-right: 14px;
	margin-bottom: 10px;
	font-size: var(--fs-sm);
}

.comment-form-rating p {
	margin: 0;
}

.comment-form-comment label {
	display: block;
	margin-bottom: 10px;
}

.woocommerce-product-attributes-item:nth-child(even) th,
.woocommerce-product-attributes-item:nth-child(even) td {
	background-color: #f8f8f8;
}

.woocommerce-product-attributes-item__value {
	padding: 0 15px;
}

.woocommerce-product-attributes-item__value,
.woocommerce-product-attributes-item__value p {
	line-height: 24px;
	font-size: var(--fs-sm);
	color: var(--color-text);
}

/**
 * Comments Form
 */

.comment-form>p.comment-form-author,
.comment-form>p.comment-form-email,
.comment-form>p.comment-form-url {
	display: flex;
	flex-direction: column;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
	text-align: right;
}

.woocommerce-password-strength.strong {
	color: var(--color-main-green, #241F1C);
}

.woocommerce-password-strength.short {
	color: #e2401c;
}

.woocommerce-password-strength.bad {
	color: #e2401c;
}

.woocommerce-password-strength.good {
	color: #3d9cd2;
}

/**
 * related
 */
.product .related.products {
	margin-top: 30px;
	border-top: 1px solid #e1e1e1;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 var(--color-main-green, #241F1C);
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required {
	color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	display: block;
	/* The border used to be !important and came with a 30px green glow, so a
	   notice drew a second frame around the one design-layer.css gives it
	   — a double rule on the cart, the checkout and every "added to cart". */
	border: 1px solid var(--color-main-green, #241F1C);
	outline: none !important;
	background-color: #f4fff7;
	align-content: flex-start;
	border-radius: var(--r-md);
	box-sizing: border-box;
	color: var(--color-text);
	font-size: .875em;
	font-weight: 400;
    line-height: 2.5;
	margin: 16px 0;
	padding: 16px;
}

/* Only the button floats. A plain link inside the sentence — "choose product
   options by visiting %s" — used to float too, which tore the product name
   out of the sentence and left "visiting ," behind. */
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.woocommerce-noreviews a.button,
p.no-comments a.button {
	float: right;
}

.woocommerce-error {
	background-color: #ff000010;
	border: 1px solid red;
}

.woocommerce-error li {
	margin: 3px 0;
}

.woocommerce-error li:first-child,
.woocommerce-error li:last-child {
	margin: 0;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em;
	background-color: #3d9cd2;
	z-index: 9999;
}

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

	/**
	 * Header cart
	 */
	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -999em;
		display: block;
		box-shadow: var(--elev-2);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		left: 0;
		display: block;
	}
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
	text-align: right;
	line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
	float: left;
}

.widget_price_filter .ui-slider {
	position: relative;
	text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: #4169e1;
	box-sizing: border-box;
	margin-top: -0.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
	height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
	height: 100%;
}

/**
 * WooCommerce Main Shop
 */
.shop-main {
	display: flex;
}

.shop-main .sidebar {
	width: 25%;
	float: left;
	padding-right: 15px;
}

.shop-page__container {
	position: relative;
	display: flex;
	margin: 25px 0 0;
}

.shop-page__container .shop-page__sidebar,
.sidebar {
	position: relative;
	min-width: 25%;
	width: 25%;
	padding-right: 15px;
}

.shop-page__sidebar {
	transition: var(--dur-base) var(--ease-standard);
}

.shop-page__sidebar.closed {
	left: -100%;
	min-width: 0;
	width: 0;
	padding: 0;
}

.sidebar {
	padding: 0 0 0 15px;
}

.shop-page__container .shop-page__content {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	min-width: 75%;
	min-height: 50vh;
}

/**
 * WooCommerce Cart
 */

.wc-block-components-button:not(.is-link) .wc-block-components-button__text {
	border: none;
	color: #fff;
}

/**
 * WooCommerce Widgets
 */

/* Categories */

.wc-block-product-categories-list {
	margin: 0;
	padding: 0;
}

.wc-block-product-categories {
	margin: 0 10px 1em;
}

.wc-block-product-categories-list li {
	list-style: none;
	padding: 5px 0;
	cursor: pointer;
	position: relative;
}

.wc-block-product-categories-list--depth-0>li {
	border-bottom: 1px solid #e1e1e1;
	min-height: 40px;
}

.wc-block-product-categories-list--depth-0>li:last-child {
	border: none;
}

.wc-block-product-categories-list-item.has-ul:before {
	font-family: Fontawesome;
	content: '\f078';
	color: #777;
	position: absolute;
	right: 0;
	top: 20px;
	font-size: var(--fs-sm);
	transform: translateY(-50%);
	transition: var(--dur-base) var(--ease-standard);
}

.open:before {
	transform: rotate(180deg);
}

.wc-block-product-categories-list li .wc-block-product-categories-list-item-count {
	float: right;
}

.wc-block-product-categories-list li:last-child {
	padding: 5px 0 0;
}

.wc-block-product-categories-list li a {
	text-decoration: none;
	color: var(--color-text);
	border: none;
	font-weight: 500;
	padding: 5px 0;
	width: 87%;
	display: block;
	font-size: var(--fs-sm);
}

.wc-block-product-categories-list ul {
	margin: 5px 15px;
}

/* Products */

.has-1-columns .wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image) img {
	max-width: 75px;
	height: 75px;
}

.has-1-columns .wc-block-grid__product {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	border-bottom: 1px solid #e1e1e1;
	padding: 10px 0;
}

.has-1-columns .wc-block-grid__product>div.wc-block-grid__product-onsale {
	margin: 0 0 5px !important;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.7);
}

.has-1-columns .wc-block-grid__product>div.wc-block-grid__product-onsale,
.has-1-columns .wc-block-grid__product>div {
	display: flex;
}

.has-1-columns .wc-block-grid__product:last-child {
	border-bottom: none;
}

.wc-block-grid__product-rating {
	margin: 0 0 12px !important;
}

.has-multiple-rows .wc-block-grid__product-onsale {
	font-size: var(--fs-xs) !important;
	margin-bottom: 3px !important;
	justify-content: center;
	align-items: center;
	top: 12px !important;
	left: 1px !important;
	right: unset !important;
	width: auto !important;
	background: rgba(255, 255, 255, 0.7) !important;
}

.wc-block-grid__product div {
	text-align: left;
}

.wc-block-grid__product .wc-block-grid__product-price {
	margin: 10px 0 0 !important;
}

.wc-block-featured-product__link a {
	font-size: 0.7em;
	padding: 10px !important;
}

.full_width_megamenu .wc-block-grid__product-link,
.wc-block-grid__product .wc-block-grid__product-link {
	margin-right: 10px;
}

/**
 * WooCommerce My Account
 */

/**
 * Price list button
 */

.price-list-button i {
	margin-right: 10px;
}

.product .woocommerce-variation-add-to-cart,
.product .right-col .cart,
.entry-summary .cart {
    padding: 20px 0;
    margin: 0;
}

.woocommerce-variation-add-to-cart-disabled {
	cursor: not-allowed;
}

/* Card tools: wishlist, compare, quick view, add to cart.
   Visible by default. Hiding these behind :hover left every one of them
   unreachable on touch, where no hover state exists — including add to cart,
   so a phone visitor could not buy from the catalogue at all. The reveal-on-
   hover treatment is now scoped to devices that really have a pointer. */
.product__tools_panel {
	display: flex;
	flex-direction: column;
	position: absolute;
	right: 8px;
	top: 20px;
	font-size: var(--fs-sm);
	transition: opacity var(--dur-base, 200ms) var(--ease-standard, ease),
		right var(--dur-base, 200ms) var(--ease-standard, ease);
	z-index: 9
}

@media (hover: hover) and (pointer: fine) {
	.product__tools_panel {
		right: 0;
		opacity: 0;
		visibility: hidden;
	}
}

.product__tools_panel>* {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 32px;
	width: 32px;
	font-size: var(--fs-xs);
	color: var(--color-text) !important;
	cursor: pointer;
	margin-bottom: 5px;
	background-color: #fff;
	border: none;
	/* outline removed — border is controlled by Redux Buttons → Button Border */
	border-radius: var(--r-md);
	box-shadow: var(--elev-3);
	transition: var(--dur-base) var(--ease-standard);
}

.tools-item > .tools-item-button{
	width: 100%;
	height: 100%;
	border-radius: var(--r-sm);
	transition: var(--dur-base) var(--ease-standard);
}

/* Only the corners that stop being corners.
   The label slides out to the left and meets this button edge to edge, so
   the two on that side are the middle of one shape and are squared off.
   The outer pair are still the outside of the control and must not move —
   they were being reset to a literal 4px, which on any shop whose button
   radius is not 4px made the button visibly change shape under the
   pointer. The shop's own radius, from the same token as at rest. */
.tools-item:hover > .tools-item-button{
	border-start-start-radius: 0;
	border-end-start-radius: 0;
}

/* 360° catalog toggle button - matches other tools panel buttons */
.product-360-toggle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 32px;
	width: 32px;
	font-size: var(--fs-xs);
	color: var(--color-text) !important;
	cursor: pointer;
	margin-bottom: 5px;
	background-color: #fff;
	border: none;
	/* outline removed — border is controlled by Redux Buttons → Button Border */
	border-radius: var(--r-md);
	box-shadow: var(--elev-3);
	transition: var(--dur-base) var(--ease-standard);
}

.product-360-toggle:hover,
.product-360-toggle.active {
	background: var(--urartu-button-bg, var(--color-main-green));
	border-radius: 0 5px 5px 0;
	outline-color: transparent !important;
}

.product-360-toggle:hover img,
.product-360-toggle.active img {
	filter: invert(100%) brightness(1.5);
}

.product-360-toggle::before {
	content: attr(data-title);
	position: absolute;
	background: #fff;
	display: flex;
	align-items: center;
	transition: var(--dur-base) var(--ease-standard);
	right: 0;
	top: 0;
	bottom: 0;
	width: max-content;
	height: 100%;
	color: #fff;
	font-size: var(--fs-xs);
	font-weight: 600;
	padding: 5px 10px;
	opacity: 0;
	visibility: hidden;
	z-index: 0;
	border-radius: var(--r-md) 0 0 5px;
}

.product-360-toggle:hover::before,
.product-360-toggle.active::before {
	right: 95%;
	opacity: 1;
	visibility: visible;
	background: var(--urartu-button-bg, var(--color-main-green));
	color: #fff;
}

.product__tools_panel>div:hover,
.product__tools_panel>a:hover,
/* Same joint, same reasoning — and 5px here against 4px above was two
   numbers for one shape. */
.product__tools_panel>p.product:hover {
	background: var(--urartu-button-bg, var(--color-main-green));
	border-start-start-radius: 0;
	border-end-start-radius: 0;
	outline-color: transparent !important;
}

.product__tools_panel>div:hover img,
.product__tools_panel>a:hover img{
	filter: invert(100%) brightness(1.5);
}

.product__tools_panel>*::before {
	content: attr(data-title);
	position: absolute;
	background: #fff;
	display: flex;
	align-items: center;
	transition: var(--dur-base) var(--ease-standard);
	right: 0;
	/* One pixel high, so the label covers the button's own top border where
	   the two meet rather than leaving it as a seam. Paired with the 40px
	   height in the design layer. */
	top: -1px;
	bottom: 0;
	width: max-content;
	height: 100%;
	color: #fff;
	font-size: var(--fs-xs);
	font-weight: 600;
	padding: 5px 10px;
	opacity: 0;
	visibility: hidden;
	z-index: 0;
	border-radius: var(--r-md) 0 0 5px;
}

.product__tools_panel>*.active::before {
	background: var(--urartu-button-bg, var(--color-main-green));
	color: var(--urartu-button-text, var(--color-main-green));
}

.product__tools_panel>*:hover::before {
    right: 95%;
	opacity: 1;
	visibility: visible;
	background: var(--urartu-button-bg, var(--color-main-green));
	color: #fff;
}

/* Loading state.
   This used to be `*.loading *, *.loading { background:#fff!important;
   color:#fff!important }` — a descendant-wide white wash that blanked the
   price, title and badge of every card and, with no height reserved, let the
   block collapse and shift the whole grid. A translucent overlay keeps the
   layout intact and still reads as busy. */
/* Scoped to the containers that actually get busy. A universal `.loading`
   selector also matched the filter widget's own "Loading…" text node and drew
   a veil over the very message it was announcing. */
ul.products.loading,
li.product.loading,
.shop-page__content.urartu-products-loading,
.summary_wishlist_compare_container.loading {
	position: relative;
	pointer-events: none;
}

ul.products.loading::after,
li.product.loading::after,
.shop-page__content.urartu-products-loading::after,
.summary_wishlist_compare_container.loading::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, .72);
	z-index: 2;
	border-radius: inherit;
}

.summary_wishlist_compare_container.loading:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 99;
}

/* Same over-reach as the spinner above: any element named "loading" hid every
   image inside it. A product card whose add-to-cart button briefly carries the
   class would have blanked its own photograph. */
.summary_wishlist_compare_container.loading img,
.tools-item-button.loading img {
    opacity: 0;
}

/*
 * Scoped to the controls that actually raise it.
 *
 * This was a bare `.loading:after` — every element in the document carrying a
 * class named "loading" got a 32x32 spinner absolutely positioned over it, in
 * front of everything at z-index 100. WooCommerce and the theme's own scripts
 * put that class on individual buttons, so adding to the wishlist, comparing,
 * a quick view or an add-to-cart each painted a spinner that looked like the
 * catalogue was reloading. The class is far too common a word to claim
 * globally.
 */
/*
 * The second preloader used to be here, and it was winning.
 *
 * It drew a Font Awesome glyph — content: '\f1ce', font-family: Fontawesome —
 * in a box forced to 32x32 with !important, stretched to all four edges of the
 * button. The theme stopped shipping that icon font a long time ago, so the
 * glyph rendered as nothing: an empty 32px box, in the corner, with no way to
 * tell it apart from a broken button. "Huge, and nothing underneath it" is a
 * literal description of it.
 *
 * Worse, it made the real spinner unfixable. The design layer draws a proper
 * ring out of a border, and every attempt to size or place that ring was
 * overruled here by two !important declarations — so changing the ring changed
 * its colour and never its size, several times over, which is exactly how a
 * bug survives being fixed.
 *
 * One spinner now, in css/design-layer.css, for these selectors and the rest.
 */

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(900deg);
	}
}

.product__tools_panel>*:last-child {
	margin: 0;
}

.product__tools_panel>*.active,
#in-cart .add_to_cart_inline,
#in-cart .add_to_cart_inline a,
ul.products li.product .added,
ul.products li.product .added:hover,
.product__tools_panel *.added .product__tools_panel>*:hover {
	background: var(--urartu-button-bg, var(--color-main-green));
}

.add-to-favorites.active img,
.compare-product.active img{
	filter: invert(100%) brightness(1.5);
}

.product__tools_panel>p.product .added_to_cart {
	display: none !important;
}

.product__tools_panel>p.product {
	font-size: 0;
	padding: 0 !important;
}

.product__tools_panel>p.product a {
	margin: 0;
	padding: 0 !important;
	width: 100% !important;
	height: 100%;
	display: flex !important;
	justify-content: center;
	align-items: center !important;
	background: none !important;
}

.product__tools_panel>p.product a:hover,
.product__tools_panel>p.product:hover a {
	color: #fff !important;
}

.product__tools_panel>p.product a i {
	font-family: Fontawesome;
	content: '\f07a';
	font-size: var(--fs-xs);
}

@media (hover: hover) and (pointer: fine) {

	/* focus-within so the panel also opens when tabbing into the card. */
	li.product:hover .product__tools_panel,
	li.product:focus-within .product__tools_panel {
		opacity: 1;
		visibility: visible;
		right: 20px;
	}
}

.product-type-variable .summary .cart {
	display: block;
}

table.variations select,
div.single_variation_wrap input {
	width: 190px;
	height: 35px;
	padding: 3px;
	text-align: left;
	border-radius: 0;
}

div.single_variation_wrap input {
	padding: 3px 7px;
	font-size: var(--fs-xs);
}

/*
 * "Clear" — WooCommerce's reset link.
 *
 * It was `color: red !important` with `height: 0`, centred: an undo link
 * painted like an error, collapsed to no height so it overlapped whatever came
 * next. Red is the shop's sale and error colour; spending it on "clear the size
 * you picked" leaves nothing louder for a real problem. Its appearance is set
 * in css/design-layer.css now, with the rest of the summary.
 */
.reset_variations {
	cursor: pointer;
	margin: 4px 0 0;
}

.summary .variations th {
	/*
	 * Was width: 55%, which gave the word SIZE more than half the summary and
	 * pushed the swatches onto a line of their own. The label needs the width
	 * of a label; design-layer.css sets it to the same measure as the Colour
	 * and Material rows directly above, so all three line up.
	 */
	font-size: var(--fs-sm);
	text-align: left;
	color: var(--color-text);
	font-weight: 400;
	text-transform: uppercase;
}

.single-total {
	font-weight: 600 !important;
}

/*
 * The row grows with what is in it.
 *
 * This was a flat `height: 32px`, which is the height of one row of swatches
 * and of nothing else. A variation whose options are words rather than letters
 * — "8\" classic — serves 8 to 12" instead of "M" — wraps onto a second line,
 * and the row went on claiming thirty-two pixels while its cell claimed a
 * hundred and thirty. The extra sixty were drawn straight over whatever came
 * after the form; on the patisserie demo that was the collection-date field,
 * so the size control and the date control occupied the same pixels.
 *
 * A row of a table is sized by its contents. min-height keeps the tidy 32px
 * floor a single row of swatches had, without capping anything taller.
 */
.variations tbody tr {
	min-height: 32px;
	width: 100%;
	display: inline-table;
	color: var(--color-text);
	font-size: var(--fs-xs);
}

.product-type-variable .summary .variations td select,
.product-type-variable .summary .variations td {
    font-size: var(--fs-sm);
}

.single-variation-total {
	display: flex;
	align-items: center;
	height: 100%;
	color: var(--color-main-green);
	font-weight: 600;
}

.single-variation-total bdi {
	margin-right: 5px;
}

div.single_variation_wrap input,
.product-type-variable .summary .variations td select {
	border: none;
	outline: none;
    border-radius: var(--r-md) !important;
}

.product .wc-block-components-quantity-selector {
    border-radius: var(--r-md);
    box-sizing: content-box;
    display: inline-flex;
    align-items: center;
    margin: 0;
    position: relative;
    max-height: 100%;
    width: 40%;
    max-width: 40%;
    outline: 2px solid rgba(28, 191, 101, 1);
}

.product .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	-moz-appearance: textfield;
	appearance: textfield;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: currentColor;
	font-size: 1em;
	font-weight: 600;
	line-height: 1;
	margin: 0;
	max-width: 47px;
	padding: .4em 0;
	text-align: center !important;
}

.product .quantity .input-text:focus {
	outline: none;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
	box-shadow: none !important;
}

.product .wc-block-components-quantity-selector:before,
.product .wc-block-components-quantity-selector:after {
	display: none;
}

.product .quantity input::-webkit-outer-spin-button,
.product .quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Single product quantity: + / - buttons */
.product .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: var(--r-md);
    overflow: hidden;
    height: 40px;
}

.qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 40px;
    border: none;
    background: #f7f7f7;
    color: #333;
    font-size: var(--fs-lg);
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease;
    padding: 0;
    user-select: none;
}

.qty-btn:hover {
    background: #e8e8e8;
}

.qty-btn:active {
    background: #d5d5d5;
}

.product .quantity .input-text {
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    border-radius: 0 !important;
    text-align: center;
    max-width: 50px;
    width: 50px;
    height: 40px;
    padding: 0;
    font-weight: 600;
    font-size: var(--fs-sm);
    color: var(--color-text);
    background: #fff;
    -moz-appearance: textfield;
}

.product .wc-block-components-quantity-selector>.wc-block-components-quantity-selector__button--plus {
	border-radius: 0 5px 5px 0;
	order: 3;
}

.product .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	background: none transparent;
	border: 0;
	box-shadow: none;
	color: var(--color-text);
	cursor: pointer;
	font-size: .9em;
	font-style: normal;
	font-weight: 900;
	margin: 0;
	height: -webkit-fill-available;
	opacity: 1;
	padding: 0;
	width: 25%;
	min-width: unset;
	height: 40px;
	text-align: center;
	text-decoration: none;
	order: unset;
}

.product .wc-block-components-quantity-selector:before {
	border: 1px solid hsla(0, 0%, 7%, .11);
	border-radius: var(--r-md);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.order-one-click-link,
.single_add_to_cart_button,
.out-of-stock-order__button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: normal;
    height: 40px;
    width: fit-content;
    margin: 0;
    padding: 0.6em 1em;
    float: right;
    margin-bottom: 15px;
    width: 55%;
}

.order-one-click-link.loading div,
.single_add_to_cart_button.loading span,
.out-of-stock-order__button.loading span,
.summary_wishlist_compare_container.loading img{
    display: none;
}

.order-one-click-link.loading:after,
.single_add_to_cart_button.loading:after,
.out-of-stock-order__button.loading:after {
    position: static;
}

.order-one-click-link {
	float: none;
	width: 100%;
}

.out-of-stock-order__button {
	margin: 0;
}

.share_links {
	display: flex;
	position: static;
	opacity: 1;
	visibility: visible;
	height: unset;
	width: unset;
	padding: unset;
	margin: 15px 0;
}

.share_links a {
    cursor: pointer;
    margin-top: 5px;
    margin-right: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    opacity: 0.90;
    border-radius: var(--r-md);
    transition: 0.2s !important;
    box-shadow: var(--elev-1);
}

.share_links a:hover {
	opacity: 1;
    box-shadow: 0 0 10px rgba(28, 191, 101, 0.3);
    transform: translateY(-10px);
}

.share_links a {
	color: var(--color-text) !important;
	transition: var(--dur-base) var(--ease-standard);
	font-size: var(--fs-xl);
	padding: 0;
}

.share_links a img {
	width: 18px;
	height: 18px;
}

.previous-next-product-buttons {
	position: absolute;
	right: 25px;
	top: 0;
}

.product-nav__link {
	position: relative;
	margin: 0 5px;
	padding: 15px 10px;
}

.product-nav {
    display: flex;
    background-color: #fff;
    border-radius: var(--r-md);
    box-shadow: var(--elev-2);
    position: absolute;
    top: 40px;
    right: 0;
    height: auto;
    width: 165px;
    opacity: 0;
    visibility: hidden;
    z-index: 100;
    border-top: 3px solid var(--color-main-green);
    transform: translateY(0px) scale(0.5);
    transition: 0.2s cubic-bezier(0.28, -0.01, 0.08, 0.92);
}

.product-nav:hover{
    transform: scale(1.25) !important;
}

.previous-next-product-buttons a {
	color: var(--color-text) !important;
	font-size: var(--fs-xs);
	margin: 0 4px;
	transition: var(--dur-base) var(--ease-standard);
	background: none !important;
	border: none !important;
	padding: 8px 10px !important;
	border-radius: 8px;
	outline: none;
}

.previous-next-product-buttons a:hover {
	transform: scale(1.2);
}

.product-nav__button i {
	transition: var(--dur-base) var(--ease-standard);
	font-size: var(--fs-xs);
	transform: scalex(2.5);
}

.product-nav__button:hover i {
	transform: scalex(3);
}

.product-nav .product-title {
	font-size: var(--fs-xs);
	width: 100%;
}

.product-nav__link:hover .product-nav {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.product-nav>div {
	padding: 5px;
}

.product-nav img {
	max-width: 50px;
}

.product_meta {
	display: flex;
	flex-direction: column;
}

.outofstock-order {
	margin: 0 0 10px 0;
	padding: 10px 0;
	border-top: 1px solid #e1e1e1;
	border-bottom: 1px solid #e1e1e1;
}

.woocommerce-pagination,
.woocommerce-pagination .page-numbers,
.woocommerce-pagination .page-numbers li {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
}

.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
    width: 30px;
    height: 30px;
    background-color: #fff;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 600;
    border-radius: var(--r-md);
    margin: 0 3px;
    font-size: var(--fs-sm);
    text-decoration: none;
    box-shadow: var(--elev-1);
}

.woocommerce-pagination .page-numbers li a:hover {
	border: 2px solid var(--color-main-green);
	background-color: var(--color-main-green);
	color: #fff !important;
}

.woocommerce-pagination .page-numbers li a.next {
	margin-left: 15px;
	font-size: var(--fs-sm);
	line-height: 11px;
}

.woocommerce-pagination .page-numbers li span {
	background-color: var(--color-main-green);
	color: #fff;
	border: none;
}


.summary_tools {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 0;
	border-bottom: 1px solid #e1e1e1;
	width: 100%;
}

.summary_wishlist_compare_container {
	position: relative;
}

.summary_wishlist_compare {
	display: flex;
	align-items: center;
	height: 40px;
}

.summary_wishlist_compare .add-to-favorites,
.summary_wishlist_compare .compare-product {
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: var(--elev-1);
	transition: var(--dur-base) var(--ease-standard);
}

.summary_wishlist_compare .add-to-favorites,
.summary_wishlist_compare .compare-product,
.summary_tools .urartu_share_links_item {
	position: relative;
}

.summary_tools .urartu_share_links_item:last-child {
	margin-right: 0 !important;
}

.summary_wishlist_compare .favorite_button_container {
	margin-right: 10px;
}

.summary_wishlist_compare .add-to-favorites i,
.summary_wishlist_compare .compare-product i,
.summary_tools .urartu_share_links_item i {
	z-index: 1;
	line-height: 14px;
}

.urartu_product_share_link{
    width: auto !important;
    padding: 10px !important;
    font-size: var(--fs-sm) !important;
    font-weight: 600 !important;
}

.urartu_product_share_link:before,
.urartu_product_share_link:after{
    display: none !important;
}

.urartu_product_share_link img{
    margin-right: 10px !important;
} 

.summary_tools .add-to-favorites::before,
.summary_tools .compare-product::before,
.summary_tools .urartu_share_links_item::before {
	content: attr(data-title);
	position: absolute;
	background: var(--color-text);
	color: #fff;
	display: flex;
	align-items: center;
	left: 50%;
	transform: translatex(-50%);
	top: -35px;
	width: max-content;
	height: 30px;
	z-index: 10;
	font-size: var(--fs-xs);
	padding: 10px;
	opacity: 0;
	visibility: hidden;
    border-radius: var(--r-lg);
}

.summary_tools .add-to-favorites::after,
.summary_tools .compare-product::after,
.summary_tools .urartu_share_links_item::after {
	content: '';
	position: absolute;
	background: var(--color-text);
	border-radius: 3px;
	left: 50%;
	top: -25px;
	transform: translatex(-50%) rotate(45deg);
	width: 20px;
	height: 20px;
	z-index: 1;
	opacity: 0;
	visibility: hidden;
}

.summary_tools .add-to-favorites:hover::before,
.summary_tools .compare-product:hover::before,
.summary_tools .urartu_share_links_item:hover::before,
.summary_tools .add-to-favorites:hover::after,
.summary_tools .compare-product:hover::after,
.summary_tools .urartu_share_links_item:hover::after {
	opacity: 1;
	visibility: visible;
}

.slick-next {
	right: 3px;
}

/*
 * Arrow glyphs were set in Fontawesome from its private-use area. That family
 * is registered on most pages only because Elementor loads it, so on a page
 * built without an Elementor widget the arrows were the browser's missing-glyph
 * box. css/icons.css draws them as masked SVG instead, so nothing is needed
 * here beyond position.
 */

.slick-prev {
	left: 3px;
	z-index: 99;
}

/*
 * The dark pill belongs to arrows that sit ON a photograph, where a light
 * control disappears into a pale image. It used to apply to every arrow in the
 * theme with !important, including the ones in a section's title row — a white
 * chevron on 30% black over the #F4F2EE ground, which is neither legible nor
 * what the rest of the interface looks like. Those take the surface treatment
 * from icons.css now; only the overlaid ones are darkened.
 */
.woocommerce-product-gallery .slick-prev,
.woocommerce-product-gallery .slick-next,
div.urartu-woocommerce-categories-grid .slick-arrow,
.products-in-image .slick-prev,
.products-in-image .slick-next {
	background-color: rgba(0, 0, 0, 0.4);
	border-color: transparent;
	color: #fff;
	backdrop-filter: blur(2px);
}

.slick-slide {
	opacity: 0.5;
	margin: 0 2px;
}

.woocommerce-product-gallery__wrapper .slick-slide {
	margin: 0;
}

.slick-current {
	opacity: 1;
}


/*--------------------------------------------------------------
# My Account
--------------------------------------------------------------*/

.hentry .woocommerce-error{
    margin-top: 0;
}

/* Removed: .woocommerce-account .entry-content was pinned to 75vw, and to 80vw
   once signed in. A viewport-relative measure on a page whose own container is
   already 1280px meant the account narrowed as the window widened, and on a
   1194px window the navigation and the panel shared 955px in the middle of the
   page with a hundred pixels of nothing either side. The page is boxed by
   page.php now and laid out in css/cart-checkout.css. */

.logged-in.woocommerce-account .entry-content{
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-right: auto;
    margin-left: auto;
}

/* Removed: display:contents on the account and reset-password <main>.
   It existed so the floated columns inside could reach the page's own grid —
   and it took <main> out of the layout altogether, so the container class on it
   stopped bounding anything and the page ran to both edges of the window. The
   columns are a grid now and do not need their parent to disappear. */

#customer_login {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}

#customer_login>div,
.woocommerce-account .woocommerce-form-login {
    width: 47%;
}

#customer_login>div{
    box-shadow: var(--elev-1);
    padding: 25px;
    border-radius: var(--r-lg);
}

.woocommerce-account .woocommerce-form {
    border-radius: var(--r-md);
    width: 100%;
    margin: 0;
}

.woocommerce-account .col-1 .woocommerce-form {
    margin: 0;
    width: 100%;
}

.woocommerce-account .u-columns h2 {
    margin: 25px 0;
    text-align: center;
}

.woocommerce-account .woocommerce-form>p {
    display: flex;
    flex-direction: column;
}

.woocommerce-account .woocommerce-form label,
.woocommerce-form-row label{
    display: block;
    margin-bottom: 8px;
}

.woocommerce-account .woocommerce-form input[type="password"] {
    width: 100%;
}

.woocommerce-account .woocommerce-form button {
    padding: 10px 50px;
    width: max-content;
}

.woocommerce-account .woocommerce-form .show-password-input{
    border: none;
    outline: none;
}

.woocommerce-account .form-row:last-child {
    display: block;
}

.woocommerce-account .woocommerce-Input {
    padding: 7px;
    width: 100%;
}

/* Removed: two display values for one container — inline-block, then flex once
   signed in — with the columns inside floated as well. The account is a
   two-column grid, stated once in css/cart-checkout.css. */

/* Removed: .woocommerce-account h1 { display: none } — with the two exceptions
   that had to be carved back out of it for the wishlist and compare screens.
   It was written when the account page had no heading of its own worth
   printing; page.php prints one now, and hiding every h1 on the page to
   suppress it hid that too. */

/* Removed: a floated 20% column with a 10% corner radius and a 48px top margin
   that existed to clear an avatar the markup no longer prints. */

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-author {
	display: flex;
	justify-content: center;
	margin: -56px 0 0;
}

.woocommerce-MyAccount-navigation-image-container {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 108px;
	height: 108px;
	position: relative;
}

.woocommerce-MyAccount-navigation-image-container::after,
.woocommerce-MyAccount-navigation-image-container::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	border: 0 solid transparent;
	background-clip: padding-box;
	background: linear-gradient(360deg, rgba(88, 197, 140, 1) 50%, rgba(255, 255, 255, 1) 50%);
	z-index: 1;
}

.woocommerce-MyAccount-navigation-image-container::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	right: 2px;
	bottom: 2px;
	border-radius: 50%;
	border: 0 solid transparent;
	background-clip: padding-box;
	background: #fff;
	z-index: 1;
}

.woocommerce-MyAccount-navigation-image-container img {
	border-radius: 50%;
	object-fit: cover;
	z-index: 2;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation .my-account-avatar {
	display: flex;
	justify-content: center;
	width: auto;
	height: auto;
	margin: 0 auto;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation .my-account-avatar img {
	border: 3px solid #fff;
	outline: 2px solid var(--color-main-green);
	border-radius: 100px;
	margin-top: -50px;
	width: 100px;
	height: 100px;
	background: #fff;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation ul {
	padding: 15px 30px;
	margin: 0;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation ul li {
	list-style: none;
	padding: 0;
	margin: 5px 0;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation ul li a {
    display: block;
    width: 100%;
    text-decoration: none;
    font-size: var(--fs-sm);
    font-weight: 600;
    padding: 5px 0;
    color: var(--color-text);
    transition: var(--dur-base) var(--ease-standard);
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--color-main-green);
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation ul li a::before {
	width: 14px;
	display: inline-block;
}

/* Removed: the floated 80% panel that went with it. */

.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .u-columns>div {
	width: 50%;
	float: left;
}

.woocommerce-MyAccount-navigation-link a:before {
	font-family: fontawesome;
	margin-right: 15px;
}

.woocommerce-MyAccount-navigation-link--dashboard a:before {
	content: "\f0e4";
}

.woocommerce-MyAccount-navigation-link--orders a:before {
	content: "\f0f6";
}

.woocommerce-MyAccount-navigation-link--downloads a:before {
	content: "\f019";
}

.woocommerce-MyAccount-navigation-link--edit-address a:before {
	content: "\f041";
}

.woocommerce-MyAccount-navigation-link--edit-account a:before {
	content: "\f2bc";
}

.woocommerce-MyAccount-navigation-link--customer-logout a:before {
	content: "\f2f5";
}

.woocommerce-MyAccount-navigation-link--wishlist a:before {
	content: "\f08a";
}

.woocommerce-MyAccount-navigation-link--compare a:before {
	content: '\e13a';
}

.woocommerce-MyAccount-navigation-link--payment-methods a:before {
	content: '\f09d';
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders tr{
    height: 55px;
}

/*
 * The ink on these two is derived, not white.
 *
 * They are filled with the shop's button colour, and #fff was written here as
 * though that colour were always dark. On a light accent it is not: Lumina's
 * gold measured 3.2:1 with white on it, which is below the floor for body text
 * and is why the label read as missing rather than as pale. --u-btn-fg is the
 * ink the token generator already picked for that exact background.
 */
.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.pay,
.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.view{
    margin: 0 10px 10px 0;
    color: var(--u-btn-fg, #fff);
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.pay,
.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.view,
.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.cancel{
    padding: 10px 15px;
    font-size: var(--fs-md);
    float: left;
    margin-bottom: 10px;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders /* Hover keeps a filled button filled: it darkens the ground and takes
   the ink that reads on the darker shade, rather than painting the
   label in the accent it is already sitting on. */
.woocommerce-button.button.pay:hover,
.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.view:hover{
    background-color: var(--u-btn-bg-h, var(--u-btn-bg, #2A6F62));
    color: var(--u-btn-fg-h, var(--u-btn-fg, #fff));
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.cancel {
    background: none;
    color: var(--color-main-red);
    border: none !important;
    outline: 2px solid var(--color-main-red) !important;
}

.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button.cancel:hover{
    background: var(--color-main-red) !important;
    color: #fff;
}

.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions{
    height: inherit;
} 

/*
 * Reset Password page
 */

.woocommerce-ResetPassword{
    max-width: 40vw;
    margin: 0 auto;
    box-shadow: var(--elev-1);
    padding: 25px;
    border-radius: var(--r-lg);
}

/* Contact Form 7 */

.order-one-click-container.open {
	display: flex;
	margin: 0 !important;
}

.order-one-click-container {
	display: none;
	align-items: center;
	justify-content: center;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1000;
	background: rgba(0, 0, 0, 0.7);
}

.close-popup__background {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: 100;
}

.one_click_popup__product {
	display: flex;
}

.order-one-click-container__content {
	display: contents;
}

.popup-order-one-click {
	position: relative;
	z-index: 101;
	background: #fff;
	padding: 25px;
	max-width: 400px;
	border-radius: var(--r-md);
}

.popup-order-one-click input {
    width: 100%;
    height: 40px;
    padding: 0 15px;
}

.popup-order-one-click .wpcf7-form-control-wrap{
    margin-top: 8px;
    display: block;
}

.popup-order-one-click img {
	width: 30%;
}

.order-one-click-container textarea {
	max-height: 150px;
	height: 60px;
	max-width: 100%;
	width: 100%;
}

.one_click_popup__product__title {
	width: 100%;
	display: block;
	margin-left: 15px;
	font-size: var(--fs-sm);
}

.wpcf7-list-item {
	margin: 0 10px 0 0;
}

.one_click_popup__product__title h2 {
	font-size: var(--fs-lg);
}

.order-one-click-container label {
	font-size: var(--fs-xs);
}

.popup-order-one-click__close {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	right: 5px;
	top: 5px;
	width: 25px;
		height: auto;
	font-size: var(--fs-lg);
	z-index: 100;
	cursor: pointer;
}

.popup-order-one-click p {
	position: relative;
}

.submitting .wpcf7-submit {
	font-size: 0;
}

.wpcf7-submit {
	height: 37px;
}

.popup-order-one-click p .wpcf7-spinner {
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.8);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	opacity: 1;
}

.wpcf7-spinner::before {
	background-color: var(--color-main-green);
}

/* Mini cart */

.wc-block-mini-cart__empty-cart-wrapper:before {
	display: flex;
	justify-content: center;
	font-family: Fontawesome;
	content: '\f54f';
	font-size: 120px;
	color: rgba(0, 28, 85, 0.2);
}

.wp-block-woocommerce-empty-mini-cart-contents-block .wc-block-mini-cart__empty-cart-wrapper p * {
	color: var(--color-text);
	font-family: Playfair-italic;
	font-size: var(--fs-lg);
}

.wc-block-mini-cart__empty-cart-wrapper .wp-block-button {
	margin-top: 70px;
	text-align: center;
}

.has-text-align-center {
	text-align: center;
}

.wc-block-components-button.wc-block-components-drawer__close {
	margin: 0;
	padding: 5px !important;
	right: 15px !important;
	top: 15px !important;
}

.wc-block-components-button.wc-block-components-drawer__close:focus {
	box-shadow: none !important;
}

h2.wc-block-mini-cart__title {
	font-size: 1.2em !important;
}

h2.wc-block-mini-cart__title {
	margin: 16px 16px -16px !important;
	padding-bottom: 16px !important;
	mask-image: none !important;
}

.wc-block-components-button.wc-block-components-drawer__close {
	margin: -12px !important;
}

.wc-block-components-drawer__close-wrapper {
	height: 63px;
	border-bottom: 1px solid #e1e1e1;
	margin: 0 16px;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
}

.wc-block-mini-cart__footer-actions a,
.wc-block-mini-cart__footer-actions a:hover {
	font-size: var(--fs-xs);
	font-weight: 600;
	background: var(--color-button-gradient-start) !important;
	background: var(--button-gradient) !important;
	border: 1px solid #fff !important;
	outline: 2px solid var(--color-main-green) !important;
	height: 42px !important;
	color: #fff !important;
	box-shadow: none !important;
}

.delivery_item {
	display: flex;
	align-items: center;
	width: 100%;
	float: left;
	padding: 0;
	margin: 0 0 15px 0 !important;
	line-height: 1px;

}

.delivery_item:first-child {
	margin-top: 15px !important;
}

.delivery_item:last-child {
	margin-bottom: 15px !important;
}

.delivery_item i {
	color: var(--color-text);
	font-size: var(--fs-lg);
	margin-right: 15px;
	width: 25px;
}

.delivery_item .woocommerce-Price-amount {
	margin-left: 10px;
}

/* Cart/Order Breadcrubms */

.woocommerce-cart .site-main .wp-block-woocommerce-cart{
    max-width: 100%;
    margin: 0 auto;
}

.wc-block-cart__empty-cart__title{
    position: relative;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: end;
}

.wc-block-cart__empty-cart__title:before{
    position: absolute;
    left: 0;
    right: 0;
    top: -30px;
    opacity: 0.1;
}

.wp-block-woocommerce-checkout {
	padding-top: 0 !important;
}

.wc-block-components-sidebar-layout{
    max-width: 80vw;
}

.woocommerce-checkout .site-main,
.woocommerce-checkout .entry-content {
	margin-top: 0;
}

.wc-cart-breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
    padding: 20px 0 !important;
}

.wc-cart-breadcrumb>* {
	margin-right: 15px;
}

.wc-cart-breadcrumb>*:last-child {
	margin-right: 0;
}

.wc-cart-breadcrumb * {
	color: var(--color-text) !important;
}

.wc-cart-breadcrumb-number {
	width: 26px;
	height: 26px;
	border: 1px solid var(--color-text);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	font-size: var(--fs-sm);
}

.wc-block-components-panel__button {
	font-size: var(--fs-lg);
}

.wc-cart-breadcrumb .wc-ordering-breadcrumbs {
	position: relative;
	padding: 15px 0;
}

.wc-ordering-breadcrumbs::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	right: 100%;
	height: 2px;
	background: var(--color-main-green);
	transition: 0.15s;
}

.wc-ordering-breadcrumbs:hover::after,
.active::after {
	right: 0;
}

.wc-cart-breadcrumb i {
	color: var(--u-muted-fg, rgba(0, 0, 0, 0.5));
}

.wc-block-cart__submit-container .wc-block-components-button {
	border: none !important;
	outline: none !important;
}

.woocommerce-order {
	max-width: 60%;
	margin: 0 auto;
}

.woocommerce-order>* {
	margin: 20px 0;
}

.woocommerce-thankyou-order-received {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 25px 0;
	font-size: var(--fs-lg);
	border: 2px dashed var(--color-main-green);
	text-align: center;
}

.woocommerce-thankyou-order-details {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.woocommerce-thankyou-order-details li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: var(--fs-sm);
}

.woocommerce-thankyou-order-details li strong {
	font-size: var(--fs-xs);
	color: rgba(0, 0, 0, 0.8);
	margin-top: 10px;
}

.woocommerce-table__product-name,
.woocommerce-order-details th {
	text-align: left;
	height: 45px;
    color: var(--color-text);
}

.woocommerce-table__product-total,
.woocommerce-order-details th:last-child,
.woocommerce-order-details td:last-child {
	text-align: right;
}

.woocommerce-order-details tr {
	position: relative;
}

.woocommerce-table--order-details.shop_table address{
    margin: 0;
}

.woocommerce-table__product-name .wc-item-meta{
    margin: 10px 0;
}

.woocommerce-table__product-name .wc-item-meta li{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--fs-xs);
    margin: 5px 0;
}

.woocommerce-table__product-name .wc-item-meta li p{
    font-size: var(--fs-xs);
    margin: 0;
}

.woocommerce-order-details tr::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	right: 0;
	height: 1px;
	background-color: rgba(0, 0, 0, 0.1);
}

.woocommerce-order-details tfoot tr:last-child:after {
	height: 0px;
}

.woocommerce-order .woocommerce-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.woocommerce-order .woocommerce-columns>* {
	width: 100%;
}

/* Cart & Checkout */

.wc-block-cart .wc-block-components-sidebar {
    padding: 15px !important;
    height: 100%;
    border-radius: var(--r-md);
    color: var(--color-text);
    box-shadow: var(--elev-1);
}

.wp-block-woocommerce-checkout-order-summary-block {
    border: none;
    border-radius: var(--r-md);
    box-shadow: var(--elev-1);
    padding: 15px;
}

.wc-block-components-totals-shipping .wc-block-components-totals-item strong {
    margin-left: 5px;
}

/* Secondary button.
   WooCommerce Blocks marks its lesser actions — "Return to shop", "Continue
   shopping", "Cancel" — with .outlined. Every one of them was painted in the
   primary gradient, and the rule covered :hover, :focus and :active at once, so
   the cart page showed two identical green buttons with no way to tell which
   was the main action. This gives them the quieter treatment the class asks
   for, with states that actually differ. */
.wc-block-components-button:not(.is-link).outlined {
    background: #fff;
    border: 1px solid var(--border-default);
    color: var(--color-green-text);
    line-height: 1;
    min-height: 44px;
    padding: 0.6em 1.25em;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--buttons-border-radius);
    transition: background-color var(--dur-base) var(--ease-standard),
        border-color var(--dur-base) var(--ease-standard),
        box-shadow var(--dur-base) var(--ease-standard);
}

.wc-block-components-button:not(.is-link).outlined:hover {
    background: rgba(20, 136, 72, .06);
    border-color: var(--color-green-text);
    color: var(--color-green-text);
}

.wc-block-components-button:not(.is-link).outlined:active {
    background: rgba(20, 136, 72, .12);
    transform: scale(.98);
}

.wc-block-components-button:not(.is-link).outlined:focus-visible {
    outline: 2px solid var(--color-focus-ring);
    outline-offset: 2px;
}

.is-large.wc-block-cart .wc-block-cart__totals-title {
	padding-bottom: 15px !important;
}

.wc-block-cart__submit {
	margin: 0;
}

.wc-block-components-formatted-money-amount {
	line-height: 24px;
}

.wc-block-components-product-badge {
	min-height: 24px;
}

span.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
	font-size: var(--fs-sm);
}

.wc-block-checkout__payment-method .wc-block-components-radio-control.wc-block-components-radio-control--highlight-checked {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	border: none;
	box-shadow: none !important;
	color: var(--color-text);
}

.wc-block-components-checkout-step__content .wp-element-button {
	background: none;
}

.wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option:after{
    display: none;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option {
	margin: 15px;
	border: 2px solid #e1e1e1;
	box-shadow: none !important;
	border-radius: var(--r-md);
}

.wc-block-checkout__shipping-method-option--selected,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border: 2px solid var(--color-text) !important;
}

.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__container {
	/* Was var(--color-text) — a near-black 1px outline on every field, which
	   made a plain address form read as heavily as the page's headings. The
	   resting border is now the neutral from the token scale; focus and error
	   states below supply the emphasis. */
	border: 1px solid var(--border-default) !important;
	color: var(--color-text) !important;
}

.wc-block-components-radio-control--highlight-checked:after {
	border: none !important;
}

/* Payment method radios.
   display:none removed the control from the accessibility tree and from the
   tab order, so the payment method could not be chosen by keyboard or screen
   reader at all — and with the checked indicator also stripped, the selection
   was signalled by border colour alone. The input is now visually hidden but
   still focusable, with a real radio mark drawn for sighted users. */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option .wc-block-components-radio-control__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option {
	padding: 10px 15px !important;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option::before {
	content: "";
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid var(--border-default, #D0D5DD);
	transition: border-color var(--dur-fast, 120ms) var(--ease-standard, ease),
		box-shadow var(--dur-fast, 120ms) var(--ease-standard, ease);
}

.wc-block-checkout__payment-method .wc-block-components-radio-control__option--checked::before,
.wc-block-checkout__payment-method .wc-block-components-radio-control__input:checked~*::before {
	border-color: var(--color-main-green);
	box-shadow: inset 0 0 0 4px var(--color-main-green);
}

/* Keyboard focus has to land on the option, not vanish with the input. */
.wc-block-checkout__payment-method .wc-block-components-radio-control__input:focus-visible+label,
.wc-block-checkout__payment-method .wc-block-components-radio-control__option:focus-within {
	outline: 2px solid var(--color-main-green);
	outline-offset: 2px;
	border-radius: var(--r-sm, 4px);
}

.wc-block-components-radio-control-accordion-content {
	font-size: var(--fs-xs);
}

form.wc-block-components-form.wc-block-checkout__form,
.wc-block-components-address-card,
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator.wp-block-woocommerce-checkout-terms-block,
span.wc-block-components-checkbox__label,
.wc-block-mini-cart__template-part,
.is-large.wc-block-cart .wc-block-cart-items,
.wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option.is-large.wc-block-cart .wc-block-cart-items,
.is-large .wp-block-woocommerce-checkout-order-summary-block,
.wc-blocks-components-select .wc-blocks-components-select__select {
	color: var(--color-text) !important;
}

span.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value,
ins.wc-block-components-product-price__value.is-discounted {
	background-color: rgba(255, 255, 255, 0);
	color: var(--color-main-green);
	font-size: var(--fs-lg);
}

span.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value.wc-block-components-order-summary-item__individual-price {
	font-size: var(--fs-sm) !important;
}

span.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value {
	color: var(--color-text);
}

span.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value.wc-block-components-order-summary-item__individual-price {
	color: var(--color-main-green);
}

/* UARTU WC Login/Register */

.password-input {
    display: block;
	position: relative;
    width: 100%;
}

.password-input>button {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	max-width: 45px;
	width: auto;
	padding: 5px 10px !important;
	background-color: transparent !important;
}

.woocommerce-EditAccountForm.edit-account .password-input>button{
    cursor: pointer;
    border: none;
    width: 40px;
    height: 100%;
}

.password-input>button:before {
	font-family: Fontawesome;
	color: var(--color-muted-text);
	font-size: var(--fs-xs);
	transition: var(--dur-base) var(--ease-standard);
}

.password-input>button.show-password-input:before {
	content: '\f06e';
}

.password-input>button.show-password-input.display-password:before {
	content: '\f070';
}

.password-input>button:hover:before {
	color: #444;
}

.password-input>input {
	padding-right: 32px !important;
}

/* UARTU WC MINI-CART */

.urartu_wc_mini_cart__button {
	margin: 0 0 0 40px;
}

.admin-bar .urartu_wc_mini_cart {
	padding-top: 32px;
}

.urartu_wc_mini_cart__close {
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
	visibility: hidden;
	opacity: 0;
	z-index: 999;
}

.urartu_wc_mini_cart {
	position: fixed;
	right: -500px;
	top: 0;
	bottom: 0;
	width: 480px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: var(--main-blur);
	visibility: hidden;
	opacity: 0;
	z-index: 1000;
}

.urartu_wc_mini_cart__item {
	transition: 0.3s cubic-bezier(0.55, -0.05, 0.1, 1.05);
}

.urartu_wc_mini_cart__item.ur_wc_opened {
	opacity: 1;
	visibility: visible;
    z-index: 10000;
}

/* Must come after .urartu_wc_mini_cart__item.ur_wc_opened so that
   the cart panel (which matches both) gets the higher z-index,
   keeping it above the close overlay.                     */
.urartu_wc_mini_cart.ur_wc_opened {
	right: 0;
	z-index: 10001;
}

.woocommerce-mini-cart {
	padding: 0;
}

.widget_shopping_cart_content {
	padding: 0 15px 50px;
	height: 100%;
}

.urartu_wc_mini_cart_close__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 45px;
	border-bottom: 1px solid #e1e1e1;
	font-size: var(--fs-lg);
	padding: 0 0 0 15px;
	color: var(--color-text);
}

.urartu_wc_mini_cart_close__container .close_urartu_mini-cart {
	cursor: pointer;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e1e1e1;
	font-size: var(--fs-xl);
	transition: var(--dur-fast) var(--ease-standard);
}

.urartu_wc_mini_cart_close__container .close_urartu_mini-cart:hover {
	background: var(--color-main-green);
	color: #fff;
}

.widget_shopping_cart {
	justify-content: center;
	height: 100%;
}

.woocommerce-mini-cart {
	height: 85%;
	overflow-y: auto;
}

.woocommerce-mini-cart-item,
.woocommerce-mini-cart-item a {
	display: flex;
	justify-content: space-between;
	position: relative;
	font-size: var(--fs-sm);
}

.woocommerce-mini-cart-item {
	padding: 25px 0 0;
	width: 100%;
	height: auto !important;
	margin: 0 !important;
}

.woocommerce-mini-cart-item:last-child {
	padding: 25px 0 25px;
}

.woocommerce-mini-cart-item>.total-price {
	margin-top: 15px;
}

.woocommerce-mini-cart-item h3 {
    margin-right: 45px;
}

.woocommerce-mini-cart-item .ur_mini_cart_thumb_title_qty a img {
    width: 90px;
    height: 90px;
    min-width: 90px;
    min-height: 90px;
    margin-right: 15px;
    border-radius: var(--r-md);
} 

.woocommerce-mini-cart-item .remove_from_cart_button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    position: absolute;
    right: 0;
    top: 20px;
    width: 36px;
    height: 36px;
    z-index: 1000;
    box-shadow: var(--elev-2);
    border-radius: var(--r-md);
    transition: var(--dur-base) var(--ease-standard);
}

.woocommerce-mini-cart-item .remove_from_cart_button:hover{
    color: var(--color-main-red);
}

.ur_mini_cart_title_qty {
	display: flex !important;
	flex-direction: column;
	width: 100%;
}

.ur_mini_cart_title_qty>* {
    margin: 7px 0;
}

.ur_mini_cart_title_qty .quantity,
.ur_mini_cart_title_qty .quantity bdi{
    font-size: var(--fs-md);
}

.ur_mini_cart_title_qty>*:first-child {
	margin-top: 0;
}

.ur_mini_cart_thumb_title_qty {
	display: flex;
}

.total-price {
	display: flex;
	align-items: center;
}

.total-price .woocommerce-Price-amount {
	color: var(--color-text) !important;
	font-weight: 600;
	font-size: var(--fs-md);
}

.ur_mini_cart_title_qty .wc-block-components-quantity-selector {
	width: 117px;
}

.urartu_wc_mini_cart .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
	font-size: var(--fs-lg);
	color: var(--color-text);
}

.urartu_wc_mini_cart .woocommerce-mini-cart__total bdi{
    font-weight: 700;    
}

/*
 * The two drawer buttons used to sit side by side with 10px 30px padding, which
 * left each about 161px of inner width for labels that measure 184 and 194.
 * Both wrapped and the buttons stood 73px tall, roughly double a button's
 * proper height. Trimming the padding buys only a few pixels of headroom, and
 * any longer translation spends it again — "Zur Kasse gehen", "Procéder au
 * paiement" and the like are wider still.
 *
 * Stacking removes the constraint instead of negotiating with it: each button
 * gets the full drawer width whatever its label says. It also lets the two
 * actions take a clear order, with checkout as the primary one.
 */
.urartu_wc_mini_cart .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: var(--sp-2);
}

.urartu_wc_mini_cart .woocommerce-mini-cart__buttons .button {
	display: block;
	width: 100%;
	padding: var(--sp-3) var(--sp-4) !important;
	text-align: center;
	transition: var(--dur-fast) var(--ease-standard);
}

/* Checkout leads; viewing the cart is the way back, not the way on. */
.urartu_wc_mini_cart .woocommerce-mini-cart__buttons .button.checkout {
	order: -1;
	font-weight: 700;
}

/*
 * The secondary treatment for "View cart" is NOT set here. dynamic-styles.php
 * paints every .button with `background:...!important` to suppress WooCommerce's
 * --wc-blue, and !important beats any specificity this file can muster, so the
 * rule that used to sit here computed to the primary colour anyway. The
 * exception is declared alongside the rules it has to escape, next to the
 * existing .product-nav__link.button reset.
 *
 * Weight is not part of that fight, so the secondary action steps back here.
 */
.urartu_wc_mini_cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
	font-weight: 500;
}

.urartu_wc_mini_cart .woocommerce-mini-cart__buttons .button:hover {
	background: #fff;
	color: var(--color-main-green);
}

.ur_mini_cart_title_qty .variation-item {
	margin: 5px 0;
}

.ur_mini_cart_title_qty .variation-item * {
	color: var(--color-text);
}

.wp-block-woocommerce-empty-mini-cart-contents-block {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart {
	padding-right: 10px;
}

.widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar {
	width: 8px;
}

.widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0);
}

.widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart::-webkit-scrollbar-thumb {
	background-color: var(--color-main-green);
	border-radius: 20px;
}

.widget_shopping_cart_content .wc-block-mini-cart__empty-cart-wrapper .has-text-align-center .wp-element-button {
	color: #fff;
}

.widget_shopping_cart_content .wc-block-mini-cart__empty-cart-wrapper .has-text-align-center .wp-element-button:hover {
	background: var(--button-gradient);
	border: 1px solid #fff;
	border-color: #fff !important;
	outline: 2px solid var(--color-main-green);
}

.urartu_wc_mini_cart__button {
	position: relative;
	cursor: pointer;
}

.cart-count {
	position: absolute;
	right: -5px;
    top: 8px;
	font-size: var(--fs-xs);
}

/* Pay Page*/



/* Order Info*/
.woocommerce-customer-details .woocommerce-columns {
	display: flex;
}

.woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns div{
    width: 50%;
}

.woocommerce-MyAccount-content .woocommerce-order-details .order_details .woocommerce-button.cancel{
    border: 2px solid var(--color-main-red) !important;
    outline: none !important;
    margin: 0 0 0 15px;
    color: var(--color-main-red) !important;
    background: transparent;
}

.woocommerce-MyAccount-content .woocommerce-order-details .order_details .woocommerce-button.cancel:hover{
    background: var(--color-main-red) !important;
    color: #fff !important;
}

/* Product List Widget */
.product_list_widget {
	font-size: var(--fs-xs);
	padding: 0;
}

.product_list_widget>li {
	height: auto;
	display: inline-block;
	margin: 0 0 5px;
}

.product_list_widget>li:last-child {
	margin: 0;
}

.product_list_widget>li>a {
	float: left;
	width: 25%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin-right: 10px;
}

.product_list_widget>li>a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--r-md);
}

.product_list_widget>li .product-title {
	display: inline-block;
	width: 70%;
	margin-bottom: 10px;
}

/***** Order Review *****/

#order_review{
    max-width: 60vw;
    margin: 0 auto;
}

#order_review .product-name{
    text-align: left;
    padding: 25px 0;
    float: left;
}

.woocommerce-table__product-name.product-name a,
.woocommerce-table__product-name.product-name > strong,
#order_review .product-name a{
    font-weight: 600;
    margin-bottom: 10px;
}

#order_review .product-quantity{
    text-align: center;
    margin: 0 25px;
}

#order_review .product-total{
    text-align: right;
}


#order_review tfoot tr th{
    text-align: left;
}

#order_review tbody tr td{
    text-align: right;
}

#order_review tfoot{
    position: relative;
}

#order_review tfoot:before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: #e1e1e1;
}

#order_review tfoot:after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #e1e1e1;
}

#order_review tfoot tr{
    position: relative;
    height: 50px;
}

td.product-name .wc-item-meta li{
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: var(--fs-sm);
}

td.product-name .wc-item-meta li p{
    margin: 0;
}

.wc_payment_methods.payment_methods.methods{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 0;
}

.wc_payment_methods.payment_methods.methods li{
    height: auto;    
    position: relative;
    padding: 15px;
    margin: 15px;
    border: 2px solid #e1e1e1;
    border-radius: var(--r-md);
    transition: var(--dur-base) var(--ease-standard);
}

#radio-control-wc-payment-method-options-bacs__label,
.wc-block-components-radio-control__label-group span span{
    display: flex;
    justify-content: space-between;
    align-items: start;
}

.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label img {
    margin-right: 0 !important;
    margin-left: 5px;
}

.wc_payment_method.payment_method_bacs label:after,
#radio-control-wc-payment-method-options-bacs__label:after{
    font-family: Fontawesome;
    content: '\f19c';
    margin-left: 5px;
}

#radio-control-wc-payment-method-options-bacs__label:after{
    font-size: var(--fs-lg);
}

.wc_payment_method.payment_method_bacs label:after{
    font-size: var(--fs-xl);
}

.wc_payment_methods.payment_methods.methods li:hover{
    border: 2px solid var(--color-main-green);
}

.wc_payment_methods.payment_methods.methods li.active{
    box-shadow: var(--elev-1);
    border: 2px solid var(--color-main-green);
}

.wc_payment_methods.payment_methods.methods li .input-radio{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0;
    cursor: pointer;
}

.wc_payment_methods.payment_methods.methods li label{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-size: var(--fs-sm);
    font-weight: 600;
}

table.shop_table tbody tr.order_item{
    position: relative;
}

.woocommerce-order-pay table.shop_table tbody tr.order_item:before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: #e1e1e1;
}

.woocommerce-table__product-name.product-name strong,
#order_review strong{
    font-weight: 400;
}

.payment_box{
    display: block !important;
}

.payment_box p{
    font-size: var(--fs-xs);
}

/* Not a table cell.
   This was unscoped, and .product-thumbnail is also the class WooCommerce
   puts on the cart table's header and body cells. Floating an element
   blockifies it, so th.product-thumbnail computed display:block, dropped
   out of its row and sat above the other headings. The float is meant for
   the loose thumbnail in an order review, which is neither th nor td. */
.product-thumbnail:not(th):not(td){
    float: left;
    max-width: 90px;
    margin-right: 15px;
}

#payment button{
    background: var(--color-button-gradient-start);
    background: var(--button-gradient);
    border: 2px solid #fff;
    outline: 2px solid var(--color-main-green);
    border-radius: var(--r-md);
    color: #fff;
    padding: 10px 25px;
    cursor: pointer;
    font-weight: 600;
    transition: var(--dur-base) var(--ease-standard);
}

#payment button:hover{
    background: #fff;
    color: var(--color-main-green);
}

/* Скрываем стандартный чекбокс */
.woocommerce-form__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    outline: 2px solid #ccc;
    border-radius: var(--r-md);
    border: none;
    cursor: pointer;
    vertical-align: middle;
    position: relative;
    margin-right: 8px;
    cursor: pointer;
    transition: var(--dur-base) var(--ease-standard);
}

/*
 * A ticked box is the shop's own colour.
 *
 * The fill already followed the palette; the ring around it was a literal
 * Material green, so every shop got one #4CAF50 outline on the login form
 * and nowhere else. Both come from the button colour now, which is the
 * accent the rest of the form answers to.
 */
.woocommerce-form__input:checked {
    background-color: var(--u-btn-bg, var(--color-main-green));
    outline-color: var(--u-btn-bg, var(--color-main-green));
}

.woocommerce-form__input:checked::after {
    font-family: Fontawesome;
    content: "\f00c"; 
    display: block;
        /* The tick sits on the fill above, so it takes the ink derived for it. */
    color: var(--u-btn-fg, #fff);
    font-size: var(--fs-sm);
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#order_review tfoot tr:after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #e1e1e1;
}

#order_review tfoot tr:last-child:after{
    display: none;
}

/*
 * The order summary prices are prices, not accents.
 *
 * This read --color-main-green, which now resolves to whatever the shop set as
 * its accent: on Lumina that is gold, and gold on the summary's ground measures
 * 3.01:1 — the figure the shopper is about to be charged was the least legible
 * thing on the checkout. It also disagreed with every other price on the site,
 * which follows the Price colour set in Theme Options. Same variable as the
 * rest of them, so the total in the summary matches the total in the cart.
 */
#order_review .woocommerce-Price-amount {
    color: var(--color-price-green, var(--u-surface-fg, #241F1C));
    font-weight: 700;
}

.woocommerce-order-pay .entry-content > .woocommerce{
    max-width: 60vw;
    margin: 0 auto;
}

.woocommerce-order-pay .entry-content > .woocommerce p.form-row{
    display: flex;
    flex-direction: column;
}

.woocommerce-order-pay .entry-content > .woocommerce p.form-row label{
    display: block;
    margin-bottom: 8px;
}

.woocommerce-order-pay .entry-content > .woocommerce p.form-row input.input-text{
    padding: 7px;
    width: 100%;
}

.woocommerce-order-pay .entry-content > .woocommerce p.form-row .show-password-input{
    display: flex;
    align-items: center;
    padding: 10px 20px !important;
    font-size: var(--fs-sm);
    font-weight: 600;
    width: max-content;
    line-height: unset !important;
    width: max-content;
    background-color: var(--color-main-green);
    color: #fff;
    border: none;
    cursor: pointer;
}

.woocommerce-order-pay .entry-content > .woocommerce p.form-row button{
    width: fit-content;
    padding: 10px 25px;
}

.woocommerce-order-pay .entry-content > .woocommerce p.form-row .woocommerce-form__label,
.entry-content > .woocommerce p.form-row .woocommerce-form__label{
    display: flex;
    margin: 0 0 1em;
}

@media screen and (max-width: 580px) {
    
    .woocommerce-order-pay .entry-content > .woocommerce {
        max-width: 90vw;
    }
    
    /***** Order Review *****/
    
    #order_review {
        max-width: 90vw;
    }
        
    .wc_payment_methods.payment_methods.methods {
        grid-template-columns: 1fr;
    }

    .product-thumbnail {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }
    
    .product-thumbnail img{
        width: 100%;
    }
    
    #order_review .product-name{
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    td.product-name a{
        font-size: var(--fs-sm);
    }
    
    td.product-name .wc-item-meta{
        width: 100%;
        float: left;
        margin: 0;
        padding: 0;
    }
    
    td.product-name .wc-item-meta li,
    td.product-name .wc-item-meta li p{
        font-size: var(--fs-xs);
        width: max-content;
    }
    
    #order_review .product-total {
        width: 45%;
    }

	/***** Mini Cart *****/

	.urartu_wc_mini_cart {
		width: 100vw;
	}

	.woocommerce-mini-cart-item {
		flex-direction: column;
	}

	.product.ur_mini_cart_title_qty .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
	.product.ur_mini_cart_title_qty .wc-block-components-quantity-selector .mini-cart-quantity {
		height: 30px;
	}

}

@media screen and (max-width: 768px) {

	.shop-page__container .shop-page__content {
		width: 100%;
		margin-left: 0;
		position: relative;
	}

	.shop-page__container {
		position: unset;
		display: flex;
		margin: 0;
	}
	
    .woocommerce-shop .shop-page__container {
        margin: 1em 0;
    }

    .widget_block:has(div.mobile-categories) {
        display: block;
    }

	/***** Mini Cart *****/

	.urartu_wc_mini_cart .woocommerce-mini-cart__buttons {
		flex-direction: column;
		text-align: center;
	}

	.woocommerce-mini-cart {
		height: 75%;
		overflow-y: auto;
	}

	.product.ur_mini_cart_title_qty .wc-block-components-quantity-selector {
		width: 119px !important;
		height: 30px;
	    margin: 7px 0;
	}

	.urartu_wc_mini_cart .woocommerce-mini-cart__buttons .button {
		margin: 15px 0;
	}

	/***** Shop *****/

	/** Shop categories **/
	
    div.urartu-woocommerce-categories-grid{
        display: flex;
        margin-top: 10px;
        position: relative;
    }
    
    div.urartu-woocommerce-categories-grid::before{
        content: '';
        position: absolute;
        background: #fff;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 3;
    }
    
    div.urartu-woocommerce-categories-grid::after {
        content: '';
        width: calc(100% - 30px);
        height: calc(100% - 15px);
        top: 15px;
        left: 15px;
        position: absolute;
        background: 
            /* Shimmer-эффект (двигается) */
            linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7) 50%, transparent 100%),
            /* Белая полоска (статичная) */
            linear-gradient(#DDD 100%, transparent 0);
        background-repeat: no-repeat;
        background-size: 100px 100%, 100% 100%; /* Ширина shimmer 100px, полоска на всю ширину */
        background-position: 
            -150px 0, /* Начальная позиция shimmer слева */
            0 0;      /* Полоска на всю ширину */
        animation: animloader 1.5s linear infinite;
        z-index: 3;
        box-sizing: border-box;
    }
    
    @keyframes animloader {
        to {
            background-position: 
                calc(100% + 150px) 0, /* Shimmer уходит вправо */
                0 0;                   /* Полоска остается на месте */
        }
    }

    div.urartu-woocommerce-categories-grid.slick-initialized::after,
    div.urartu-woocommerce-categories-grid.slick-initialized::before{
        display: none;
    }    
    
    div.urartu-woocommerce-categories-grid div.urartu-wc-category-card img.urartu-wc-category-full-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    div.urartu-woocommerce-categories-grid div.urartu-wc-category-card h3.urartu-wc-title {
        font-size: var(--fs-sm);
    }

    div.urartu-woocommerce-categories-grid .slick-arrow{
        width: 35px;
        height: 35px;
        border-radius: var(--r-md);
        backdrop-filter: blur(1px);
    }
    
    div.urartu-woocommerce-categories-grid .slick-arrow.slick-next{
        right: 15px;
    }

    div.urartu-woocommerce-categories-grid .slick-arrow.slick-prev{
        left: 15px;
    }

	ul.products {
		justify-content: space-between;
	}

	/* The grid sets the column; a width here is applied inside the cell. At
	   49% every card in a two-column phone grid was half its cell — 90px wide,
	   the title cut to a word. The float-era value stayed because the shop
	   page overrides it and only the front-page widgets showed it. */
	ul.products li.product {
		width: auto;
		margin-bottom: 0;
	}

	ul.products li.product .short-description {
		display: none;
	}

	ul.products li.product span.price {
		font-size: var(--fs-sm);
	}

    li.product div.woocommerce-product-details__categories,
    ul.products li.product span.price bdi, .wc-block-grid__product-price.price,
    ul.products li.product > div.product-content > span > span > bdi,
    ul.products li.product span.price ins bdi,
    ul.products li.product h2.woocommerce-loop-product__title{
        font-size: var(--fs-sm) !important; 
    }

    ul.products li.product h2.woocommerce-loop-product__title::before {
        left: 35%;
        right: 35%;
    }

    .woocommerce-pagination{
        margin-top: 6px;
    }

	.shop-page__container .shop-page__sidebar {
		display: unset !important;
		position: fixed;
		top: 0;
		bottom: 0;
		left: -100%;
		width: 0;
		min-width: 0;
		z-index: 110;
	}

	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .entry-summary {
		position: relative;
		width: 100%;
		padding: 0;
	}

	.single-product div.product .woocommerce-product-gallery {
		border-bottom: 1px solid #e1e1e1;
	}

	.woocommerce-Reviews {
		grid-template-columns: 1fr;
	}

	.woocommerce-Reviews,
	.woocommerce-Reviews commentlist,
	.woocommerce-Reviews #review_form_wrapper {
		padding: 0;
	}

	.shop-page__sidebar.closed {
		padding: 0 0 25px;
		min-width: 100%;
		width: 100%;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		background: #fff;
		overflow-y: scroll;
	}

	.admin-bar .shop-page__sidebar.closed {
		padding-top: 46px;
	}

	.shop-page__sidebar.closed>* {
		margin: 30px 20px 0;
	}

	.shop-page__sidebar.closed>*:first-child {
		padding: 16px;
		margin: 0;
	}

	.shop-page__container .shop-page__content {
		padding: 0;
	}

	.single-product div.product {
		display: flex;
		flex-direction: column;
	}

	.outofstock-order {
		display: flex;
	}

	.out-of-stock-order__button {
		margin: 0 !important;
	}

	.reset_variations {
		margin-left: 30px;
	}

	.single-product div.product .entry-summary h1 {
		font-size: var(--fs-xl);
	}

	.woocommerce-tools {
		display: inline-flex;
		padding: 5px;
	}

	.woocommerce-tools>div {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: space-between;
		width: 50%;
		float: left;
	}

	.woocommerce-tools>div>*:first-child {
		margin-bottom: 5px;
	}

	.woocommerce-tools>div>*:last-child {
		margin-top: 5px;
	}

	.woocommerce-tools>div:last-child {
		float: right;
		align-items: end;
		flex-direction: column-reverse;
	}

	.woocommerce-tools>div:last-child>*:first-child {
		padding: 10px 0 0;
		margin: 0;
	}

	.woocommerce-tools>div:last-child>*:last-child {
		margin: 0;
	}

	.sidebar-button-container .sidebar-button__title {
		font-size: var(--fs-md);
		margin-left: 10px;
	}

	.shop-page__content .sidebar-button,
	.shop-page__content .grid-buttons,
	.shop-page__content .woocommerce-result-count,
	.shop-page__content .woocommerce-ordering {
		height: auto;
		margin: 0;
	}

	.sidebar-button {
		margin: 0 !important;
		width: 100%;
		align-items: center;
	}

	.shop-page__content .sidebar-button i {
		font-size: var(--fs-lg);
	}

	.urartu-view-buttons p {
		margin: 0 10px 0 0;
	}

	.grid-button {
		margin: 0 5px 0 0;
	}

	.product .woocommerce-variation-add-to-cart {
		flex-wrap: wrap;
	}

	.woocommerce-tabs ul.tabs li a {
		padding: 10px 7px;
		font-size: var(--fs-xs);
	}

	.order-one-click__button,
	.single_add_to_cart_button {
		margin: 0;
		font-size: var(--fs-xs);
		float: right;
	}

	.product .wc-block-components-quantity-selector {
		display: flex;
		width: 107px;
		min-width: 107px;
		height: 40px;
		margin-bottom: 15px;
		float: left;
	}

	.order-one-click-link {
		width: 100%;
		margin-bottom: 15px;
	}

	.product .quantity .input-text {
		height: 40px;
		float: left;
	}

	div.procuct__quick_view>div.procuct__quick_view__container>div.quick_view__content.entry-summary.summary>form>div>div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled>div>button.minus.wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--minus {
		float: left;
	}

	div.procuct__quick_view>div.procuct__quick_view__container>div.quick_view__content.entry-summary.summary>form>div>div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled>a>div {
		margin-left: 0 !important;
	}

	/*/ Woocommerce Pagination /*/

	.woocommerce-pagination .page-numbers li a,
	.woocommerce-pagination .page-numbers li span {
		width: 26px;
		height: 26px;
		font-size: var(--fs-xs);
	}

    .load-more-container {
        margin: 42px 0 32px !important;
    }
    
    .woocommerce-pagination {
        margin: 0 0 36px;
    }

	/*Woocommerce my account*/

	.woocommerce-account .site-main {
		margin: 0;
	}
	
	#customer_login{
        flex-direction: column;
        gap: 3em;
	}

	#customer_login>div {
        width: 100% !important;
        max-width: 400px;
        margin: 0 auto;
	}
	
	.woocommerce-ResetPassword,
	.woocommerce-account .entry-content,
	.logged-in.woocommerce-account .entry-content{
        max-width: 100%;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding: 0 15px;
    }
    
    .woocommerce-account .entry-content {
        max-width: 100%;
        margin: 3em 0;
        padding: 0 15px;
    }    
    
    .woocommerce-ResetPassword{
        padding: 25px;
    }
	

	.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation {
		margin-top: 60px;
	}
	
	table.shop_table_responsive tbody th{
        display: block;
    }
	
	td.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions:last-child:before{
	    margin-bottom: 10px;
	}
	
	.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .woocommerce-orders-table.woocommerce-MyAccount-orders .woocommerce-button.button{
	    margin: 10px 15px 10px 0 !important;
	}

    .woocommerce-account .woocommerce{
        flex-direction: column;
    }

	.woocommerce-account .woocommerce>.woocommerce-MyAccount-content,
	.woocommerce-account .woocommerce>.woocommerce-MyAccount-navigation {
		width: 100%;
	}

	.woocommerce-account .woocommerce>.woocommerce-MyAccount-content .u-columns>div {
		width: 100%;
		float: left;
	}

    .woocommerce-account .woocommerce-form>p {
        align-items: center;
    }

    .mobile-categories{
        display: block;
    }

	/*Woocomemrce bottom tools*/

    .bottom-tools {
        border-radius: var(--bt-radius, 20px);
        display: grid;
        grid-template-columns: repeat(var(--bt-cols, 5), 1fr);
        position: fixed;
        left: 5%;
        bottom: 2%;
        right: 5%;
        min-height: 60px;
        padding: 15px 0;
        background: var(--bt-bg, var(--background-transparrent));
        background: var(--bt-bg-rgba, var(--bt-bg, var(--background-transparrent)));
        backdrop-filter: blur(var(--bt-blur, 0px));
        -webkit-backdrop-filter: blur(var(--bt-blur, 0px));
        box-shadow: var(--bt-shadow, 0 0 15px rgba(0, 0, 0, 0.2));
        z-index: 101;
    }

    .bottom-tools a {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        height: 100%;
        gap: 4px;
        text-decoration: none;
    }

    .bottom-tools a i {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--fs-xl);
        color: var(--bt-text, #ffffff);
        transition: color 0.2s;
    }

    .bottom-tools .tools-item a img {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 6vw;
        filter: invert(100%) brightness(1.5) drop-shadow(0px 0px 1px #000);
    }

    .bottom-tools .tools-item.active a i {
        color: var(--bt-active, #4caf50);
    }

    .bottom-tools .tools-item.active a img {
        filter: invert(47%) sepia(85%) saturate(468%) hue-rotate(97deg) brightness(94%) contrast(91%);
    }

    .tools-item-label {
        font-size: 2.8vw;
        color: var(--bt-text, #ffffff);
        line-height: 1;
    }

    .as-white-header .bottom-tools a img {
        filter: none;
    }

    .as-white-header .bottom-tools {
        background: var(--background-transparrent-light);
    }

	/* WooCommerce makes the checkout button sticky on mobile on purpose: the
	   cart list is long on a phone and the button otherwise scrolls away.
	   Forcing it static was costing conversions. The real conflict was with the
	   fixed .bottom-tools bar, so sit above it instead — and hide that bar on
	   the cart page, where its links are redundant. */
	.wc-block-cart .wc-block-cart__submit-container--sticky {
		bottom: calc(90px + env(safe-area-inset-bottom, 0px));
		z-index: 100;
	}

	body.woocommerce-cart .bottom-tools {
		display: none;
	}

	.woocommerce-product-gallery__wrapper {
		height: unset;
	}

	.woocommerce-product-gallery {
		display: flex;
		height: 100%;
		flex-direction: column;
	}

	.summary_tools {
		flex-direction: column;
		align-items: start;
		margin-bottom: 15px;
	}

	/*Popup order*/

	.popup-order-one-click {
		width: 90%;
		max-height: 85%;
		overflow-y: scroll;
	}

	.popup-order-one-click input {
		width: 100%;
	}

	.order-one-click-container textarea {
		max-height: 80px;
	}

	.order-one-click-container img {
		display: block;
		width: 30%;
	}

	.previous-next-product-buttons {
		right: 5px;
		top: 5px;
	}

	.share_links a {
		width: 30px;
		height: 30px;
	}
	
	/* WC Cart Page */
	
	.woocommerce-cart .site-main .wp-block-woocommerce-cart{
	    margin: 0;
	}
	
    .wc-block-components-sidebar-layout {
        max-width: 100%;
        margin: 0 !important;
    }

	/* WC Cart Breadcrumb */
    .wc-cart-breadcrumb *, 
    .wc-cart-breadcrumb i {
        display: none;
        margin: 0;
    }

	.wc-cart-breadcrumb .active {
		display: flex;
	}

	/* Order completed */
	.woocommerce-order {
		max-width: 100%;
	}

	.woocommerce-thankyou-order-details {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.woocommerce-thankyou-order-details li {
		display: flex;
		margin-bottom: 10px;
		font-size: var(--fs-lg);
		border-bottom: 1px solid #e1e1e1;
		padding: 10px;
	}

	.woocommerce-thankyou-order-details li:last-child {
		margin-bottom: 0;
		border-bottom: none;
	}

	/* Order page */
	.wc-block-checkout__payment-method .wc-block-components-radio-control.wc-block-components-radio-control--highlight-checked {
		grid-template-columns: 1fr;
	}

	.wc-block-components-payment-method-label::after {
		font-family: Fontawesome;
		content: '\f19c';
		font-size: var(--fs-xl);
		margin-right: 20px;
	}

	.wc-block-components-payment-method-label {
		display: flex;
		justify-content: space-between;
		align-items: start;
		width: 100%;
	}

}

@media screen and (max-width: 365px) {
    .woocommerce-tabs ul.tabs li {
        margin: 0 5px;
    }

    .woocommerce-tabs ul.tabs li a {
        font-size: var(--fs-xs);
        padding: 10px 5px;
    }
}

/* =========================================================================
   Accessibility — keyboard focus for WooCommerce controls (see style.css).
   Targeted :focus-visible overrides for focusable controls that suppress the
   outline (some with !important). Matched at equal-or-higher specificity and
   placed last so they win the cascade for keyboard users (WCAG 2.4.7).
   ========================================================================= */
.wc-block-cart__submit-container .wc-block-components-button:focus-visible,
.woocommerce-MyAccount-content .woocommerce-order-details .order_details .woocommerce-button.cancel:focus-visible,
.product .quantity .input-text:focus-visible,
div.single_variation_wrap input:focus-visible,
.product-type-variable .summary .variations td select:focus-visible,
.woocommerce-account .woocommerce-form .show-password-input:focus-visible,
.ui-slider .ui-slider-handle:focus-visible {
    outline: 2px solid var(--color-main-green) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px rgba(28, 191, 101, .25) !important;
}

/* =========================================================================
   Shop page — toolbar layout
   ========================================================================= */
.shop-page__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: var(--r-md);
    box-shadow: var(--urartu-shadow, 0 0 15px rgba(0, 0, 0, 0.1));
}

/* =========================================================================
   Search page grid columns (blog-posts with grid-button toggle)
   ========================================================================= */

/*
 * The theme's dynamic-styles.php outputs a base grid:
 *   .blog-layout-grid .blog-posts { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
 * These column-class overrides change the column count. Higher specificity
 * (0,2,0 vs 0,1,0) ensures they always win.
 */
.blog-layout-grid .blog-posts.columns-1 {
    grid-template-columns: 1fr;
}
.blog-layout-grid .blog-posts.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}
.blog-layout-grid .blog-posts.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}
.blog-layout-grid .blog-posts.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Columns-1 horizontal layout (thumbnail beside content). */
.blog-layout-grid .blog-posts.columns-1 > article {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}
.blog-layout-grid .blog-posts.columns-1 > article > a.post-thumbnail {
    flex-shrink: 0;
    width: 200px;
}
.blog-layout-grid .blog-posts.columns-1 > article .article-content {
    flex: 1;
    min-width: 0;
}

/* Loading state for search results (matches catalog's urartu-products-loading). */
.urartu-products-loading #search-results-list {
    opacity: .4;
    pointer-events: none;
    transition: opacity .2s ease;
}

/* Search page header - full width above sidebar+content container */
.search-page .search-page__header {
    width: 100%;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e1e1e1;
}

.search-page .search-page__header .search-page-page-title {
    font-size: 1.25rem;
    margin: 0;
}

/* Search page toolbar - matches shop toolbar */
.search-page__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: var(--r-md);
    box-shadow: var(--urartu-shadow, 0 0 15px rgba(0, 0, 0, 0.1));
}

.search-page__toolbar .shop-page__toolbar-left,
.search-page__toolbar .shop-page__toolbar-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.search-page__toolbar .shop-page__toolbar-right {
    margin-left: auto;
}

.shop-page__toolbar-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.shop-page__toolbar-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

/* =========================================================================
   Grid / List View Toggle (shop toolbar)
   ========================================================================= */
.urartu-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-right: 12px;
}

.urartu-view-toggle__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--woo-border, #ddd);
    border-radius: var(--r-sm);
    background: var(--color-white, #fff);
    color: var(--color-text, #333);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: var(--fs-sm);
    line-height: 1;
}

.urartu-view-toggle__btn:hover {
    border-color: var(--color-main-green, #C47B6A);
    color: var(--color-main-green, #C47B6A);
}

.urartu-view-toggle__btn.active {
    border-color: var(--color-main-green, #C47B6A);
    background: var(--color-main-green, #C47B6A);
    color: var(--color-white, #fff);
}

.urartu-view-toggle__btn:focus-visible {
    outline: 2px solid var(--color-main-green, #C47B6A);
    outline-offset: 2px;
}

/* =========================================================================
   Products Per Page Selector (shop toolbar)
   ========================================================================= */
.urartu-per-page {
    display: inline-flex;
    align-items: center;
    margin-right: 12px;
}

.urartu-per-page__select {
    padding: 4px 28px 4px 8px;
    border: 1px solid var(--woo-border, #ddd);
    border-radius: var(--r-sm);
    background: var(--color-white, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") no-repeat right 8px center;
    color: var(--color-text, #333);
    font-size: var(--fs-sm);
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.urartu-per-page__select:focus-visible {
    outline: 2px solid var(--color-main-green, #C47B6A);
    outline-offset: 2px;
}

/* =========================================================================
   List View Styles (urartu-shop-view-list body class)
   ========================================================================= */
body.urartu-shop-view-list ul.products {
    display: block !important;
}

body.urartu-shop-view-list ul.products li.product {
    display: flex !important;
    flex-direction: row;
    width: 100% !important;
    margin-bottom: 20px;
    padding: 16px;
    border: 1px solid var(--woo-border, #eee);
    border-radius: 8px;
    background: var(--color-white, #fff);
    gap: 20px;
}

body.urartu-shop-view-list ul.products li.product .woocommerce-loop-product__link,
body.urartu-shop-view-list ul.products li.product a img {
    width: 200px;
    min-width: 200px;
    height: auto;
    object-fit: cover;
    border-radius: 6px;
}

body.urartu-shop-view-list ul.products li.product .woocommerce-loop-product__title {
    font-size: var(--fs-md);
    margin: 0 0 8px;
}

body.urartu-shop-view-list ul.products li.product .price {
    margin: 0 0 12px;
}

body.urartu-shop-view-list ul.products li.product .button {
    margin-top: auto;
    align-self: flex-start;
}

body.urartu-shop-view-list ul.products li.product .star-rating {
    margin: 0 0 8px;
}

body.urartu-shop-view-list ul.products li.product .woocommerce-product-details__categories {
    margin: 0 0 6px;
}

/* List view content wrapper */
body.urartu-shop-view-list ul.products li.product .product-list-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Ensure consistent height for list items */
body.urartu-shop-view-list ul.products li.product .added_to_cart {
    margin-top: auto;
}

@media (max-width: 768px) {
    body.urartu-shop-view-list ul.products li.product {
        flex-direction: column;
    }

    body.urartu-shop-view-list ul.products li.product .woocommerce-loop-product__link,
    body.urartu-shop-view-list ul.products li.product a img {
        width: 100%;
        min-width: auto;
    }
}

/* =========================================================================
   Brand logo — catalog cards & single product
   ========================================================================= */

/* ---- Catalog / loop ---- */
ul.products li.product .urartu-product-brand {
	margin: 0 auto 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	line-height: 1;
}
ul.products li.product .urartu-product-brand__image {
	max-height: 30px;
	max-width: 120px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

/* ---- Single product ---- */
.single-product .urartu-product-brand {
	margin: 0 0 14px;
	line-height: 1;
}
.single-product .urartu-product-brand__image {
	max-height: 40px;
	max-width: 180px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

/* ---- Mobile (catalog) ---- */
@media (max-width: 768px) {
	ul.products li.product .urartu-product-brand__image {
		max-height: 24px;
		max-width: 80px;
	}
	.single-product .urartu-product-brand__image {
		max-height: 32px;
		max-width: 140px;
	}
}

/* =========================================================================
   Commerce UX corrections
   -------------------------------------------------------------------------
   Appended deliberately: these override earlier declarations in this file
   without having to raise specificity or add !important.
   ========================================================================= */

/* --- Card alignment -----------------------------------------------------
   Price and button sit at a consistent height regardless of how long the
   product name runs. */
ul.products li.product {
	display: flex;
	flex-direction: column;
	/* Kept from the days when ul.products was a wrapping flex row and a card's
	   declared width was only a base size that flex-shrink could squeeze. The
	   grid sizes the cards now; this is harmless there and still protects any
	   child theme that puts the list back into flex. */
	flex-shrink: 0;
}

ul.products li.product>div.product-content {
	display: flex;
	flex-direction: column;
	flex: 1;
}

ul.products li.product>div.product-content>.price,
ul.products li.product>div.product-content>.price-container {
	margin-top: auto;
}

/* Variable products print "from X – to Y"; without wrapping this overflowed
   the card horizontally at 18px. */
ul.products li.product .price {
	flex-wrap: wrap;
	column-gap: var(--sp-1);
}

/* --- Out of stock -------------------------------------------------------
   The catalogue gave no hint at all, so shoppers clicked through to a dead
   end. */
li.product.outofstock .product-image-main,
li.product.outofstock .product-image-wrapper {
	position: relative;
}

li.product.outofstock .main-product-img {
	filter: grayscale(.6);
	opacity: .75;
}

/* --- Tools panel tooltip ------------------------------------------------
   The active state resolved colour and background to the same fallback, so
   "In wishlist" was green text on a green chip at 1:1. */
.product__tools_panel>*.active::before {
	color: var(--urartu-button-text, #fff);
}

/* --- Variation selects --------------------------------------------------
   A hard 190px truncated long attribute values and overflowed .summary on
   narrow screens; 35px was also below the 44px touch minimum. */
table.variations select,
div.single_variation_wrap input {
	width: 100%;
	max-width: 280px;
	min-height: 44px;
}

/* --- Checkout ------------------------------------------------------------ */

/* 80vw left 75px of dead margin on a 375px phone and ballooned to 1536px on a
   desktop, pushing form rows past a readable line length. */
.wc-block-components-sidebar-layout {
	max-width: min(1200px, 92vw);
}

/* iOS zooms the page whenever a focused field is under 16px, and the zoom
   cannot be undone by the visitor. */
.wc-block-components-text-input input,
.wc-blocks-components-select .wc-blocks-components-select__container {
	min-height: 48px;
	font-size: var(--fs-md);
}

/* Payment methods and the order summary were locked to 3 and 5 columns, which
   crushed the labels between tablet and desktop widths. */
.wc-block-components-radio-control--highlight-checked {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.woocommerce-thankyou-order-details {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.woocommerce-order {
	max-width: min(760px, 92vw);
}

/* Progress indicator: the fill used to advance on hover over any step, so an
   unvisited step looked completed. */
.wc-ordering-breadcrumbs:hover::after {
	right: 100%;
}

.wc-ordering-breadcrumbs.active::after {
	right: 0;
}

/* --- Form errors ---------------------------------------------------------
   The theme styled no error state at all, leaving a thin left bar as the only
   signal. */
.woocommerce-invalid input,
.wc-block-components-text-input.has-error input {
	border-color: var(--color-main-red) !important;
	box-shadow: 0 0 0 3px rgba(193, 18, 31, .12);
}

.woocommerce-error {
	border-left: 4px solid var(--color-main-red);
	background: #FEF3F2;
	border-radius: var(--r-sm);
	padding: var(--sp-4);
}

/* --- Mobile ------------------------------------------------------------- */
@media (max-width: 768px) {

	/* The fixed bar overlapped the last row of products and the "load more"
	   button, and sat on top of the gesture indicator on modern phones. */
	body {
		padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px));
	}

	.bottom-tools {
		bottom: calc(8px + env(safe-area-inset-bottom, 0px));
	}

	/* 2.8vw resolved to 8.9px on a 320px screen. */
	.tools-item-label {
		font-size: clamp(11px, 2.8vw, 13px);
	}

	.bottom-tools .tools-item a img {
		width: 24px;
		height: 24px;
	}

	/* 25px targets in the catalogue toolbar. */
	.grid-button,
	.product-per-page-button {
		min-height: 44px;
		min-width: 44px;
	}

	/* The quantity steppers sat at 36x40, right next to the add-to-cart button
	   — the easiest pair of controls on the page to mis-tap. */
	.qty-btn {
		min-width: 44px;
		width: 44px;
		height: 44px;
	}

	.quantity .input-text.qty {
		height: 44px;
	}
}

/* --- Motion preference ---------------------------------------------------
   The theme shipped nine keyframe animations, an infinite spinner and
   autoplaying carousels with no reduced-motion path. */
@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* --- Pagination ----------------------------------------------------------
   30x30 on desktop and 26x26 on mobile, below the 24x24 CSS-pixel floor of
   WCAG 2.5.8 once the gaps are taken into account — on the main way of moving
   through a catalogue on a phone. */
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--fs-sm);
	margin: var(--sp-1);
}

@media (max-width: 768px) {

	.woocommerce-pagination .page-numbers li a,
	.woocommerce-pagination .page-numbers li span {
		min-width: 44px;
		min-height: 44px;
		font-size: var(--fs-sm);
	}
}

/* Removes the 300ms double-tap-zoom delay iOS applies to tappable elements. */
button,
.button,
a.button,
[role="button"],
.page-numbers,
.qty-btn,
.grid-button,
.product-per-page-button {
	touch-action: manipulation;
}

/* =========================================================================
   Button hierarchy
   -------------------------------------------------------------------------
   One screen should carry one primary action. The theme painted every button
   in the same gradient — add to cart, "continue shopping", "apply coupon" —
   so nothing signalled which action mattered. These three levels are applied
   to the WooCommerce controls that correspond to each role, and are also
   available as utility classes for the buyer's own markup.
   ========================================================================= */

.urartu-btn,
.urartu-btn--primary,
.urartu-btn--secondary,
.urartu-btn--ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-2);
	min-height: 44px;
	padding: 0 var(--sp-5);
	border: 1px solid transparent;
	border-radius: var(--buttons-border-radius);
	font-size: var(--fs-sm);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	touch-action: manipulation;
	transition: filter var(--dur-base) var(--ease-standard),
		background-color var(--dur-base) var(--ease-standard),
		border-color var(--dur-base) var(--ease-standard),
		box-shadow var(--dur-base) var(--ease-standard),
		transform var(--dur-fast) var(--ease-standard);
}

/* --- Primary: the one action the page exists for --- */
.urartu-btn--primary {
	background: var(--button-gradient);
	color: #fff;
}

.urartu-btn--primary:hover {
	filter: brightness(1.07);
	box-shadow: var(--elev-2);
	color: #fff;
}

/* --- Secondary: real alternatives, not decoration --- */
.urartu-btn--secondary,
.woocommerce-cart .return-to-shop .button,
.wc-backward,
.checkout_coupon .button,
.woocommerce-form-coupon .button {
	background: #fff;
	border-color: var(--border-default);
	color: var(--color-green-text);
}

.urartu-btn--secondary:hover,
.woocommerce-cart .return-to-shop .button:hover,
.wc-backward:hover,
.checkout_coupon .button:hover,
.woocommerce-form-coupon .button:hover {
	background: rgba(20, 136, 72, .06);
	border-color: var(--color-green-text);
	color: var(--color-green-text);
	/* No gradient inherited from the generic .button rule. */
	filter: none;
}

/* --- Ghost: tertiary, sits inside dense UI --- */
.urartu-btn--ghost {
	background: transparent;
	color: var(--color-text);
}

.urartu-btn--ghost:hover {
	background: rgba(0, 0, 0, .04);
}

/* --- States shared by all three --- */
.urartu-btn:active,
.urartu-btn--primary:active,
.urartu-btn--secondary:active,
.urartu-btn--ghost:active {
	transform: scale(.97);
	box-shadow: none;
}

.urartu-btn:focus-visible,
.urartu-btn--primary:focus-visible,
.urartu-btn--secondary:focus-visible,
.urartu-btn--ghost:focus-visible {
	outline: 2px solid var(--color-focus-ring);
	outline-offset: 2px;
}

.urartu-btn[disabled],
.urartu-btn--primary[disabled],
.urartu-btn--secondary[disabled],
.urartu-btn--ghost[disabled],
.urartu-btn[aria-disabled="true"] {
	background: var(--border-default);
	border-color: transparent;
	color: #667085;
	filter: none;
	box-shadow: none;
	transform: none;
	cursor: not-allowed;
}

/* Busy state for anything that fires a request. */
.urartu-btn.is-loading,
.single_add_to_cart_button.loading,
.add_to_cart_button.loading {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}

.urartu-btn.is-loading::after,
.single_add_to_cart_button.loading::after,
.add_to_cart_button.loading::after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, .45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: urartu-btn-spin .6s linear infinite;
}

@keyframes urartu-btn-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {

	.urartu-btn,
	.urartu-btn--primary,
	.urartu-btn--secondary,
	.urartu-btn--ghost {
		transition: none;
	}

	.urartu-btn:active,
	.urartu-btn--primary:active,
	.urartu-btn--secondary:active,
	.urartu-btn--ghost:active {
		transform: none;
	}

	.urartu-btn.is-loading::after,
	.single_add_to_cart_button.loading::after,
	.add_to_cart_button.loading::after {
		animation-duration: 1.6s;
	}
}

/* --- WooCommerce Blocks: cart and checkout primaries ---------------------
   The block cart and block checkout ship their own purple button. The theme
   styled the classic markup only, so a shop using blocks — the default since
   WooCommerce 8 — showed brand green everywhere and a stock purple button on
   the single most important action of the funnel. */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:not(.outlined) {
	background: var(--button-gradient) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--buttons-border-radius) !important;
	min-height: 48px;
	font-size: var(--fs-md);
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: filter var(--dur-base) var(--ease-standard),
		box-shadow var(--dur-base) var(--ease-standard),
		transform var(--dur-fast) var(--ease-standard);
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	filter: brightness(1.07);
	box-shadow: var(--elev-2);
}

.wc-block-cart__submit-button:active,
.wc-block-components-checkout-place-order-button:active {
	transform: scale(.98);
	box-shadow: none;
}

.wc-block-cart__submit-button:focus-visible,
.wc-block-components-checkout-place-order-button:focus-visible {
	outline: 2px solid var(--color-focus-ring) !important;
	outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {

	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button {
		transition: none;
	}

	.wc-block-cart__submit-button:active,
	.wc-block-components-checkout-place-order-button:active {
		transform: none;
	}
}

/* =========================================================================
   Form fields
   -------------------------------------------------------------------------
   The block checkout mixed WooCommerce's own field styling with the theme's:
   two heights (44 and 50), two radii (4px and 8px) and three different border
   colours on one screen. Fields that sit in a single column should look like
   one control repeated, not like three different components.
   ========================================================================= */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select {
	/* Driven by the component tokens in inc/redux/component-tokens.php rather
	   than by numbers written here. The !important is still required —
	   WooCommerce Blocks styles its own fields and outranks an ordinary rule —
	   but it now carries the shop's setting instead of overriding it, so Theme
	   Options actually reach the checkout's inputs. */
	min-height: var(--u-field-h, 48px);
	padding: 0 var(--u-field-px, 16px);
	font-size: var(--u-field-fs, 16px);
	line-height: 1.4;
	color: var(--u-field-fg, #241F1C);
	background: var(--u-field-bg, #fff);
	border: var(--u-field-bd-w, 1px) solid var(--u-field-bd, #D9D2C7) !important;
	border-radius: var(--u-field-radius, 2px) !important;
	box-shadow: none;
	transition: border-color var(--dur-base) var(--ease-standard),
		box-shadow var(--dur-base) var(--ease-standard);
}

/* Hover is a cheap affordance that tells you the field is interactive. */
.woocommerce form .form-row input.input-text:hover,
.wc-block-components-form .wc-block-components-text-input input:hover,
.wc-block-components-text-input input:hover,
.wc-blocks-components-select .wc-blocks-components-select__container:hover,
.wc-blocks-components-select .wc-blocks-components-select__select:hover {
	border-color: var(--u-field-bd-focus, #2A6F62) !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.wc-block-components-form .wc-block-components-text-input input:focus,
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__container:focus-within,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--u-field-bd-focus, #2A6F62) !important;
	box-shadow: 0 0 0 3px rgba(42, 111, 98, .18) !important;
	outline: none;
}

/* Error state. The theme previously signalled invalid input with a thin left
   bar and nothing else — easy to miss, and colour-only. */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.wc-block-components-form .wc-block-components-text-input.has-error input,
.wc-block-components-text-input.has-error input {
	border-color: var(--color-error) !important;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, .12) !important;
}

/* Error wording gets its own darker red. --color-main-red (#E25F4B) is a brand
   accent tuned for large sale flashes; at 14px on white it lands near 3.1:1 and
   fails AA for body text. #B42318 clears 4.5:1 while still reading as the same
   family of red. */
.wc-block-components-validation-error,
.woocommerce-error,
.woocommerce form .form-row .required {
	color: var(--color-error);
}

.wc-block-components-validation-error p {
	font-size: var(--fs-sm);
	margin: var(--sp-1) 0 0;
}

/* Labels and helper text share one voice. */
.woocommerce form .form-row label,
.wc-block-components-text-input label,
.wc-blocks-components-select__label {
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--color-muted-text);
	letter-spacing: 0;
}

/* Disabled fields must look unavailable, not merely unresponsive. */
.woocommerce form .form-row input.input-text[disabled],
.wc-block-components-text-input input[disabled],
.wc-blocks-components-select .wc-blocks-components-select__select[disabled] {
	background: #F5F6F7;
	color: #667085;
	cursor: not-allowed;
}

@media (prefers-reduced-motion: reduce) {

	.woocommerce form .form-row input.input-text,
	.wc-block-components-text-input input,
	.wc-blocks-components-select .wc-blocks-components-select__select {
		transition: none;
	}
}

/* =========================================================================
   Block checkout
   -------------------------------------------------------------------------
   Three problems the page had on inspection: section titles rendered at
   16px/500, the same size as the body text beside them, so the form read as
   one undifferentiated column; the order summary sat on the page with no
   surface of its own even though it is the thing a shopper checks before
   paying; and the checkout's text came out rgb(0,28,85) while the rest of the
   site uses --color-text, so the body colour changed at the checkout door.
   ========================================================================= */

.wc-block-checkout,
.wc-block-checkout .wc-block-components-checkout-step,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
	color: var(--color-text);
}

/* WooCommerce ships these titles as .wc-block-components-title doubled up on
   itself to raise specificity, pulling the size from the theme.json "medium"
   preset -- which lands on 16px, the same as the body text beside it. Matching
   that trick with a third class is the only way to win without !important. */
.wc-block-checkout .wc-block-components-checkout-step__title.wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-components-title.wc-block-components-title {
	font-size: var(--fs-lg);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
	margin-bottom: var(--sp-1);
}

.wc-block-components-checkout-step__description {
	color: var(--color-muted-text);
	font-size: var(--fs-sm);
}

/* Steps get room to read as separate tasks rather than one long form. */
.wc-block-checkout__main .wc-block-components-checkout-step {
	padding-bottom: var(--sp-6);
}

/* Order summary as a surface. It also follows the form down on desktop — the
   totals were scrolled off screen for most of the address step, which is
   exactly when people want to re-check what they are paying for. */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	padding: var(--sp-6);
	background: var(--color-bg-light, #F9FAFB);
	border: 1px solid var(--border-subtle);
	border-radius: var(--r-lg);
}

@media screen and (min-width: 1000px) {

	.wc-block-checkout__sidebar {
		align-self: flex-start;
		position: sticky;
		top: 100px;
	}
}

/* Totals: the grand total is the number the decision rests on, so it stops
   sharing a weight and size with the subtotal above it. */
.wc-block-components-totals-item {
	font-size: var(--fs-sm);
	color: var(--color-muted-text);
}

.wc-block-components-totals-item__value {
	color: var(--color-text);
	font-variant-numeric: tabular-nums;
}

.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--fs-xl);
	font-weight: 700;
	color: var(--color-text);
}

.wc-block-components-totals-footer-item {
	margin-top: var(--sp-3);
	padding-top: var(--sp-4);
	border-top: 1px solid var(--border-default);
}

/* Buttons inherit the brand face.
   The mini-cart's "View cart" and "Checkout" rendered in Arial while everything
   around them was Montserrat -- <button> and <input> do not inherit font-family
   from the document by default, and nothing in the theme put it back. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.widget_shopping_cart .button,
.woocommerce-mini-cart__buttons .button,
button,
input,
select,
textarea {
	font-family: inherit;
}
