.oc-catalog-screen #main,
.oc-catalog-screen .main-content {
	background: #fff;
}
body.oc-catalog-screen .page-top { display: none; }
body.oc-catalog-screen #main > .container,
body.oc-catalog-screen #main > .container > .row,
body.oc-catalog-screen #main > .container > .row > .main-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}
body.oc-catalog-screen #main > .container > .row > .main-content { flex: 0 0 100%; }


.oc-store {
	--oc-ink: #2c2c2c;
	--oc-muted: #606669;
	--oc-accent: #2bace0;
	--oc-action: #0aa1dd;
	--oc-line: #dce2e4;
	box-sizing: border-box;
	width: min(100%, 1380px);
	margin: 0 auto;
	padding: 10px 0 72px;
	background: #fff;
	color: var(--oc-ink);
	font-size: 16px;
	line-height: 1.5;
}
.oc-store *, .oc-store *::before, .oc-store *::after { box-sizing: border-box; }
.oc-store :is(h1, h2, h3, p, dl, dt, dd) { margin: 0; padding: 0; }
.oc-store :is(h1, h2, h3) { color: var(--oc-ink); font-family: inherit; text-transform: none; }
.oc-store h1 { font-size: clamp(40px, 4.8vw, 64px); font-weight: 650; line-height: 1.05; letter-spacing: -.055em; }
.oc-store h2 { font-size: clamp(22px, 2.2vw, 32px); font-weight: 650; line-height: 1.15; letter-spacing: -.038em; }
.oc-store a, .oc-store summary { color: var(--oc-ink); text-decoration: none; }
.oc-store :is(a, summary, button, input):focus-visible { outline: 3px solid var(--oc-accent); outline-offset: 3px; }
.oc-store .oc-utility { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.oc-store .oc-back { display: inline-flex; align-items: center; gap: 7px; color: #2c596c; font-size: 14px; font-weight: 600; }
.oc-store .oc-back:hover { text-decoration: underline; }
.oc-store img.oc-icon { display: inline-block; flex: none; width: 18px; height: 18px; min-width: 0; margin: 0; object-fit: contain; vertical-align: middle; }
.oc-store .oc-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.oc-store .woocommerce-notices-wrapper:empty { display: none; }
.oc-store .oc-cart-link { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 6px 13px; border: 1px solid var(--oc-line); border-radius: 30px; line-height: 1; font-size: 14px; font-weight: 600; }
.oc-store .oc-cart-link:hover { border-color: var(--oc-accent); }
.oc-store .oc-overline, .oc-store .oc-brand, .oc-store .oc-demo-tag {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.oc-store .oc-overline { display: flex; align-items: center; gap: 10px; }
.oc-store .oc-rule { width: 28px; height: 3px; background: var(--oc-accent); }
.oc-store img.oc-frame-image { display: block; width: 100%; height: 100%; min-width: 0; max-width: 100%; margin: 0; object-fit: cover; }
.oc-store [data-scene="barbati"] { --oc-scene: #c0e7f6; --oc-paper: #e6f6fc; --oc-orbit: #81cfed; }
.oc-store [data-scene="femei"] { --oc-scene: #d5eef9; --oc-paper: #f1f9fd; --oc-orbit: #aadff2; }
.oc-store [data-scene="copii"] { --oc-scene: #a0dcf0; --oc-paper: #ddf2fa; --oc-orbit: #6bc5e9; }
.oc-store .oc-carousel { position: relative; isolation: isolate; border-radius: 22px; background: #eaf7fb; }
.oc-store .oc-carousel:focus-visible { outline: 3px solid var(--oc-accent); outline-offset: 2px; }
.oc-store .oc-slides { display: grid; overflow: hidden; border-radius: inherit; touch-action: pan-y pinch-zoom; }
.oc-store .oc-slide[hidden], .oc-store .oc-carousel-controls[hidden] { display: none !important; }
.oc-store .oc-slide {
	grid-area: 1 / 1;
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: .88fr 1.12fr;
	overflow: hidden;
	min-height: clamp(310px, 26vw, 360px);
	background: linear-gradient(108deg, var(--oc-paper) 12%, var(--oc-scene) 95%);
}
.oc-store .oc-slide-copy { position: relative; z-index: 1; align-self: center; padding: 30px 0 76px clamp(28px, 4.5vw, 66px); }
.oc-store .oc-slide-copy .oc-overline { color: #214759; }
.oc-store .oc-slide-copy h2 { max-width: 13ch; margin: 13px 0 9px; color: #143643; font-size: clamp(38px, 4vw, 64px); font-weight: 650; letter-spacing: -.055em; line-height: 1.01; }
.oc-store .oc-slide-intro { color: #3a5962; font-size: clamp(14px, 1.2vw, 17px); }
.oc-store .oc-slide-cta, .oc-store .oc-search button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; margin-top: 18px; padding: 10px 18px; min-height: 42px; border: 0; border-radius: 99px; background: var(--oc-action); color: #fff; font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.25; text-transform: none; }
.oc-store .oc-slide-cta:hover, .oc-store .oc-search button:hover { background: var(--oc-accent); color: #fff; }
.oc-store .oc-slide-cta .oc-icon, .oc-store .oc-search button .oc-icon { width: 16px; height: 16px; filter: brightness(0) invert(1); }
.oc-store .oc-slide-art { position: relative; min-width: 0; clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%); }
.oc-store .oc-slide-art img.oc-slide-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; object-position: 50% 40%; }
.oc-store .oc-slide[data-scene="femei"] .oc-slide-photo { object-position: 51% 46%; }
.oc-store .oc-slide[data-scene="copii"] .oc-slide-photo { object-position: 52% 26%; }
.oc-store .oc-carousel-controls { position: absolute; bottom: 16px; left: clamp(28px, 4.5vw, 66px); display: flex; align-items: center; gap: 7px; }
.oc-store .oc-carousel-controls button { display: grid; place-items: center; appearance: none; min-width: 36px; height: 36px; margin: 0; padding: 0; border: 1px solid #91b7c2; border-radius: 50%; background: transparent; box-shadow: none; cursor: pointer; }
.oc-store .oc-carousel-controls button:hover { background: #fff; }
.oc-store .oc-carousel-dots { display: flex; align-items: center; }
.oc-store .oc-carousel-dots button { min-width: 26px; border: 0; }
.oc-store .oc-carousel-dots button:hover { background: transparent; }
.oc-store .oc-carousel-dots button::after { content: ""; display: block; width: 6px; height: 6px; border-radius: 20px; background: #739ba6; }
.oc-store .oc-carousel-dots button[aria-current]::after { width: 18px; background: var(--oc-action); }
.oc-store .oc-category-head > p:not(.oc-overline) { max-width: 48ch; color: var(--oc-muted); }
.oc-store .oc-categories, .oc-store .oc-listing { margin-top: 36px; }

.oc-store .oc-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.oc-store .oc-tile { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; padding: 8px 16px 8px 10px; border: 1px solid var(--oc-line); border-radius: 12px; background: #fff; }
.oc-store .oc-tile { background: var(--oc-paper); border-color: var(--oc-scene); }
.oc-store .oc-tile-img { min-width: 0; height: 78px; mix-blend-mode: multiply; }
.oc-store .oc-tile > span { display: flex; justify-content: space-between; align-items: center; gap: 4px; font-weight: 650; line-height: 1.2; }
.oc-store .oc-tile > span > .oc-icon { width: 16px; height: 16px; }
.oc-store .oc-tile-count { display: block; margin-top: 4px; color: var(--oc-muted); font-size: 12px; font-weight: 500; line-height: 1.2; }
.oc-store .oc-tile:hover, .oc-store .oc-card-link:hover { border-color: var(--oc-accent); }
.oc-store .oc-category-head { padding: 26px clamp(20px, 3vw, 42px); border-radius: 18px; background: #eaf7fb; }
.oc-store .oc-category-head h1 { margin: 10px 0; }
.oc-store .oc-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.oc-store .oc-pills a { padding: 7px 14px; border: 1px solid var(--oc-line); border-radius: 24px; font-size: 14px; font-weight: 550; }
.oc-store .oc-pills a:is(:hover, [aria-current]) { border-color: var(--oc-accent); }
.oc-store .oc-pills a[aria-current] { border-width: 2px; padding: 6px 13px; font-weight: 750; background: rgba(43, 172, 224, .07); }
.oc-store .oc-list-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.oc-store .oc-list-head h2 { display: flex; flex-wrap: wrap; gap: 5px 12px; align-items: baseline; }
.oc-store .oc-list-head h2 > span { font-size: 13px; font-weight: 500; color: var(--oc-muted); letter-spacing: 0; }
.oc-store .oc-sort { position: relative; z-index: 2; }
.oc-store .oc-sort summary { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid var(--oc-line); border-radius: 24px; background: #fff; cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; }
.oc-store .oc-sort summary::-webkit-details-marker { display: none; }
.oc-store .oc-sort summary .oc-icon { width: 16px; height: 16px; }
.oc-store .oc-sort[open] summary { border-color: var(--oc-accent); }
.oc-store .oc-sort-menu { position: absolute; top: calc(100% + 4px); right: 0; min-width: 170px; padding: 5px; background: #fff; border: 1px solid var(--oc-line); border-radius: 8px; box-shadow: 0 5px 18px rgba(0, 0, 0, .08); }
.oc-store .oc-sort-menu a { display: block; padding: 8px; border-radius: 4px; font-size: 13px; }
.oc-store .oc-sort-menu a:hover, .oc-store .oc-sort-menu a[aria-current] { background: rgba(43, 172, 224, .09); }
.oc-store .oc-sort-menu a[aria-current] { font-weight: 700; }
.oc-store #oc-listing { scroll-margin-top: 100px; }
.oc-store .oc-listing > .oc-list-head { position: relative; flex-wrap: wrap; }
.oc-store .oc-list-tools { display: flex; align-items: center; gap: 8px; }
.oc-store .oc-list-tools details[open] { z-index: 5; }
.oc-store .oc-filters { position: relative; }
.oc-store .oc-filters summary {
	display: flex; align-items: center; gap: 8px; padding: 8px 14px;
	border: 1px solid var(--oc-line); border-radius: 24px; background: #fff;
	list-style: none; cursor: pointer; font-size: 13px; font-weight: 600;
}
.oc-store .oc-filters summary::-webkit-details-marker { display: none; }
.oc-store .oc-filters summary .oc-icon { width: 16px; height: 16px; }
.oc-store .oc-filters[open] summary { border-color: var(--oc-accent); }
.oc-store .oc-filter-count { display: grid; place-items: center; min-width: 18px; height: 18px; border-radius: 50%; background: #dcf1fa; color: #174b63; font-size: 11px; }
.oc-store .oc-filter-form {
	position: absolute; top: calc(100% + 6px); right: 0; z-index: 5; width: 298px; margin: 0; padding: 18px;
	border: 1px solid var(--oc-line); border-radius: 12px; background: white; box-shadow: 0 8px 26px rgba(27, 57, 69, .14);
	color: var(--oc-ink); font: inherit; font-size: 14px;
}
.oc-store .oc-filter-form label, .oc-store .oc-filter-form legend { display: block; margin: 0; font: inherit; font-weight: 600; }
.oc-store .oc-filter-form :is(select, input[type="number"]) {
	display: block; width: 100%; min-width: 0; height: 42px; margin: 4px 0 0; padding: 6px 9px;
	border: 1px solid #b9c8ce; border-radius: 6px; background-color: #fff; color: var(--oc-ink); font: inherit;
}
.oc-store .oc-filter-form select:focus-visible { outline: 3px solid var(--oc-accent); outline-offset: 2px; }
.oc-store .oc-filter-prices { min-width: 0; margin: 16px 0; padding: 0; border: 0; }
.oc-store .oc-filter-prices legend { float: none; width: 100%; margin-bottom: 4px; padding: 0; }
.oc-store .oc-budget-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.oc-store .oc-filter-prices label { font-size: 12px; color: var(--oc-muted); font-weight: 500; }
.oc-store .oc-filter-form .oc-filter-sale { display: flex; align-items: center; gap: 9px; cursor: pointer; }
.oc-store .oc-filter-sale input { width: 16px; height: 16px; margin: 0; accent-color: #0675a0; }
.oc-store .oc-filter-apply { width: 100%; min-height: 42px; margin: 15px 0 0; padding: 8px 16px; border: 0; border-radius: 24px; background: #0675a0; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.oc-store .oc-filter-apply:hover { background: #045c80; color: white; }
.oc-store .oc-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 15px; }
.oc-store .oc-filter-chip, .oc-store .oc-filter-reset { font-size: 13px; }
.oc-store .oc-filter-chip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 5px 10px; border-radius: 16px; background: #e2f3fa; color: #194558; overflow-wrap: anywhere; }
.oc-store .oc-filter-chip .oc-icon { width: 12px; height: 12px; }
.oc-store .oc-filter-reset, .oc-store .oc-empty-results a { color: #14617e; text-decoration: underline; text-underline-offset: 3px; }
.oc-store .oc-filter-feedback { margin: 8px 0; color: var(--oc-muted); font-size: 14px; }
.oc-store .oc-empty-results { padding: 20px; border: 1px solid var(--oc-line); border-radius: 10px; background: #f3f9fc; }
.oc-store .oc-card-price-label { display: block; margin-bottom: 2px; color: var(--oc-muted); font-size: 11px; line-height: 1.25; }
.oc-store .oc-card-pricing { min-width: 0; }
.oc-store .oc-card-bottom .oc-link-arrow { flex-shrink: 0; }
@media (max-width: 766px) {
	.oc-store .oc-list-tools summary { min-height: 38px; }
	.oc-store .oc-filters summary { padding: 7px 10px; font-size: 12px; }
	.oc-store .oc-filter-form :is(select, input[type="number"]) { font-size: 16px; }
}
@media (max-width: 520px) {
	.oc-store .oc-listing > .oc-list-head { gap: 8px; }
	.oc-store .oc-filters { position: static; }
	.oc-store .oc-filter-form { left: 0; right: 0; width: auto; }
}
.oc-store .oc-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.25vw, 20px); }
.oc-store .oc-grid-preview { grid-auto-rows: 1fr; }
.oc-store .oc-grid-preview > .oc-preview-extra, .oc-store .oc-count-small { display: none; }
.oc-store .oc-collection-card {
	grid-column: span 2;
	position: relative; isolation: isolate; overflow: hidden; min-width: 0;
	display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
	padding: clamp(22px, 2.7vw, 46px); border-radius: 12px; color: #fff;
	background: linear-gradient(145deg, #067da8 0%, #006995 52%, #005780 100%);
}
.oc-store .oc-collection-card::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	top: -19%; right: -42%; width: 94%; aspect-ratio: 1.3;
	border: 1px solid rgb(255 255 255 / 20%); border-radius: 46%; transform: rotate(-32deg);
	box-shadow: 0 0 0 15px rgb(255 255 255 / 5%), 0 0 0 32px rgb(255 255 255 / 4%);
}
.oc-store .oc-collection-kicker { color: #fff; font-size: 10px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.oc-store .oc-collection-card h3 { margin: 12px 0 6px; color: #fff; font-size: clamp(23px, 2vw, 34px); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.oc-store .oc-collection-copy { max-width: 36ch; margin: 0; color: #fff; font-size: 14px; line-height: 1.45; }
.oc-store a.oc-collection-cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px; max-width: 100%; min-height: 42px;
	margin-top: clamp(15px, 1.7vw, 26px); padding: 8px 13px; border: 1px solid #fff; border-radius: 24px;
	color: #fff; background: rgb(0 61 99 / 22%); font-size: 13px; line-height: 1.25; font-weight: 650; text-decoration: none;
}
.oc-store a.oc-collection-cta:is(:hover, :focus-visible) { background: #004e78; color: #fff; border-color: #fff; }
.oc-store a.oc-collection-cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.oc-store .oc-collection-cta img.oc-icon { width: 15px; height: 15px; filter: brightness(0) invert(1); }
.oc-store .oc-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin-top: 24px; }
.oc-store .oc-pagination :is(a, [aria-current="page"]) { display: inline-grid; place-items: center; min-width: 38px; min-height: 38px; padding: 6px 10px; border: 1px solid var(--oc-line); border-radius: 8px; }
.oc-store .oc-pagination [aria-current="page"] { color: #fff; background: #06759e; border-color: #06759e; }
@media (max-width: 766px) {
	.oc-store .oc-grid-preview { grid-auto-rows: auto; }
	.oc-store .oc-grid-preview > .oc-preview-extra { display: block; }
	.oc-store .oc-count-wide { display: none; }
	.oc-store .oc-count-small { display: inline; }
	.oc-store .oc-collection-card {
		grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto;
		align-items: center; column-gap: 12px; padding: 18px; border-radius: 10px;
	}
	.oc-store .oc-collection-kicker { grid-column: 1; align-self: end; font-size: 9px; letter-spacing: .07em; }
	.oc-store .oc-collection-card h3 { grid-column: 1; align-self: start; margin: 4px 0 0; font-size: clamp(19px, 4.5vw, 24px); }
	.oc-store .oc-collection-copy { display: none; }
	.oc-store a.oc-collection-cta { grid-column: 2; grid-row: 1 / 3; gap: 6px; max-width: 12em; min-height: 44px; margin: 0; padding: 8px 12px; font-size: 13px; }
}
@media (max-width: 380px) {
	.oc-store .oc-collection-card { column-gap: 10px; padding: 14px 12px; }
	.oc-store a.oc-collection-cta { max-width: 10.6em; padding: 8px 10px; }
}

.oc-store .oc-card { min-width: 0; margin: 0; padding: 0; }
.oc-store .oc-card-link { display: flex; flex-direction: column; overflow: hidden; height: 100%; border: 1px solid var(--oc-line); border-radius: 12px; background: #fff; }
.oc-store .oc-card-visual { position: relative; aspect-ratio: 1.65; padding: 13px 9px 0; background: #f1f7f9; }
.oc-store .oc-card-visual img.oc-frame-image { position: absolute; inset: 0; padding: inherit; mix-blend-mode: multiply; }
.oc-store .oc-demo-tag { position: absolute; left: 12px; top: 12px; z-index: 1; display: inline-flex; align-items: center; padding: 3px 7px; border: 1px solid var(--oc-line); border-radius: 4px; background: #fff; font-size: 9px; }
.oc-store .oc-card-meta { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 14px 18px 16px; }
.oc-store .oc-brand { color: var(--oc-muted); }
.oc-store .oc-card-meta h3 { margin: 4px 0 2px; font-size: clamp(19px, 1.55vw, 24px); font-weight: 650; letter-spacing: -.035em; line-height: 1.18; }
.oc-store .oc-color { color: var(--oc-muted); font-size: 13px; }
.oc-store .oc-card-bottom { display: flex; width: 100%; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 13px; }
.oc-store .oc-price { font-size: 18px; font-weight: 700; line-height: 1.2; }
.oc-store .oc-link-arrow, .oc-store .oc-photo-action { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid var(--oc-line); border-radius: 100%; background: #fff; font-size: 15px; line-height: 1; }
.oc-store .oc-product { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(26px, 5vw, 76px); align-items: start; margin: 10px 0 12px; }
.oc-store .oc-photo { position: relative; display: grid; place-items: center; aspect-ratio: 1.3; border: 1px solid var(--oc-line); border-radius: 15px; background: #fff; overflow: hidden; }
.oc-store .oc-photo > img, .oc-store .oc-enlarge { position: absolute; inset: 0; width: 100%; height: 100%; padding: 5%; }
.oc-store .oc-enlarge { cursor: zoom-in; }
.oc-store .oc-enlarge:focus-visible { outline-offset: -4px; }
.oc-store .oc-photo-action { position: absolute; bottom: 12px; right: 12px; }
.oc-store .oc-thumbnails { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.oc-store .oc-thumbnails a { display: block; width: 68px; height: 52px; overflow: hidden; border: 1px solid var(--oc-line); border-radius: 7px; }
.oc-store .oc-thumbnails a[aria-current] { border: 2px solid var(--oc-accent); }
.oc-store .oc-thumbnails img { width: 100%; height: 100%; object-fit: contain; }
.oc-store .oc-product-info { min-width: 0; padding-top: 8px; }
.oc-store .oc-product-info .oc-overline { gap: 7px; }
.oc-store .oc-product-info .oc-overline::before, .oc-store .oc-note-dot { content: ""; width: 8px; height: 8px; flex-shrink: 0; border-radius: 50%; background: var(--oc-accent); }
.oc-store .oc-product-info h1 { margin: 10px 0 5px; }
.oc-store .oc-product-kind { color: var(--oc-muted); }
.oc-store .oc-product-kind span { margin: 0 3px; }
.oc-store .oc-facts { margin: 22px 0; border-top: 1px solid var(--oc-line); }
.oc-store .oc-facts > div { display: flex; justify-content: space-between; gap: 14px; padding: 8px 0; border-bottom: 1px solid var(--oc-line); font-size: 14px; }
.oc-store .oc-facts dt { font-weight: 500; color: var(--oc-muted); }
.oc-store .oc-facts dd { font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.oc-store .oc-price-caption { color: var(--oc-muted); font-size: 13px; }
.oc-store .oc-price-large { font-size: clamp(28px, 3vw, 38px); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.oc-store :is(.oc-price, .oc-price-large) .amount { color: var(--oc-ink); font: inherit; }
.oc-store .oc-add { margin-top: 15px; }
.oc-store .oc-add form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; }
.oc-store .oc-add .quantity { display: inline-flex; flex: none; align-items: center; max-width: 100%; margin: 0; }
.oc-store .oc-add .quantity input { min-height: 46px; }
.oc-store .oc-add .single_add_to_cart_button { display: inline-flex; align-items: center; justify-content: center; flex: 1 1 160px; min-height: 47px; margin: 0; padding: 9px 18px; border: 1px solid var(--oc-action); border-radius: 8px; background: var(--oc-action); color: #fff; font-family: inherit; font-size: 16px; font-weight: 750; line-height: 1.25; text-transform: none; letter-spacing: 0; }
.oc-store .oc-add .single_add_to_cart_button::before { content: ""; width: 18px; height: 18px; margin: 0 8px 0 0; background: url("icons/shopping-bag.svg") center / contain no-repeat; filter: brightness(0) invert(1); }
.oc-store .oc-add .single_add_to_cart_button:hover { border-color: var(--oc-ink); background: var(--oc-action); color: #fff; }
.oc-store .oc-demo-note { display: flex; align-items: baseline; gap: 8px; margin-top: 13px; color: var(--oc-muted); font-size: 13px; line-height: 1.45; }
.oc-store .oc-demo-note .oc-note-dot { width: 6px; height: 6px; }

.oc-store .oc-category-tools { display: grid; grid-template-columns: 1fr minmax(180px, 272px) auto; }
.oc-store .oc-search { display: flex; align-items: center; min-width: 0; margin: 0; padding: 2px 3px 2px 13px; border: 1px solid var(--oc-line); border-radius: 99px; background: white; }
.oc-store .oc-search:focus-within { border-color: var(--oc-accent); }
.oc-store .oc-category-head .oc-search { display: flex; max-width: 300px; margin-top: 14px; }
.oc-store .oc-search input[type="search"] { flex: 1; width: 100%; min-width: 0; height: 32px; margin: 0; padding: 2px 6px 2px 0; border: 0; border-radius: 0; background: transparent; color: var(--oc-ink); box-shadow: none; font: inherit; font-size: 14px; }
.oc-store #oc-search { scroll-margin-top: 80px; }
.oc-store .oc-search input:focus-visible { outline-offset: 0; }
.oc-store .oc-search button { flex: none; min-height: 32px; width: 32px; margin: 0; padding: 0; border-radius: 50%; cursor: pointer; }
@media (max-width: 767px) {
	.oc-store .oc-category-tools { grid-template-columns: 1fr auto; }
	.oc-store .oc-search { display: none; }
	.oc-store .oc-search-open { display: flex; grid-column: 1 / -1; grid-row: 2; }
}
@media (min-width: 767px) and (max-width: 1023px) {
	.oc-store .oc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 766px) {
	.oc-store { width: calc(100% - 20px); padding: 10px 0 42px; font-size: 14px; }
	.oc-store .oc-utility { margin-bottom: 10px; }
	.oc-store .oc-cart-link { min-height: 35px; padding: 5px 10px; font-size: 13px; }
	.oc-store h1 { font-size: clamp(33px, 7.5vw, 48px); }
	.oc-store .oc-carousel { border-radius: 15px; }
	.oc-store .oc-slide { min-height: 305px; }
	.oc-store .oc-slide-copy { padding: 20px 0 57px clamp(15px, 4vw, 27px); }
	.oc-store .oc-slide-copy h2 { font-size: clamp(29px, 7.2vw, 47px); margin: 9px 0 7px; }
	.oc-store .oc-slide-intro { font-size: 12px; line-height: 1.35; }
	.oc-store .oc-slide-cta { padding: 7px 13px; margin-top: 11px; min-height: 36px; font-size: 12px; gap: 6px; }
	.oc-store .oc-carousel-controls { left: clamp(15px, 4vw, 27px); bottom: 9px; gap: 2px; }
	.oc-store .oc-carousel-controls button { min-width: 32px; height: 32px; }
	.oc-store .oc-carousel-dots button { min-width: 23px; }
	.oc-store .oc-overline, .oc-store .oc-brand { font-size: 9px; }
	.oc-store .oc-rule { width: 18px; height: 2px; }
	.oc-store .oc-categories, .oc-store .oc-listing { margin-top: 23px; }
	.oc-store .oc-list-head { margin-bottom: 11px; }
	.oc-store .oc-tiles { gap: 7px; }
	.oc-store .oc-tile { display: flex; flex-direction: column; align-items: stretch; padding: 3px 7px 9px; border-radius: 8px; }
	.oc-store .oc-tile-img { height: clamp(42px, 12vw, 66px); }
	.oc-store .oc-tile > span { justify-content: center; gap: 5px; font-size: 13px; }
	.oc-store .oc-tile-count { margin-top: 3px; font-size: 10px; }
	.oc-store .oc-tile > span > .oc-icon { width: 13px; height: 13px; }
	.oc-store .oc-category-head { padding: 16px; border-radius: 12px; }
	.oc-store .oc-pills { gap: 5px; margin-top: 14px; }
	.oc-store .oc-pills a { padding: 7px 10px; font-size: 12px; }
	.oc-store .oc-pills a[aria-current] { padding: 6px 9px; }
	.oc-store .oc-list-head h2 { gap: 6px; }
	.oc-store .oc-list-head h2 > span { font-size: 11px; }
	.oc-store .oc-sort summary { padding: 7px 10px; font-size: 12px; }
	.oc-store .oc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
	.oc-store .oc-card-link { border-radius: 8px; }
	.oc-store .oc-card-visual { aspect-ratio: 1.45; padding: 12px 3px 0; }
	.oc-store .oc-demo-tag { top: 7px; left: 7px; font-size: 8px; padding: 2px 5px; }
	.oc-store .oc-card-meta { padding: 7px 10px 10px; }
	.oc-store .oc-card-meta h3 { margin: 3px 0; font-size: 18px; }
	.oc-store .oc-color { font-size: 11px; }
	.oc-store .oc-card-bottom { padding-top: 8px; }
	.oc-store .oc-price { font-size: 15px; }
	.oc-store .oc-link-arrow { width: 22px; height: 22px; font-size: 12px; }
	.oc-store .oc-product { grid-template-columns: minmax(0, 1fr); gap: 17px; margin-top: 0; }
	.oc-store .oc-photo { aspect-ratio: 1.75; border-radius: 10px; }
	.oc-store .oc-photo > img, .oc-store .oc-enlarge { padding: 2%; }
	.oc-store .oc-product-info { padding: 0; }
	.oc-store .oc-product-info h1 { margin: 4px 0; }
	.oc-store .oc-facts { margin: 13px 0; }
	.oc-store .oc-facts > div { padding: 6px 0; font-size: 13px; }
	.oc-store .oc-add { margin-top: 9px; }
	.oc-store .oc-demo-note { margin-top: 10px; }
}
@media (max-width: 520px) {
	.oc-store .oc-slide { grid-template-columns: minmax(0, 1fr); grid-template-rows: clamp(131px, 38vw, 170px) auto; min-height: 265px; }
	.oc-store .oc-slide-art { grid-row: 1; clip-path: none; }
	.oc-store .oc-slide-copy { grid-row: 2; align-self: center; padding: 12px 15px 15px; }
	.oc-store .oc-slide-copy h2 { max-width: none; margin: 6px 0 4px; font-size: clamp(25px, 6vw, 31px); }
	.oc-store .oc-slide-cta { margin-top: 9px; }
	.oc-store .oc-carousel-controls { right: 12px; bottom: 15px; left: auto; }
}

/* Keep discount and demo labels together, clear of the card's favorite button. */
.oc-store .oc-frame-badges {
	position: absolute;
	z-index: 1;
	top: 12px;
	left: 12px;
	right: 48px;
	display: flex;
	align-items: center;
	gap: 4px;
	pointer-events: none;
}
.oc-store .oc-frame-badges .oc-demo-tag { position: static; }
.oc-store .oc-sale-tag {
	display: inline-flex;
	align-items: center;
	padding: 3px 7px;
	border-radius: 4px;
	background: #b62238;
	color: #fff;
	font-size: 10px;
	font-weight: 750;
	line-height: 1.3;
	white-space: nowrap;
}
.oc-store :is(.oc-price, .oc-price-large):has(del) {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px .35em;
}
.oc-store .oc-price-large:has(del) { display: flex; }
.oc-store :is(.oc-price, .oc-price-large) del {
	color: var(--oc-muted);
	opacity: 1;
	font-size: .76em;
	font-weight: 500;
	text-decoration: line-through;
}
.oc-store :is(.oc-price, .oc-price-large) del .amount { color: inherit; }
.oc-store :is(.oc-price, .oc-price-large) ins {
	background: transparent;
	color: #b62238;
	font-weight: 750;
	text-decoration: none;
}
.oc-store .oc-price ins { font-size: clamp(20px, 1.5vw, 25px); }
.oc-store .oc-price-large ins { font-size: clamp(34px, 3.2vw, 48px); }
.oc-store :is(.oc-price, .oc-price-large) ins .amount { color: inherit; font-size: inherit; }
.oc-store :is(.oc-price, .oc-price-large) ins,
.oc-store :is(.oc-price, .oc-price-large) ins * { text-decoration: none; }
@media (max-width: 766px) {
	.oc-store .oc-frame-badges { top: 7px; left: 7px; }
	.oc-store .oc-sale-tag { padding: 2px 5px; font-size: 9px; }
}
