/* AKORUG WooCommerce catalogue and retained legacy filters. */
.shop-page { background: var(--color-paper); }
.shop-archive__container { width: 100%; max-width: none; margin-inline: auto; padding-inline: clamp(24px, 4.2vw, 80px); }
.shop-archive__breadcrumb-band { border-bottom: 1px solid var(--color-line); background: var(--color-white); }
.shop-archive__breadcrumb-band .woocommerce-breadcrumb { margin: 0; padding: 20px 0; color: var(--color-muted); font-size: 13px; line-height: 1.5; }
.shop-archive__breadcrumb-band .woocommerce-breadcrumb a { color: var(--color-ink); text-underline-offset: 3px; }
.shop-archive__masthead { padding: clamp(48px, 5vw, 76px) 0 clamp(54px, 5.5vw, 84px); border-bottom: 1px solid var(--color-line); background: var(--color-soft); }
.shop-archive__heading-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.shop-archive__eyebrow { margin: 0 0 12px; color: var(--color-accent); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.shop-archive__title { margin: 0; font-family: var(--font-serif); font-size: clamp(46px, 5.1vw, 74px); font-weight: 400; line-height: .96; }
.shop-archive .shop-archive__intro-link { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 52px; margin: 0; padding: 14px 24px; border: 1px solid var(--color-accent); border-radius: 2px; background: var(--color-accent); box-shadow: 0 9px 22px rgba(255, 87, 17, .18); color: var(--color-white); font-family: var(--font-sans); font-size: 15px; font-weight: 600; line-height: 1; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.shop-archive .shop-archive__intro-link:hover,
.shop-archive .shop-archive__intro-link:focus-visible { border-color: var(--color-accent-strong); background: var(--color-accent-strong); color: var(--color-white); box-shadow: 0 12px 28px rgba(197, 58, 0, .22); transform: translateY(-2px); }
.shop-archive .shop-archive__intro-link i { font-size: 12px; }
.shop-archive__catalog { padding: clamp(44px, 5vw, 80px) 0 clamp(72px, 7vw, 112px); }

/* Legacy shop-introduction video, rebuilt as an accessible native dialog. */
.shop-intro-modal { width: min(650px, calc(100vw - 32px)); max-width: none; margin: auto; padding: 0; overflow: visible; border: 0; background: transparent; color: var(--color-ink); }
.shop-intro-modal::backdrop { background: rgba(0, 0, 0, .5); backdrop-filter: blur(2px); }
.shop-intro-modal__panel { position: relative; padding: 10px; background: var(--color-white); box-shadow: 0 24px 70px rgba(0, 0, 0, .3); }
.shop-intro-modal__close { position: absolute; top: -12px; right: -12px; z-index: 2; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 2px solid var(--color-white); border-radius: 50%; background: #d92d20; box-shadow: 0 5px 14px rgba(0, 0, 0, .24); color: var(--color-white); font-size: 16px; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.shop-intro-modal__close:hover,
.shop-intro-modal__close:focus-visible { background: #b42318; transform: scale(1.06); }
.shop-intro-modal__video { display: block; width: 100%; height: auto; max-height: calc(100vh - 80px); background: #000; }
body:has(.shop-intro-modal[open]) { overflow: hidden; }
.shop-archive .woocommerce-notices-wrapper:empty,
.shop-archive .woocommerce-products-header,
.shop-archive .woocommerce-ordering { display: none; }

/* Existing WooCommerce Product Filter system, restyled without changing its behaviour. */
.shop-archive .prdctfltr_wc { margin: 0 0 clamp(52px, 5vw, 78px); font-family: var(--font-sans); }
.shop-archive .prdctfltr_wc .prdctfltr_woocommerce_ordering { position: relative; top: auto; display: block; margin: 0; }
.shop-archive .prdctfltr_wc .prdctfltr_filter_title { display: flex; align-items: center; min-height: 64px; margin: 0; padding: 16px clamp(18px, 2vw, 28px); border: 1px solid var(--color-line); border-bottom: 0; border-radius: 3px 3px 0 0; background: var(--color-white); box-shadow: 0 8px 24px rgba(28, 23, 18, .05); color: var(--color-ink); font-size: 16px; font-weight: 600; line-height: 1.35; }
.shop-archive .prdctfltr_wc .prdctfltr_filter_title::before { width: 4px; height: 30px; margin-right: 16px; border-radius: 4px; background: var(--color-accent); content: ""; }
.shop-archive .prdctfltr_wc .prdctfltr_woocommerce_filter,
.shop-archive .prdctfltr_wc .prdctfltr_woocommerce_filter:hover { margin-right: 12px; color: var(--color-accent); }
.shop-archive .prdctfltr_wc .prdctfltr_showing { margin-left: auto; color: var(--color-muted); font-size: 14px; font-weight: 400; }
.shop-archive .prdctfltr_wc .prdctfltr_showing::before { content: none; }
.shop-archive .prdctfltr_wc .prdctfltr_filter_wrapper { padding: 18px; border: 1px solid var(--color-line); border-radius: 0 0 3px 3px; background: var(--color-soft); box-shadow: 0 12px 30px rgba(28, 23, 18, .06); }
.shop-archive .prdctfltr_wc .prdctfltr_filter_inner { position: relative !important; display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 12px !important; width: 100% !important; height: auto !important; margin: 0 !important; white-space: normal !important; }
.shop-archive .prdctfltr_wc .prdctfltr_filter_inner::before,
.shop-archive .prdctfltr_wc .prdctfltr_filter_inner::after { display: none !important; content: none !important; }
.shop-archive .prdctfltr_wc .prdctfltr_filter { position: relative !important; inset: auto !important; float: none !important; clear: none !important; display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; transform: none !important; }
.shop-archive .prdctfltr_wc .prdctfltr_clearnext + .prdctfltr_filter { clear: none !important; }
.shop-archive .prdctfltr_wc .prdctfltr_regular_title { position: relative; display: flex; align-items: center; min-height: 58px; margin: 0; padding: 15px 44px 15px 17px; border: 1px solid #ddd6ce; border-radius: 2px; background: var(--color-white); color: var(--color-ink); font-size: 15px; font-weight: 600; line-height: 1.25; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, color .2s ease; }
.shop-archive .prdctfltr_wc .prdctfltr_regular_title i { position: absolute; top: 50%; right: 16px; margin: 0; color: var(--color-muted); transform: translateY(-50%); transition: color .2s ease, transform .2s ease; }
.shop-archive .prdctfltr_wc .prdctfltr_regular_title:hover,
.shop-archive .prdctfltr_wc .prdctfltr_filter.prdctfltr_active .prdctfltr_regular_title,
.shop-archive .prdctfltr_wc .prdctfltr_filter.prdctfltr_has_selection .prdctfltr_regular_title { border-color: var(--color-accent); box-shadow: 0 6px 18px rgba(28, 23, 18, .08); color: var(--color-accent-strong); }
.shop-archive .prdctfltr_wc .prdctfltr_regular_title:hover i,
.shop-archive .prdctfltr_wc .prdctfltr_filter.prdctfltr_active .prdctfltr_regular_title i { color: var(--color-accent); }
.shop-archive .prdctfltr_wc .prdctfltr_filter.prdctfltr_active { z-index: 70; }
.shop-archive .prdctfltr_wc .prdctfltr_filter.prdctfltr_active .prdctfltr_regular_title i { transform: translateY(-50%) rotate(180deg); }
.shop-archive .prdctfltr_wc .prdctfltr_add_scroll { top: calc(100% + 7px) !important; left: 0 !important; z-index: 60; width: 100% !important; max-height: 330px; padding: 7px !important; overflow: auto; border: 1px solid #ddd6ce; border-radius: 3px; background: var(--color-white); box-shadow: 0 18px 42px rgba(28, 23, 18, .16); }
.shop-archive .prdctfltr_wc .prdctfltr_checkboxes label { display: flex; align-items: center; min-height: 40px; margin: 0; padding: 9px 10px; border-radius: 2px; color: var(--color-ink); font-size: 14px; line-height: 1.35; transition: background-color .16s ease, color .16s ease; }
.shop-archive .prdctfltr_wc .prdctfltr_checkboxes label:hover { background: var(--color-soft); color: var(--color-accent-strong); }
.shop-archive .prdctfltr_wc .prdctfltr_checkboxes label.prdctfltr_active { background: #fff0e7; color: var(--color-accent-strong); font-weight: 600; }
.shop-archive .prdctfltr_wc .prdctfltr_count { margin-left: auto; padding-left: 8px; color: var(--color-muted); font-size: 12px; }
.shop-archive .prdctfltr_wc .prdctfltr_buttons { grid-column: 1 / -1; margin: 8px 0 0; }

/* Product grid. */.shop-archive ul.products { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(34px, 3.5vw, 62px) clamp(18px, 2vw, 34px); margin: 0 !important; padding: 0; }
.shop-archive ul.products::before,
.shop-archive ul.products::after { display: none !important; }
.shop-archive ul.products li.product.shop-product-card { float: none !important; width: auto !important; margin: 0 !important; padding: 0; }
.shop-product-card__link { display: block; color: var(--color-ink); text-decoration: none; }
.shop-product-card__media { position: relative; display: grid; place-items: center; min-height: clamp(210px, 18vw, 330px); margin: 0 0 18px; padding: clamp(18px, 2vw, 32px); overflow: hidden; border: 1px solid var(--color-line); background: var(--color-white); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.shop-product-card__link:hover .shop-product-card__media,
.shop-product-card__link:focus-visible .shop-product-card__media { border-color: var(--color-accent); box-shadow: 0 14px 34px rgba(21, 18, 15, .09); transform: translateY(-3px); }
.shop-product-card__image { display: block; width: 100%; height: 100%; max-height: 270px; object-fit: contain; }
.shop-product-card__sale,
.shop-product-card__stock { position: absolute; top: 12px; right: 12px; padding: 7px 10px; background: var(--color-accent); color: var(--color-white); font-size: 12px; font-weight: 600; }
.shop-product-card__stock { background: var(--color-ink); }
.shop-product-card__title,
.shop-archive ul.products li.product .woocommerce-loop-product__title { margin: 0 0 6px; padding: 0; font-family: var(--font-serif); font-size: clamp(20px, 1.4vw, 25px); font-weight: 400; line-height: 1.15; }
.shop-product-card__dimensions { margin: 0 0 20px; color: var(--color-muted); font-size: 13px; font-weight: 600; }
.shop-product-card__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 9px; font-size: 14px; }
.shop-product-card__price del { flex-basis: 100%; color: #aaa49e; font-size: 13px; }
.shop-product-card__price strong { font-size: 18px; font-weight: 600; }
.shop-product-card__price > span { color: var(--color-accent-strong); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.shop-archive .woocommerce-pagination { margin-top: clamp(58px, 6vw, 90px); }
.shop-archive .woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; gap: 8px; border: 0; }
.shop-archive .woocommerce-pagination ul.page-numbers li { border: 0; }
.shop-archive .woocommerce-pagination .page-numbers a,
.shop-archive .woocommerce-pagination .page-numbers span { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid var(--color-line); background: var(--color-white); color: var(--color-ink); }
.shop-archive .woocommerce-pagination .page-numbers .current,
.shop-archive .woocommerce-pagination .page-numbers a:hover { border-color: var(--color-accent); background: var(--color-accent); color: var(--color-white); }

@media (max-width: 1399px) {
	.shop-archive ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.shop-archive .prdctfltr_wc .prdctfltr_filter_inner { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1023px) {
	.shop-archive ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.shop-archive .prdctfltr_wc .prdctfltr_filter_inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
	.shop-archive__heading-row { align-items: flex-start; flex-direction: column; }
	.shop-archive .prdctfltr_wc .prdctfltr_filter_title { align-items: center; flex-wrap: wrap; }
	.shop-archive .prdctfltr_wc .prdctfltr_filter_title::before { height: 25px; margin-right: 12px; }
	.shop-archive .prdctfltr_wc .prdctfltr_showing { flex-basis: 100%; margin: 5px 0 0 32px; font-size: 13px; }
	.shop-archive ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.shop-product-card__media { min-height: 210px; }
}
@media (max-width: 539px) {
	.shop-archive__container { padding-inline: 18px; }
	.shop-archive .prdctfltr_wc .prdctfltr_filter_wrapper { padding: 12px; }
	.shop-archive .prdctfltr_wc .prdctfltr_filter_inner,
	.shop-archive ul.products { grid-template-columns: 1fr; }
	.shop-product-card__media { min-height: 300px; }
}