/* WspinArt shop — supplied DESKTOP_01 and MOBILE. Scoped to the catalog. */
.ws-shop { --shop-blue: #009bd0; color: #262626; background: #fff; }
.ws-shop-container { width: calc(100% - 60px); max-width: 1040px; margin-inline: auto; }
.ws-shop-hero { position: relative; isolation: isolate; overflow: hidden; }
.ws-shop .ws-shop-hero__image { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.ws-shop-hero__inner { min-height: 608px; position: relative; padding-block: 36px 70px; }
.ws-shop-hero__eyebrow { margin: 0; color: var(--ws-orange); font-size: 22px; font-weight: 800; text-transform: uppercase; }
.ws-shop-hero__copy { margin-top: 151px; max-width: 620px; }
.ws-shop-hero h1 { margin: 0 0 48px; color: #242424; font-size: 50px; line-height: 1.08; font-weight: 800; letter-spacing: .025em; text-transform: none; overflow-wrap: normal; }
.ws-shop-hero__copy p { margin: 0; max-width: 520px; font-size: 32px; font-weight: 700; line-height: 1.16; letter-spacing: .025em; }
.ws-shop-benefits { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 140px; margin-top: -21px; margin-bottom: 52px; padding: 26px 20px; list-style: none; border: 1px solid #e5e5e5; border-radius: 20px; background: #fff; box-shadow: 0 3px 7px #0003; }
.ws-shop-benefits li { display: flex; justify-content: center; align-items: center; gap: 18px; font-size: 18px; font-weight: 700; line-height: 1.3; }
.ws-shop-benefits .ws-icon { color: var(--shop-blue); font-size: 58px; }
.ws-shop-catalog { padding-bottom: 100px; scroll-margin-top: 125px; }
.ws-shop-catalog h2 { margin: 0 0 38px; font-size: 38px; line-height: 1.2; color: #172626; }
.ws-shop-filters { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 36px; }
.ws-shop-filters a { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 10px 19px; border: 1px solid #2fa5e6; border-radius: 30px; color: #292929; font-size: 17px; line-height: 1.25; font-weight: 600; text-decoration: none; }
.ws-shop-filters a[aria-current], .ws-shop-filters a:hover { background: var(--shop-blue); border-color: var(--shop-blue); color: #fff; }
.ws-shop-sort { display: flex; gap: 12px; margin: 0 0 38px; max-width: 650px; }
.ws-shop-sort__field { display: flex; flex: 0 1 500px; align-items: center; position: relative; min-width: 0; height: 52px; padding-left: 24px; border: 1px solid #bbb; border-radius: 10px; box-shadow: 0 3px 4px #0003; background: #fff; }
.ws-shop-sort label { flex: none; font-size: 17px; font-weight: 700; }
.ws-shop-sort select { appearance: none; -webkit-appearance: none; flex: 1; height: 100%; padding: 8px 42px 8px 5px; border: 0; background: transparent; border-radius: inherit; color: var(--shop-blue); font-size: 17px; font-weight: 400; cursor: pointer; }
.ws-shop-sort svg { position: absolute; right: 19px; width: 23px; height: 23px; fill: none; stroke: var(--shop-blue); stroke-width: 2; pointer-events: none; }
.ws-shop-sort--enhanced .ws-shop-sort__submit { display: none; }
.woocommerce .ws-shop ul.ws-shop-products { display: grid; grid-template-columns: minmax(0, 1fr); gap: 38px; margin: 0; padding: 0; list-style: none; }
.woocommerce .ws-shop ul.ws-shop-products::before, .woocommerce .ws-shop ul.ws-shop-products::after { display: none; }
.woocommerce .ws-shop ul.products li.ws-shop-card { float: none; width: 100%; margin: 0; padding: 0; border: 1px solid #c5c5c5; border-radius: 26px; background: #fff; overflow: hidden; }
.ws-shop-card__link { display: grid; grid-template-columns: 39% minmax(0, 1fr); position: relative; min-height: 250px; color: inherit; text-decoration: none; }
.ws-shop-card__link:hover { color: inherit; background: #f8fcfe; }
.ws-shop-card__link:focus-visible { outline-offset: -4px; }
.ws-shop-card__image { position: relative; min-height: 100%; }
.woocommerce .ws-shop ul.products li.product .ws-shop-card__image img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; aspect-ratio: auto; object-fit: cover; object-position: var(--ws-shop-image-position, 50% 50%); }
.ws-shop-card__body { min-width: 0; display: flex; flex-direction: column; padding: 20px 62px 20px 44px; }
.woocommerce .ws-shop ul.products li.product .ws-shop-card__title { margin: 0 0 20px; padding: 0; font-size: 35px; line-height: 1.15; letter-spacing: .025em; font-weight: 800; overflow-wrap: normal; }
.ws-shop-card__meta { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: auto; margin-bottom: 18px; font-size: 19px; line-height: 1.35; }
.ws-shop-card__duration { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.ws-shop-card__duration .ws-icon { color: #42454a; font-size: 39px; }
.ws-shop-card__level { color: #747474; font-weight: 400; }
.ws-shop-card__pricing { display: flex; align-items: baseline; gap: 24px; flex-wrap: wrap; line-height: 1.15; }
.ws-shop-card__price { color: var(--shop-blue); font-size: 40px; font-weight: 800; }
.ws-shop-card__price del { font-size: .65em; color: #747474; font-weight: 400; }
.ws-shop-card__price ins { background: none; text-decoration: none; }
.ws-shop-card__note { font-size: 19px; font-weight: 400; }
.ws-shop-card__arrow { position: absolute; right: 20px; top: calc(50% - 16px); width: 32px; height: 32px; stroke: var(--shop-blue); stroke-width: 2.5; fill: none; }
.ws-shop-empty { padding: 35px 0; }
.ws-shop-help { background: #ececec; padding: 54px 0; text-align: center; }
.ws-shop-help h2 { margin-bottom: 28px; font-size: 34px; font-weight: 700; }
.ws-shop-help p { max-width: 600px; margin: 0 auto 22px; font-size: 17px; line-height: 1.4; }
.ws-shop-help__button { display: inline-flex; align-items: center; justify-content: center; margin-top: 10px; padding: 20px 28px; min-height: 72px; background: #0096c6; border-radius: 30px; color: #fff; font-size: 23px; font-weight: 700; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
.ws-shop-help__button:hover { background: var(--ws-blue-hover); color: #fff; }
@media (min-width: 601px) and (max-width: 1100px) {
	.ws-shop-hero__inner { min-height: 510px; }
	.ws-shop-hero__copy { margin-top: 115px; }
	.ws-shop-hero h1 { font-size: 40px; margin-bottom: 35px; }
	.ws-shop-hero__copy p { font-size: 26px; }
	.ws-shop-benefits { min-height: 112px; padding-inline: 14px; }
	.ws-shop-benefits li { font-size: 14px; gap: 10px; }
	.ws-shop-benefits .ws-icon { font-size: 42px; }
	.ws-shop-filters { gap: 12px; }
	.ws-shop-filters a { font-size: 14px; min-height: 42px; padding-inline: 14px; }
	.ws-shop-card__link { min-height: 210px; }
	.ws-shop-card__body { padding: 20px 48px 20px 24px; }
	.woocommerce .ws-shop ul.products li.product .ws-shop-card__title { font-size: 26px; }
	.ws-shop-card__meta, .ws-shop-card__note { font-size: 15px; }
	.ws-shop-card__duration .ws-icon { font-size: 28px; }
	.ws-shop-card__price { font-size: 30px; }
	.ws-shop-card__arrow { right: 12px; width: 24px; }
}
@media (max-width: 600px) {
	.ws-shop-container { width: calc(100% - 30px); }
	.ws-shop-hero__inner { min-height: 235px; padding-block: 10px 22px; }
	.ws-shop .ws-shop-hero__image { object-position: 62% center; }
	.ws-shop-hero__eyebrow { font-size: 12px; }
	.ws-shop-hero__copy { margin-top: 56px; }
	.ws-shop-hero h1 { max-width: 250px; margin-bottom: 20px; font-size: 20px; line-height: 1.06; letter-spacing: .02em; }
	.ws-shop-hero__copy p { max-width: 230px; font-size: 15px; line-height: 1.1; letter-spacing: .02em; }
	.ws-shop-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 116px; margin-top: -8px; margin-bottom: 28px; padding: 9px; border-radius: 12px; }
	.ws-shop-benefits li { justify-content: flex-start; gap: 8px; padding: 7px; font-size: 11.5px; font-weight: 600; }
	.ws-shop-benefits li:nth-child(odd) { border-right: 1px solid #dedede; }
	.ws-shop-benefits li:nth-child(-n+2) { border-bottom: 1px solid #dedede; }
	.ws-shop-benefits li:nth-child(even) { padding-left: 10px; }
	.ws-shop-benefits .ws-icon { font-size: 35px; }
	.ws-shop-catalog { padding-bottom: 22px; scroll-margin-top: 110px; }
	.ws-shop-catalog h2 { font-size: 21px; line-height: 1.2; margin-bottom: 22px; }
	.ws-shop-filters { gap: 10px; margin-bottom: 22px; }
	.ws-shop-filters a { min-height: 31px; padding: 6px 10px; font-size: 10.5px; font-weight: 600; }
	.ws-shop-sort { max-width: none; margin-bottom: 21px; flex-wrap: wrap; }
	.ws-shop-sort__field { flex-basis: 100%; height: 36px; border-color: #eee; padding-left: 13px; border-radius: 6px; box-shadow: 0 1px 6px #0002; }
	.ws-shop-sort label, .ws-shop-sort select { font-size: 12px; }
	.ws-shop-sort svg { right: 12px; width: 18px; height: 18px; }
	.woocommerce .ws-shop ul.ws-shop-products { gap: 10px; }
	.woocommerce .ws-shop ul.products li.ws-shop-card { border-radius: 11px; border-color: #e0e0e0; }
	.ws-shop-card__link { grid-template-columns: 41% minmax(0, 1fr); min-height: 93px; }
	.woocommerce .ws-shop ul.products li.product .ws-shop-card__image img { object-position: var(--ws-shop-image-mobile-position, 50% 50%); }
	.ws-shop-card__body { padding: 8px 23px 7px 10px; }
	.woocommerce .ws-shop ul.products li.product .ws-shop-card__title { margin-bottom: 7px; font-size: 13px; line-height: 1.12; letter-spacing: .01em; }
	.ws-shop-card__meta { justify-content: flex-start; gap: 7px 12px; margin-bottom: 7px; font-size: 10px; line-height: 1.2; }
	.ws-shop-card__duration { gap: 5px; font-weight: 600; }
	.ws-shop-card__duration .ws-icon { font-size: 17px; }
	.ws-shop-card__level { font-size: 10px; }
	.ws-shop-card__pricing { gap: 5px 8px; }
	.ws-shop-card__price { font-size: 15px; }
	.ws-shop-card__quote { font-size: 13px; }
	.ws-shop-card__note { font-size: 10px; }
	.ws-shop-card__arrow { right: 6px; top: calc(50% - 10px); width: 18px; height: 20px; }
	.ws-shop-help { padding: 28px 0 30px; }
	.ws-shop-help h2 { margin-bottom: 19px; font-size: 16px; font-weight: 800; }
	.ws-shop-help p { font-size: 13px; line-height: 1.15; margin-bottom: 15px; }
	.ws-shop-help__button { margin-top: 9px; min-height: 46px; padding: 13px 25px; border-radius: 23px; font-size: 15px; }
}
@media (max-width: 350px) {
	.ws-shop-benefits li { gap: 7px; padding-inline: 3px; font-size: 11px; }
	.ws-shop-benefits li:nth-child(even) { padding-left: 10px; }
	.ws-shop-filters { gap: 8px; }
	.ws-shop-filters a { padding-inline: 9px; font-size: 10px; }
	.ws-shop-card__link { grid-template-columns: 37% minmax(0, 1fr); }
	.ws-shop-card__meta { gap: 6px; }
}
