.oc-qty-caption, .oc-dock [hidden], .oc-favorites [hidden], .oc-wish-feedback [hidden] { display: none !important; }
.oc-mobile-commerce #footer .porto-scroll-progress-circle, .oc-mobile-commerce #topcontrol { display: none !important; }
.oc-dock-icon { width: 22px; height: 22px; display: block; flex: 0 0 auto; }
.oc-dock a:focus-visible, .oc-dock button:focus-visible, .oc-favorites :focus-visible {
	outline: 3px solid #0aa1dd; outline-offset: 2px;
}
.oc-favorites {
	scroll-margin-top: 95px;
	margin: 0 0 24px; padding: clamp(16px, 3vw, 26px);
	border: 1px solid #bfe6f6; border-radius: 16px; background: #f2faff; color: #2c2c2c;
}
.oc-fav-heading, .oc-favorites li, .oc-favorites li > a { display: flex; gap: 12px; align-items: center; }
.oc-fav-heading h2 { margin: 0; color: #2c2c2c; font-size: 22px; }
.oc-fav-count { min-width: 26px; text-align: center; border-radius: 20px; color: #2c2c2c; background: #d5f1fb; }
.oc-favorites p { margin: 10px 0 0; }
.oc-favorites ul { list-style: none; margin: 0; padding: 0; }
.oc-favorites li { justify-content: space-between; padding: 8px 0; margin-top: 8px; border-top: 1px solid #c9e2ed; }
.oc-favorites li > a { color: #2c2c2c; font-weight: 650; }
.oc-favorites li > a img { width: 64px; height: 50px; object-fit: contain; border-radius: 6px; background: #fff; }
.oc-favorites li small { display: block; font-weight: 500; }
.oc-favorites li small del { color: #606669; font-size: 13px; }
.oc-favorites li small ins, .oc-favorites li small ins * { color: #b62238; font-size: 18px; font-weight: 750; text-decoration: none; }
.oc-wish-toggle {
	display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 44px; padding: 0;
	border: 1px solid #aacddc; border-radius: 11px; color: #2c2c2c; background: #fff; cursor: pointer;
}
.oc-wish-toggle[aria-pressed="true"] { border-color: #0aa1dd; background: #bcecff; box-shadow: inset 0 0 0 1px #0aa1dd; }
.oc-store .oc-card { position: relative; }
.oc-card > .oc-wish-toggle { position: absolute; z-index: 2; top: 4px; right: 4px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; box-shadow: none; }
.oc-card > .oc-wish-toggle .oc-dock-icon { box-sizing: content-box; padding: 5px; width: 16px; height: 16px; border-radius: 50%; border: 1px solid #c9e2ed; background: #fff; }
.oc-card > .oc-wish-toggle:is(:hover, [aria-pressed="true"]) .oc-dock-icon { background: #bcecff; border-color: #0aa1dd; }
.oc-card > .oc-wish-toggle[hidden] { display: none; }
.oc-wish-feedback {
	position: fixed; z-index: 1000; right: 16px; bottom: 16px; max-width: calc(100% - 32px);
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #2c2c2c; font-size: 13px; line-height: 1.35; font-weight: 600;
}
.oc-wish-feedback:has([data-oc-wish-status]:not(:empty)) {
	padding: 9px 14px; background: #fff; border: 1px solid #bfe6f6; border-radius: 12px;
	box-shadow: 0 3px 18px #15384c24;
}
.oc-wish-feedback:has([data-oc-wish-status]:empty) a { display: none; }
.oc-wish-feedback a { color: #2c2c2c; text-decoration: underline; }
@media (min-width: 768px) {
	.oc-dock { position: fixed; z-index: 950; right: max(18px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); }
	.oc-dock-purchase, .oc-dock-links > a { display: none; }
	.oc-dock-links { display: grid; gap: 9px; }
	.oc-dock-links :is(.oc-nav-heart, .oc-nav-shopping-bag) {
		position: relative; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #b4dce9;
		border-radius: 50%; background: #fff; box-shadow: 0 3px 14px #163a4b25; color: #2c2c2c;
	}
	.oc-dock-links .oc-nav-shopping-bag { background: #0aa1dd; border-color: #0aa1dd; color: #fff; }
	.oc-dock-links .oc-nav-shopping-bag .oc-dock-icon { filter: brightness(0) invert(1); }
	.oc-dock-links a:is(:hover, :focus-visible) { border-color: #2c2c2c; }
	.oc-dock-links a > span {
		position: absolute; right: calc(100% + 8px); padding: 5px 10px; border-radius: 7px; color: #fff;
		background: #2c2c2c; font-size: 13px; line-height: 1.4; opacity: 0; pointer-events: none;
	}
	.oc-dock-links a:is(:hover, :focus-visible) > span { opacity: 1; }
	.oc-wish-feedback { right: 82px; bottom: 27px; }
}
@media (max-width: 767px) {
	body.oc-mobile-commerce { --oc-dock-space: calc(64px + env(safe-area-inset-bottom, 0px)); }
	body.oc-mobile-product { --oc-dock-space: calc(123px + env(safe-area-inset-bottom, 0px)); }
	.oc-mobile-commerce .oc-store .oc-cart-link { display: none; }
	body.oc-mobile-commerce .page-wrapper { padding-bottom: var(--oc-dock-space); }
	html:has(body.oc-mobile-commerce) { scroll-padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
	html:has(body.oc-mobile-product) { scroll-padding-bottom: calc(123px + env(safe-area-inset-bottom, 0px)); }
	.oc-dock {
		display: block !important; position: fixed; z-index: 990; left: 0; right: 0; bottom: 0;
		padding: 0 env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
		color: #2c2c2c; background: white; border-top: 1px solid #c8e3ee; box-shadow: 0 -5px 20px #14364b12;
	}
	.oc-dock-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.oc-dock-links a {
		position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		min-height: 60px; padding: 6px 0 5px; color: #2c2c2c; font-size: 11px; font-weight: 600; line-height: 1.2; text-decoration: none;
	}
	.oc-dock-links a[aria-current] { background: #e8f7fd; font-weight: 750; }
	.oc-dock-links a[aria-current]::before {
		content: ""; height: 3px; width: 26px; position: absolute; top: 0; border-radius: 0 0 3px 3px; background: #0aa1dd;
	}
	.oc-dock-purchase { display: flex; gap: 8px; padding: 7px 10px; border-bottom: 1px solid #e2edf2; }
	.oc-dock .oc-dock-buy {
		display: flex; flex: 1; justify-content: center; align-items: center; gap: 8px; min-height: 44px;
		margin: 0; padding: 7px 12px; border: 0; border-radius: 11px; color: #fff; background: #0aa1dd; font-family: inherit;
		font-size: 15px; line-height: 1.25; font-weight: 750; text-decoration: none; cursor: pointer;
	}
	.oc-dock .oc-dock-buy .oc-dock-icon { filter: brightness(0) invert(1); }
	.oc-dock .oc-dock-buy:disabled { opacity: .55; cursor: default; }
	.oc-mobile-product:has(.oc-dock [data-oc-add]:not([hidden])) .oc-add .single_add_to_cart_button { display: none; }
	.oc-mobile-product:has(.oc-dock [data-oc-add]:not([hidden])) .oc-add .oc-qty-caption { display: inline !important; margin-right: 4px; font-size: 14px; font-weight: 650; }
	.oc-unavailable { margin: auto; font-weight: 650; }
	.oc-wish-feedback { right: 10px; left: 10px; bottom: calc(var(--oc-dock-space) + 5px); width: fit-content; max-width: calc(100% - 20px); }
}
