/*
Theme Name: Tipitoe Shoptimizer Child
Theme URI: https://tipitoe.ro/
Description: Minimal Tipitoe child theme for Shoptimizer staging evaluation.
Author: Tipitoe
Author URI: https://tipitoe.ro/
Template: shoptimizer
Version: 0.0.86
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: tipitoe-shoptimizer-child
GitHub Theme URI: https://github.com/tipitoe-ro/tipitoe-shoptimizer-child
Primary Branch: main
*/

/*
 * Keep this stylesheet intentionally small while the Shoptimizer baseline is
 * being evaluated. Product, checkout, account, and shared chrome behavior
 * remain owned by the parent theme and its installed plugins.
 */

/* Brand taxonomy pages use their archive context instead of a generic title. */
.tax-pwb-brand .woocommerce-products-header__title.page-title {
	display: none;
}

/*
 * Shoptimizer supplies the Top Bar Center wrapper; this widget only fills that
 * existing slot. A single message remains plain centered text. Multiple
 * messages pass through the existing viewport from right to left.
 */
.top-bar-center .widget_tipitoe_shoptimizer_child_top_bar_messages {
	width: 100%;
}

/*
 * Keep archive pagination centered and deliberately quiet: square controls,
 * a coral current page, and lightweight chevrons match the Tipitoe storefront
 * language without changing WooCommerce's links or the filter behavior.
 */
.tipitoe-product-filters-pagination .woocommerce-pagination {
	display: flex;
	justify-content: center;
	width: 100%;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li {
	margin: 0;
	padding: 0;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a,
.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #d8d8d8;
	border-radius: 0;
	background: #fff;
	color: #242424;
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a:hover,
.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a:focus-visible {
	border-color: #e56d6d;
	background: #fff;
	color: #c75456;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > span.current {
	border-color: #e56d6d;
	background: #e56d6d;
	color: #fff;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > span.dots {
	width: auto;
	border: 0;
	background: transparent;
	color: #242424;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.prev,
.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.next {
	position: relative;
	font-size: 0;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.prev > *,
.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.next > * {
	display: none !important;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.prev::before,
.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.next::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	content: "";
	transform-origin: center;
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.prev::before {
	transform: translate(-50%, -50%) rotate(135deg);
}

.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.next::before {
	transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 680px) {
	.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers {
		gap: 0.35rem;
		max-width: 100%;
	}

	.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a,
	.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > span {
		width: 36px;
		height: 36px;
		font-size: 0.9rem;
	}

	.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > span.dots {
		width: 1rem;
	}

	.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.prev::before,
	.tipitoe-product-filters-pagination .woocommerce-pagination ul.page-numbers li > a.next::before {
		width: 0.5rem;
		height: 0.5rem;
	}
}

.top-bar-right .widget_tipitoe_shoptimizer_child_top_bar_account_link {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
}

.tipitoe-shoptimizer-child-top-bar-account-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	justify-content: flex-end;
	white-space: nowrap;
}

.tipitoe-shoptimizer-child-top-bar-account-link__icon {
	display: block;
	width: 1rem;
	height: 1rem;
	flex: 0 0 auto;
}

/*
 * Shoptimizer's parent cart markup remains intact inside this desktop action
 * group, so WooCommerce can continue to replace it after AJAX cart updates.
 * The heart opens the account-scoped shared wishlist supplied by the
 * app-bridge. The cart markup remains parent-owned and fragment-safe.
 */
.tipitoe-shoptimizer-child-header-actions {
	display: none;
}

@media (min-width: 993px) {
	.site-header .tipitoe-shoptimizer-child-header-actions {
		display: flex;
		margin-left: auto;
		padding-left: 2.5rem;
		align-items: center;
		gap: 1.25rem;
	}

	.tipitoe-shoptimizer-child-header-actions__wishlist-link {
		position: relative;
		display: grid;
		width: 1.7rem;
		height: 1.7rem;
		color: inherit;
		text-decoration: none;
		place-items: center;
	}

	.tipitoe-shoptimizer-child-header-actions__wishlist-link:hover,
	.tipitoe-shoptimizer-child-header-actions__wishlist-link:focus-visible {
		color: #c91f32;
	}

	.tipitoe-shoptimizer-child-header-actions__wishlist-link:focus-visible {
		outline: 3px solid currentColor;
		outline-offset: 4px;
	}

	.tipitoe-shoptimizer-child-header-actions__wishlist-link svg {
		display: block;
		width: 1.65rem;
		height: 1.65rem;
	}

	.tipitoe-shoptimizer-child-header-actions__wishlist-count {
		position: absolute;
		top: 0.65rem;
		right: -0.7rem;
		display: grid;
		width: 1.2rem;
		height: 1.2rem;
		border-radius: 50%;
		background: #e56d6d;
		color: #fff;
		font-size: 0.65rem;
		font-weight: 700;
		line-height: 1.2rem;
		place-items: center;
	}

	.tipitoe-shoptimizer-child-header-actions__wishlist-count[hidden] {
		display: none !important;
	}

	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart {
		margin: 0;
	}

	.site-header .tipitoe-shoptimizer-child-header-actions .site-header-cart {
		display: block;
		width: auto;
		height: auto;
		min-height: 0;
		margin: 0;
		line-height: 1;
	}

	.tipitoe-shoptimizer-child-header-actions .site-header-cart,
	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart,
	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart .cart-contents {
		display: flex;
		align-items: center;
		height: auto;
		min-height: 0;
		padding: 0;
		color: inherit;
		line-height: 1;
	}

	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart .amount {
		display: none;
	}

	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart-icon {
		position: relative;
		display: inline-flex;
		align-items: center;
	}

	/*
	 * WooCommerce may restore a stored cart fragment after the page has loaded.
	 * That fragment contains the former Shoptimizer icon choice, while the
	 * current page has already rendered the newly selected Customizer choice.
	 * Keep the desktop action group visually tied to this page's selected cart
	 * icon without changing the fragment markup, count, link, or drawer logic.
	 */
	.tipitoe-shoptimizer-child-header-actions[data-tipitoe-cart-icon="cart"] .shoptimizer-cart-icon > svg {
		opacity: 0;
	}

	.tipitoe-shoptimizer-child-header-actions[data-tipitoe-cart-icon="cart"] .shoptimizer-cart-icon::before {
		position: absolute;
		inset: 0;
		display: block;
		background-color: currentColor;
		content: "";
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 000-4z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 000-4z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart-icon svg {
		top: 0;
		width: 1.7rem;
		height: 1.7rem;
	}

	.tipitoe-shoptimizer-child-header-actions .shoptimizer-cart-icon .mini-count {
		position: absolute;
		top: -0.55rem;
		right: -0.7rem;
		left: auto;
		width: 1.2rem;
		height: 1.2rem;
		color: #fff;
		font-size: 0.65rem;
		line-height: 1.2rem;
	}

	/*
	 * The parent emits a separate navigation cart. Hide it only on desktop,
	 * where the same fragment-aware cart is shown beside search. On mobile,
	 * Shoptimizer uses its original cart inside the main header.
	 */
	.shoptimizer-primary-navigation > .site-header-cart {
		display: none;
	}

	/*
	 * The existing Secondary menu location moves from the header into the free
	 * right side of the red navigation bar. Its menu remains editable in
	 * Appearance → Menus, including a staff-created CTA item.
	 */
	.shoptimizer-primary-navigation > .secondary-navigation {
		display: flex;
		float: none;
		margin-left: auto;
		align-items: center;
		align-self: stretch;
	}

	.shoptimizer-primary-navigation > .secondary-navigation .menu {
		display: flex;
		height: auto;
		align-items: center;
	}

	.shoptimizer-primary-navigation > .secondary-navigation .menu-item {
		display: flex;
		margin: 0;
		align-items: center;
	}

	.shoptimizer-primary-navigation > .secondary-navigation .menu-item > a {
		display: inline-flex;
		height: 2.9rem;
		min-height: 0;
		padding: 0 1.55rem;
		border: 2px solid #fff;
		border-radius: 999px;
		color: #fff;
		font-size: 0.95rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.01em;
		text-transform: uppercase;
		transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
		align-items: center;
		justify-content: center;
	}

	/*
	 * The parent gives plain secondary-menu links 35px of top padding. This
	 * relocated menu is a compact CTA, so cancel that legacy header spacing and
	 * let the pill center itself in the red navigation bar.
	 */
	.shoptimizer-primary-navigation > .secondary-navigation .menu li:not(.ri) > a {
		padding: 0 1.55rem !important;
		align-self: center;
	}

	.shoptimizer-primary-navigation > .secondary-navigation .menu-item > a:hover,
	.shoptimizer-primary-navigation > .secondary-navigation .menu-item > a:focus-visible {
		border-color: #fff;
		background: #fff;
		color: #e56d72;
	}

	.shoptimizer-primary-navigation > .secondary-navigation .menu-item > a:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 3px;
	}
}

@media (max-width: 992px) {
	.shoptimizer-primary-navigation > .secondary-navigation {
		display: none;
	}

	.site-header .custom-logo-link img {
		width: auto;
		height: 44px;
		object-fit: contain;
	}
}

/*
 * Checkout uses Shoptimizer's compact purchase-flow header. The storefront
 * header actions and relocated Secondary-menu CTA do not belong in that flow.
 */
body.woocommerce-checkout .site-header .tipitoe-shoptimizer-child-header-actions,
body.woocommerce-checkout .secondary-navigation {
	display: none !important;
}

/*
 * The DPD RO plugin registers its pickup fields for both Block Checkout
 * address forms even when office selection is disabled. Keep the fields in
 * the DOM for the plugin's data contract, but do not expose implementation
 * fields or the office locator to buyers. The selector applies to both
 * shipping and billing forms and does not affect classic checkout markup.
 */
body.woocommerce-checkout .wc-block-components-address-form__dpdro-pickup_id,
body.woocommerce-checkout .wc-block-components-address-form__dpdro-pickup_type,
body.woocommerce-checkout .wc-block-components-address-form__dpdro-pickup_name,
body.woocommerce-checkout .wc-block-components-address-form .dpdro-offices-map {
	display: none !important;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads {
	display: none;
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--oblio-invoices a::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3.5H14L18 7.5V20.5H6V3.5Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 3.5V7.5H18M9 11H15M9 14H15M9 17H13' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 3.5H14L18 7.5V20.5H6V3.5Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 3.5V7.5H18M9 11H15M9 14H15M9 17H13' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--returns a::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 7H16C18.7614 7 21 9.23858 21 12C21 14.7614 18.7614 17 16 17H8C5.23858 17 3 14.7614 3 12C3 9.23858 5.23858 7 8 7Z' stroke='%234A5568' stroke-width='1.5'/%3E%3Cpath d='M8 4L5 7L8 10M5 7H11' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 7H16C18.7614 7 21 9.23858 21 12C21 14.7614 18.7614 17 16 17H8C5.23858 17 3 14.7614 3 12C3 9.23858 5.23858 7 8 7Z' stroke='%234A5568' stroke-width='1.5'/%3E%3Cpath d='M8 4L5 7L8 10M5 7H11' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.tipitoe-shoptimizer-child-top-bar-messages {
	display: flex;
	width: 100%;
	min-width: 0;
	justify-content: center;
}

.tipitoe-shoptimizer-child-top-bar-messages--multiple {
	display: block;
}

.tipitoe-shoptimizer-child-top-bar-messages__viewport {
	display: grid;
	min-width: 0;
	overflow: hidden;
	line-height: 1.45;
	text-align: center;
}

.tipitoe-shoptimizer-child-top-bar-messages__message {
	display: block;
	grid-area: 1 / 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tipitoe-shoptimizer-child-top-bar-messages__message[hidden] {
	display: none;
}

.tipitoe-shoptimizer-child-top-bar-messages__message.is-entering {
	animation: tipitoe-top-bar-message-enter 320ms ease-out both;
}

.tipitoe-shoptimizer-child-top-bar-messages__message.is-leaving {
	animation: tipitoe-top-bar-message-leave 320ms ease-in both;
}

@keyframes tipitoe-top-bar-message-enter {
	from {
		transform: translateX(105%);
	}

	to {
		transform: translateX(0);
	}
}

@keyframes tipitoe-top-bar-message-leave {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-105%);
	}
}

/*
 * CommerceKit opens the product gallery with PhotoSwipe. Keep the lightbox
 * itself, its top controls, captions, and share surface white; the parent
 * default skin uses a white icon sprite, so invert just those controls to
 * render crisp black icons on the white UI.
 */
.pswp__bg,
.pswp__scroll-wrap,
.pswp__ui,
.pswp__top-bar,
.pswp__caption,
.pswp__caption__center {
	background: #fff !important;
	color: #000 !important;
}

.pswp__top-bar {
	border: 0;
}

.pswp__counter,
.pswp__caption small,
.pswp__error-msg,
.pswp__error-msg a {
	color: #000 !important;
}

.pswp__share-modal {
	background: rgba(255, 255, 255, 0.94) !important;
}

.pswp__share-tooltip {
	background: #fff !important;
	color: #000 !important;
}

.pswp__button {
	filter: invert(1);
}

.pswp__button--arrow--left,
.pswp__button--arrow--right {
	filter: none !important;
}

.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
	background-color: transparent !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 24px 24px !important;
	filter: none !important;
}

.pswp__button--arrow--left::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") !important;
}

.pswp__button--arrow--right::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") !important;
}

.pswp__img--placeholder--blank {
	background: #fff !important;
}

.pswp--css_animation .pswp__preloader__donut {
	border-color: #000 !important;
	border-left-color: transparent !important;
	border-bottom-color: transparent !important;
}

/*
 * Keep every CommerceKit product-listing size button genuinely square and
 * compact. CommerceKit’s PLP baseline has a 42px minimum height and 40px line
 * height, which makes otherwise narrow numeric buttons rectangular. The PLP
 * wrapper is never used by the full product-page variation picker.
 */
.cgkit-as-wrap-plp .cgkit-attribute-swatches .cgkit-attribute-swatch.cgkit-button button {
	border-color: #ccc;
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	min-width: 30px !important;
	max-width: 30px !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
	padding: 0 !important;
	font-size: 11px;
	line-height: 1 !important;
}

/* Keep unavailable listing swatches visible enough to recognise their colour. */
.cgkit-as-wrap-plp .cgkit-attribute-swatches .cgkit-attribute-swatch > button.cgkit-as-outofstock {
opacity: 0.5 !important;
}

/*
 * Product names can be much longer than a card column. Limit archive cards
 * to one line so their prices and swatches align, while the product page
 * retains the full title.
 */
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title > .woocommerce-LoopProduct-link {
max-width: 100%;
min-width: 0;
}

body.archive.woocommerce ul.products li.product .woocommerce-loop-product__title > .woocommerce-LoopProduct-link {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

/* Shoptimizer keeps the category title banner, but the long SEO copy moves
 * below the product feed. The parent leaves this wrapper empty after the
 * server-side move, so remove any residual header spacing. */
body.tax-product_cat .shoptimizer-category-banner .taxonomy-description:empty {
display: none;
}

body.tax-product_cat .tipitoe-shoptimizer-child-category-description {
margin-top: 3rem;
}

/*
 * Product information stays with the price instead of using the parent
 * theme's below-the-fold tab block. Native details provide keyboard support
 * and a useful no-JavaScript fallback; the small child script only adds
 * single-open and hash-link behavior.
 */
.single-product .summary .tipitoe-shoptimizer-child-product-information {
	margin: 1.5rem 0;
	border-top: 1px solid #e7e7e7;
}

.tipitoe-shoptimizer-child-product-information__item {
	border-bottom: 1px solid #e7e7e7;
}

.tipitoe-shoptimizer-child-product-information__item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	color: #343434;
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 700;
	list-style: none;
}

.single-product .summary details summary {
	border-top: 0;
}

.tipitoe-shoptimizer-child-product-information__item > summary::-webkit-details-marker {
	display: none;
}

.tipitoe-shoptimizer-child-product-information__item > summary::after {
	width: auto;
	height: auto;
	border: 0;
	content: "⌄";
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	transform: none;
	transition: transform 160ms ease;
}

.single-product .summary .pwb-single-product-brands {
	margin: 0 0 0.35rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.single-product .summary .pwb-single-product-brands .pwb-text-before-brands-links {
	display: none;
}

.single-product .summary .pwb-single-product-brands a {
	color: #c75456;
	text-decoration: none;
}

.single-product .summary .product_title + .woocommerce-product-rating {
	margin: 0 0 0.65rem;
}

.single-product .summary > .cgkit-as-variation-price {
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}

.single-product .summary > .cgkit-as-variation-price .price bdi {
	font-size: 1.45em;
	font-weight: 700;
}

/*
 * CommerceKit prints the real percentage before a variation is chosen, but
 * Shoptimizer's variation styles can conceal it. Keep the existing badge
 * beside its price in both the initial and selected states.
 */
.single-product .summary > .sale-item.product-label {
	display: inline-flex !important;
	position: static !important;
	margin: 0 0 0 0.55rem;
	vertical-align: middle;
}

.single-product .summary .dsalv-attribute-label {
	margin: 0 0 0.65rem;
	color: #222;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.2;
	text-transform: uppercase;
}

.br_alabel_label.br_alabel_center {
margin-top: -30px;
}

.tipitoe-shoptimizer-child-product-information__item[open] > summary::after {
	transform: rotate(180deg);
}

.tipitoe-shoptimizer-child-product-information__panel {
	padding: 0 0 1.25rem;
	color: #555;
	font-size: 0.9rem;
	line-height: 1.65;
}

.single-product .summary .tipitoe-shoptimizer-child-product-information__item:not([open]) > .tipitoe-shoptimizer-child-product-information__panel {
	display: none !important;
}

.single-product .summary .tipitoe-shoptimizer-child-product-information__item[open] > .tipitoe-shoptimizer-child-product-information__panel {
	display: block !important;
	visibility: visible !important;
	height: auto !important;
	max-height: none !important;
	opacity: 1 !important;
	overflow: visible !important;
}

.single-product .summary .tipitoe-shoptimizer-child-product-information__item[open] {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

/* The lower native section retains Description content without its duplicate tab label. */
.single-product .woocommerce-tabs ul.tabs {
	display: none;
}

.tipitoe-shoptimizer-child-product-information__panel > :first-child {
	margin-top: 0;
}

.tipitoe-shoptimizer-child-product-information__panel > :last-child {
	margin-bottom: 0;
}

.tipitoe-shoptimizer-child-product-information__panel table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.tipitoe-shoptimizer-child-product-information__panel th,
.tipitoe-shoptimizer-child-product-information__panel td {
	padding: 0.55rem;
	border: 1px solid #e2e2e2;
	text-align: left;
}

/*
 * Product Details is an attributes list, not a dense data grid. Give its
 * label/value split the lighter, left-aligned treatment used in the approved
 * reference while leaving size-guide tables under their existing styling.
 */
.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes {
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.55;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes tr {
	border-bottom: 1px solid #dedede;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes tr:first-child {
	border-top: 0;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes tr:last-child {
	border-bottom: 0;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes th,
.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes td {
	padding: 1rem 1.1rem;
	border: 0 !important;
	background: transparent !important;
	vertical-align: middle;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes th {
	width: 32%;
	border-right: 1px solid #dedede !important;
	color: #929292;
	font-weight: 400;
	padding-left: 0.5rem !important;
	text-align: left !important;
	text-transform: none;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes td {
	color: #5b5b5b;
	font-weight: 400;
	text-align: left !important;
}

.tipitoe-shoptimizer-child-product-information__panel table.woocommerce-product-attributes tr:first-child th,
.tipitoe-shoptimizer-child-product-information__panel table.woocommerce-product-attributes tr:first-child td {
	padding: 1rem 1.1rem !important;
}

.tipitoe-shoptimizer-child-product-information__panel table.woocommerce-product-attributes tr:first-child th {
	padding-left: 0.5rem !important;
}

.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes td p {
	margin: 0;
}

.single-product .summary .tipitoe-shoptimizer-child-size-notice {
	display: flex;
	gap: 0.6rem;
	margin: 1.25rem 0;
	padding: 1rem;
	border: 1px dashed #e56d6d;
	border-radius: 0.7rem;
	background: #fff3f3;
	color: #d73e3e;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.55;
}

.single-product .summary .tipitoe-shoptimizer-child-purchase-assurances {
	margin: 1.4rem 0 1.7rem;
}

.tipitoe-shoptimizer-child-purchase-assurances__measure-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	color: #343434;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.tipitoe-shoptimizer-child-purchase-assurances__measure-link:hover,
.tipitoe-shoptimizer-child-purchase-assurances__measure-link:focus-visible {
	color: #c75456;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.tipitoe-shoptimizer-child-purchase-assurances__measure-link svg {
	width: 2.5rem;
	height: auto;
	flex: 0 0 auto;
}

/*
 * The PHP-rendered "Tabel mărimi" and "Cum măsurăm piciorul?" links share
 * this row above the size-notice banner. Each link is flush to an opposite
 * edge of the product-summary column.
 */
.tipitoe-shoptimizer-child-size-guide-links {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	margin: 1rem 0 1.25rem;
}

.tipitoe-shoptimizer-child-size-guide-link {
	margin: 0;
}

.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-label {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0;
	border: 0;
	background: none;
	color: #343434;
	/* !important: CommerceKit's own compatibility CSS ships
	   `.theme-shoptimizer .commercekit-size-guide button { font-size: 13px; }`
	   at higher specificity (0,2,1) than this rule (0,2,0). */
	font-size: 0.95rem !important;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
}

.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-label:hover,
.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-label:focus-visible {
	color: #c75456;
}

.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-label:hover span:last-child,
.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-label:focus-visible span:last-child {
	text-decoration: underline;
	text-decoration-thickness: 0.5px;
	text-underline-offset: 0.2em;
}

.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-icon svg {
	width: 2.5rem;
	height: auto;
	flex: 0 0 auto;
}

.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-clr {
	display: none;
}

.tipitoe-shoptimizer-child-size-guide-links > .tipitoe-shoptimizer-child-size-guide-link:last-child {
	flex: 0 1 auto;
	margin-left: auto;
	text-align: right;
}

.tipitoe-shoptimizer-child-size-guide-links .tipitoe-shoptimizer-child-measure-guide .commercekit-sg-label {
	justify-content: flex-end;
}

.tipitoe-shoptimizer-child-size-guide-links .tipitoe-shoptimizer-child-measure-guide .commercekit-sg-icon svg {
	width: 1.35rem;
	height: 1.35rem;
}

/*
 * Keep the two controls on one compact line on phones. The available width is
 * shared between the left-aligned size table and the right-aligned measuring
 * link; smaller icon/text spacing prevents the labels from becoming two tall
 * stacked blocks while preserving their opposite-edge alignment.
 */
@media (max-width: 600px) {
	.tipitoe-shoptimizer-child-size-guide-links {
align-items: center;
		flex-wrap: nowrap;
		gap: 0.5rem;
		margin-top: 0.9rem;
		margin-bottom: 1.1rem;
	}

	.tipitoe-shoptimizer-child-size-guide-links > .tipitoe-shoptimizer-child-size-guide-link {
display: flex;
align-items: center;
		min-width: 0;
	}

	.tipitoe-shoptimizer-child-size-guide-links > .tipitoe-shoptimizer-child-size-guide-link:first-child {
		flex: 0 1 auto;
	}

	.tipitoe-shoptimizer-child-size-guide-links > .tipitoe-shoptimizer-child-size-guide-link:last-child {
		flex: 0 1 auto;
		margin-left: auto;
	}

.tipitoe-shoptimizer-child-size-guide-link > .commercekit-size-guide {
display: flex;
align-items: center;
margin-bottom: 0;
line-height: 1;
}

	.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-label {
height: 1.8rem;
		gap: 0.35rem;
		font-size: 0.875rem !important;
		line-height: 1.2;
vertical-align: middle;
		white-space: nowrap;
	}

.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-icon {
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 0;
}

	.tipitoe-shoptimizer-child-size-guide-link .commercekit-sg-icon svg {
display: block;
		width: 1.8rem;
	}

	.tipitoe-shoptimizer-child-size-guide-links .tipitoe-shoptimizer-child-measure-guide .commercekit-sg-icon svg {
		width: 1.25rem;
		height: 1.25rem;
	}
}

/*
 * CommerceKit emits the empty value in the initial server markup. Keep the
 * label available for chosen values, but hide only its explicit empty state.
 * This belongs in the child stylesheet rather than an orphaned inline-style
 * handle so it is present from the first styled paint.
 */
.variations_form .label .cgkit-chosen-attribute.no-selection,
.tipitoe-shoptimizer-child-product-information .woocommerce-product-attributes-item__label .cgkit-chosen-attribute.no-selection {
	display: none !important;
}

.tipitoe-shoptimizer-child-purchase-assurances__list:first-child {
	margin-top: 0;
}

.tipitoe-shoptimizer-child-purchase-assurances__list {
	margin-top: 0.9rem;
	overflow: hidden;
	border: 1px solid #dedede;
	border-radius: 0.85rem;
	background: #fafafa;
}

.tipitoe-shoptimizer-child-purchase-assurances__item {
	display: grid;
	grid-template-columns: 2.7rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding: 1.1rem 1.15rem;
}

.tipitoe-shoptimizer-child-purchase-assurances__item + .tipitoe-shoptimizer-child-purchase-assurances__item {
	border-top: 1px dotted #c9c9c9;
}

.tipitoe-shoptimizer-child-purchase-assurances__icon {
	width: 2.3rem;
	height: 2.3rem;
	margin-top: 0.1rem;
	color: #727985;
}

.tipitoe-shoptimizer-child-purchase-assurances__item h3 {
	margin: 0 0 0.2rem;
	color: #242424;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.tipitoe-shoptimizer-child-purchase-assurances__item p {
	margin: 0;
	color: #626262;
	font-size: 0.9rem;
	line-height: 1.55;
}

.tipitoe-shoptimizer-child-purchase-assurances__item p a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.tipitoe-shoptimizer-child-purchase-assurances__item p a:hover,
.tipitoe-shoptimizer-child-purchase-assurances__item p a:focus-visible {
	color: #c75456;
}

.tipitoe-shoptimizer-child-size-notice__icon {
	flex: 0 0 auto;
}

.tipitoe-shoptimizer-child-size-notice p {
	margin: 0;
}

/*
 * My Account dashboard tab only. The optional sidebar block exists solely to
 * host the "Cont client — bară laterală" widget area, as a full-width block
 * below the welcome text/orders content (never side-by-side, at any viewport
 * width). It is not rendered (see woocommerce/myaccount/dashboard.php) until
 * a widget is added, so an account with no widgets there keeps the plain
 * dashboard.
 */
.tipitoe-shoptimizer-child-myaccount-dashboard--has-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.tipitoe-shoptimizer-child-myaccount-dashboard__sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.tipitoe-shoptimizer-child-myaccount-sidebar__widget {
	padding: 1.5rem;
	border: 1px solid #e7e7e7;
	border-radius: 0.85rem;
	background: #fafafa;
}

.tipitoe-shoptimizer-child-myaccount-sidebar__widget-title {
	margin: 0 0 0.85rem;
	color: #242424;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
}

.tipitoe-shoptimizer-child-myaccount-sidebar__widget > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 680px) {
	/*
	 * CommerceKit renders a Swiper pagination row beneath the mobile PDP gallery.
	 * Swiping remains available; only the visually redundant dots are hidden.
	 */
	.single-product #commercegurus-pdp-gallery-wrapper .swiper-pagination {
		display: none !important;
	}

	/*
	 * Shoptimizer truncates breadcrumbs on narrow screens. Let the same single
	 * line scroll horizontally by touch instead, while keeping its scrollbar
	 * hidden and preserving vertical page scrolling.
	 */
	.single-product .woocommerce-breadcrumb {
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		text-overflow: clip;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.single-product .woocommerce-breadcrumb::-webkit-scrollbar {
		display: none;
	}

	.single-product .summary .tipitoe-shoptimizer-child-product-information {
		margin: 1.2rem 0;
	}

	.tipitoe-shoptimizer-child-product-information__item > summary {
		padding: 0.9rem 0;
	}

	.single-product .summary .tipitoe-shoptimizer-child-purchase-assurances {
		margin: 1.2rem 0 1.45rem;
	}

	.tipitoe-shoptimizer-child-purchase-assurances__item {
		grid-template-columns: 2.2rem minmax(0, 1fr);
		gap: 0.7rem;
		padding: 1rem 0.9rem;
	}

	.tipitoe-shoptimizer-child-purchase-assurances__icon {
		width: 1.95rem;
		height: 1.95rem;
	}

	.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes th,
	.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes td {
		padding: 0.85rem 0.65rem;
	}

	.tipitoe-shoptimizer-child-product-information__panel table.woocommerce-product-attributes tr:first-child th,
	.tipitoe-shoptimizer-child-product-information__panel table.woocommerce-product-attributes tr:first-child td {
		padding: 0.85rem 0.65rem !important;
	}

	.tipitoe-shoptimizer-child-product-information__panel table.woocommerce-product-attributes tr:first-child th {
		padding-left: 0.5rem !important;
	}

	.tipitoe-shoptimizer-child-product-information__panel .woocommerce-product-attributes th {
		padding-left: 0.5rem !important;
	}

}