/*
Theme Name: Prime Tools XStore Child
Template: xstore
Version: 1.0.41
Text Domain: prime-tools
*/

/* Keep both side-cart actions typographically identical. */
.etheme-elementor-off-canvas-content .mini-cart-buttons .button {
	font-size: 14px;
}

/* A side panel is always above page content, so it must also sit above the
 * decorative fixed scroll-progress indicator. */
body.etheme-elementor-off-canvas--shown .pt-global-scroll-loader {
	opacity: 0;
	pointer-events: none;
	transform: translateY(100%);
	visibility: hidden;
}

/* Cart and checkout: one visual language for totals, labels and order action. */
.etheme-elementor-cart-page-totals-wrapper .cart_totals {
	border-color: #b7e000 !important;
}

.etheme-elementor-checkout-page-order-details-wrapper .cart-order-details .order-review {
	border-color: rgb(183, 224, 0);
}

.woocommerce-checkout-review-order-table .order-total th {
	font-weight: 500;
}

#place_order {
	margin-top: 10px;
	padding-top: 13px;
}

.etheme-elementor-cart-checkout-page-wrapper .form-row > label:not(.checkbox),
.etheme-elementor-cart-checkout-page-wrapper #order_comments_field label {
	text-transform: uppercase;
}

.etheme-elementor-cart-checkout-page-wrapper #order_comments_field label {
	padding: 0 0 10px;
}

.etheme-elementor-cart-checkout-page-wrapper .etheme-elementor-cart-checkout-page-column .woocommerce-shipping-fields,
.etheme-elementor-cart-checkout-page-wrapper .woocommerce-shipping-fields .step-title {
	padding-top: 20px;
}

.etheme-elementor-cart-checkout-page-coupon .woocommerce-form-coupon-toggle .woocommerce-info {
	display: none;
}

.read-more-wrapper a span {
	color: #10171d;
}

/* Product prices need sufficient contrast on white catalog cards. */
.woocommerce .price,
.content-product .price,
.etheme-product-grid-item .price,
.product_list_widget .price {
	color: #10171d !important;
}

.woocommerce .price del,
.woocommerce .price del .amount,
.content-product .price del,
.content-product .price del .amount,
.etheme-product-grid-item .price del,
.etheme-product-grid-item .price del .amount,
.product_list_widget .price del,
.product_list_widget .price del .amount {
	color: #707980 !important;
}

.woocommerce .price ins,
.woocommerce .price ins .amount,
.content-product .price ins,
.content-product .price ins .amount,
.etheme-product-grid-item .price ins,
.etheme-product-grid-item .price ins .amount,
.product_list_widget .price ins,
.product_list_widget .price ins .amount {
	color: #536600 !important;
}

/* The checkout form is a single page; hide XStore's separate process steps. */
body.woocommerce-checkout:not(.woocommerce-order-received) .cart-checkout-nav,
body.woocommerce-checkout:not(.woocommerce-order-received) .cart-checkout-nav-simple {
	display: none !important;
}

/* Simple informational and dynamic catalog pages. */
.pt-simple-page {
	margin: 0 auto;
	max-width: 1200px;
	padding: clamp(36px, 5vw, 72px) 15px clamp(56px, 7vw, 96px);
}

.pt-simple-page.pt-page-narrow,
.pt-simple-page .pt-page-narrow {
	max-width: 900px;
}

.pt-page-hero {
	background: #11181e;
	color: #fff;
	margin-bottom: clamp(28px, 4vw, 48px);
	padding: clamp(30px, 5vw, 58px);
}

.pt-page-hero .pt-page-kicker {
	color: #b7e000;
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.pt-page-hero h1 {
	color: #fff;
	font-size: clamp(30px, 5vw, 50px);
	line-height: 1.08;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.pt-page-hero p {
	color: rgba(255, 255, 255, .78);
	font-size: clamp(16px, 2vw, 19px);
	line-height: 1.65;
	margin: 0;
	max-width: 720px;
}

.pt-page-section + .pt-page-section {
	border-top: 1px solid #e3e6e8;
	margin-top: 36px;
	padding-top: 36px;
}

.pt-page-section h2 {
	font-size: clamp(22px, 3vw, 30px);
	margin-bottom: 18px;
}

.pt-page-section p,
.pt-page-section li {
	font-size: 16px;
	line-height: 1.75;
}

.pt-info-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pt-info-grid:has(.pt-info-card:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pt-info-card,
.pt-notice {
	background: #f4f6f7;
	border: 1px solid #e3e6e8;
	padding: 24px;
}

.pt-info-card h2,
.pt-info-card h3 {
	font-size: 18px;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.pt-info-card p:last-child,
.pt-notice p:last-child {
	margin-bottom: 0;
}

.pt-page-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 28px;
}

.pt-page-button {
	background: #b7e000;
	color: #11181e !important;
	display: inline-block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .03em;
	padding: 14px 22px;
	text-transform: uppercase;
}

.pt-page-button:hover {
	background: #a6cc00;
}

.pt-page-link {
	font-weight: 700;
	text-decoration: underline;
}

.pt-empty-state {
	background: #f4f6f7;
	padding: clamp(28px, 5vw, 48px);
	text-align: center;
}

.pt-empty-state p {
	margin-left: auto;
	margin-right: auto;
	max-width: 620px;
}

.pt-legal-copy h2 {
	font-size: 21px;
	margin: 32px 0 10px;
}

.pt-step-list {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 28px;
}

.pt-step-list > div {
	border-top: 3px solid #b7e000;
	padding-top: 18px;
}

.pt-step-list > div > span {
	align-items: center;
	background: #11181e;
	color: #fff;
	display: inline-flex;
	font-weight: 800;
	height: 32px;
	justify-content: center;
	margin-bottom: 14px;
	width: 32px;
}

.pt-step-list h2,
.pt-step-list h3 {
	font-size: 18px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.pt-faq details {
	border-bottom: 1px solid #dce0e2;
	padding: 0;
}

.pt-faq summary {
	cursor: pointer;
	font-size: 17px;
	font-weight: 800;
	list-style: none;
	padding: 20px 42px 20px 0;
	position: relative;
}

.pt-faq summary::-webkit-details-marker {
	display: none;
}

.pt-faq summary::after {
	content: "+";
	font-size: 24px;
	position: absolute;
	right: 8px;
	top: 15px;
}

.pt-faq details[open] summary::after {
	content: "−";
}

.pt-faq details p {
	margin: 0;
	padding: 0 42px 20px 0;
}

.pt-brands-directory .brands-list.container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.pt-dynamic-products .products {
	margin-top: 0;
}

.pt-simple-page .wpcf7 input:not([type="checkbox"]):not([type="submit"]),
.pt-simple-page .wpcf7 select,
.pt-simple-page .wpcf7 textarea {
	width: 100%;
}

.pt-simple-page .wpcf7 input[type="submit"] {
	background: #b7e000;
	color: #11181e;
	font-weight: 800;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.pt-simple-page {
		padding-left: 12px;
		padding-right: 12px;
	}

	.pt-page-hero {
		margin-left: -12px;
		margin-right: -12px;
	}

	.pt-info-grid,
	.pt-info-grid:has(.pt-info-card:nth-child(2):last-child),
	.pt-step-list {
		grid-template-columns: 1fr;
	}
}

/* Shared responsive safeguards for the active Elementor/XStore templates. */
img,
video,
iframe {
	max-width: 100%;
}

/* Reserve space only where the fixed scroll-progress indicator is present. */
body.home,
body.woocommerce-shop {
	padding-bottom: 24px;
}

/* One scroll loader for every public page; legacy page widgets stay hidden. */
.elementor-widget-etheme_scroll_progress {
	display: none !important;
}

.pt-global-scroll-loader {
	background: #f7f7f7;
	bottom: 0;
	height: 24px;
	left: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	transition: opacity 0.2s linear, transform 0.2s linear, visibility 0.2s linear;
	z-index: 9999;
}

.pt-global-scroll-loader.is-hidden {
	opacity: 0;
	transform: translateY(100%);
	visibility: hidden;
}

.pt-global-scroll-loader__progress {
	background: #6f8800;
	height: 100%;
	position: relative;
	transition: width 0.2s linear;
	width: 0;
}

.pt-global-scroll-loader__progress::after {
	animation: pt-scroll-loader-stripes 1.5s linear infinite;
	background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-size: 30px 30px;
	content: '';
	inset: 0;
	pointer-events: none;
	position: absolute;
}

@keyframes pt-scroll-loader-stripes {
	to {
		background-position: 30px 30px;
	}
}

@media (max-width: 1250px) {
	/* Leave scrollable space below XStore's fixed five-item mobile panel. */
	body.home,
	body.woocommerce-shop {
		padding-bottom: 85px;
	}

	.pt-global-scroll-loader {
		bottom: 60px;
	}

	/* Header icon links are controls too; keep their full hit area touch-safe. */
	.etheme-elementor-off-canvas__toggle_button[aria-expanded],
	.etheme-search-form-submit {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
	}

	.elementor-element-7b4f3dad .etheme-search-form,
	.elementor-element-7b4f3dad .etheme-search-form-input,
	.elementor-element-7b4f3dad .etheme-search-input-placeholder,
	.elementor-element-7b4f3dad .etheme-search-form-submit {
		height: 44px !important;
		min-height: 44px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pt-global-scroll-loader,
	.pt-global-scroll-loader__progress {
		transition: none;
	}

	.pt-global-scroll-loader__progress::after {
		animation: none;
	}
}

@media (max-width: 600px) {
	/* Catalog actions remain comfortable to tap on narrow screens. */
	.woocommerce.archive .etheme-product-grid-button,
	.woocommerce.archive a.button,
	.pt-dynamic-products a.button {
		min-height: 44px;
	}

	/* Long legal copy and product data must wrap instead of widening the page. */
	.pt-simple-page,
	.woocommerce-page {
		overflow-wrap: anywhere;
	}
}

@media (max-width: 767px) {
	/* Keep the header actions and menu trigger together on the first row. */
	.elementor-element-239d4852 {
		display: none !important;
	}
}

/* Related products: touch devices must not retain the desktop hover actions. */
@media (max-width: 768px) {
	body.single-product .elementor-element-5de22f2f .footer-product,
	body.single-product .elementor-element-5de22f2f .hover-effect-slider .sm-arrow,
	body.single-product .elementor-element-5de22f2f .light-right-side {
		display: none !important;
	}
}

/* The Elementor related-products slider uses a different XStore card. Match
 * it to the compact catalog cards and keep it as a product preview only. */
body.single-product .elementor-element-5de22f2f .swiper-slide {
	display: flex;
	height: auto;
}

body.single-product .elementor-element-5de22f2f .swiper-slide > .product,
body.single-product .elementor-element-5de22f2f .content-product {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

body.single-product .elementor-element-5de22f2f .swiper-slide > .product {
	overflow: hidden;
	border: 1px solid #e3e6e8;
	border-radius: 5px;
	background: #fff;
}

body.single-product .elementor-element-5de22f2f .product-image-wrapper {
	padding: 18px;
}

body.single-product .elementor-element-5de22f2f .product-image-wrapper img {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: contain;
}

body.single-product .elementor-element-5de22f2f .product-details {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 0 18px 18px;
}

body.single-product .elementor-element-5de22f2f .products-page-cats {
	min-height: 25px;
}

body.single-product .elementor-element-5de22f2f .product-title {
	min-height: 46px;
}

body.single-product .elementor-element-5de22f2f .price {
	min-height: 38px;
}

body.single-product .elementor-element-5de22f2f .add_to_cart_button,
body.single-product .elementor-element-5de22f2f .xstore-compare {
	display: none !important;
}

@media (max-width: 600px) {
	body.single-product .elementor-element-5de22f2f .product-image-wrapper img {
		height: 160px;
	}
}

/* Give the active one-page checkout comfortable space below the header. */
body.page-id-23.woocommerce-checkout .elementor-element-3a120230 {
	padding-top: 48px;
}

@media (max-width: 1024px) {
	body.page-id-23.woocommerce-checkout .elementor-element-3a120230 {
		padding-top: 32px;
	}
}

/* The dynamic archive heading belongs only to WooCommerce category archives. */
body:not(.tax-product_cat) .elementor-element-ptcatb01 {
	display: none;
}

/* Show each complete category banner without cropping on any viewport. */
body.tax-product_cat .elementor-33439 .elementor-element.elementor-element-ptcatb01:not(.elementor-motion-effects-element-type-background),
body.tax-product_cat .elementor-33439 .elementor-element.elementor-element-ptcatb01 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-position: right center !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
}

body.tax-product_cat .elementor-33439 .elementor-element.elementor-element-ptcatb01 {
	max-width: none !important;
	width: 100% !important;
}

/* Supporting content for the dynamic category banners. */
.elementor-33439 .elementor-element-ptcatt01 .elementor-heading-title {
	margin-bottom: 12px;
}

.pt-archive-banner-content {
	max-width: 660px;
	color: #fff;
}

.pt-archive-banner-description {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.5;
}

.pt-archive-banner-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pt-archive-banner-links a {
	padding: 7px 11px;
	border: 1px solid rgba(255, 255, 255, .48);
	border-radius: 2px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.pt-archive-banner-links a:hover,
.pt-archive-banner-links a:focus-visible {
	border-color: #c3e600;
	background: #c3e600;
	color: #111;
}

.pt-archive-banner-meta {
	margin: 15px 0 0;
	color: rgba(255, 255, 255, .74);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	.elementor-33439 .elementor-element-ptcatt01 .elementor-heading-title {
		margin-bottom: 7px;
	}

	.pt-archive-banner-description {
		margin-bottom: 10px;
		font-size: 13px;
		line-height: 1.35;
	}

	.pt-archive-banner-links {
		gap: 6px;
	}

	.pt-archive-banner-links a {
		padding: 5px 8px;
		font-size: 10px;
	}

	.pt-archive-banner-links a:nth-child(n + 3) {
		display: none;
	}

	.pt-archive-banner-meta {
		margin-top: 9px;
		font-size: 10px;
	}
}

/* Product archive: consistent filter headings and edge-to-edge trust strip. */
.woocommerce.archive .elementor-widget-etheme_sidebar .widget-title,
.woocommerce.archive .shop-sidebar .widget-title,
.woocommerce.archive #shop-sidebar .widget-title,
.woocommerce.archive .elementor-widget-etheme_sidebar .widget-title span,
.woocommerce.archive .shop-sidebar .widget-title span,
.woocommerce.archive #shop-sidebar .widget-title span {
	text-transform: uppercase !important;
}

body.woocommerce.archive .pt-el-footer-trust .elementor-container,
body.woocommerce.archive .pt-el-footer-trust .elementor-column,
body.woocommerce.archive .pt-el-footer-trust .elementor-column-wrap,
body.woocommerce.archive .pt-el-footer-trust .elementor-widget-wrap,
body.woocommerce.archive .pt-el-footer-trust .elementor-widget-container,
body.single-product .pt-el-footer-trust .elementor-container,
body.single-product .pt-el-footer-trust .elementor-column,
body.single-product .pt-el-footer-trust .elementor-column-wrap,
body.single-product .pt-el-footer-trust .elementor-widget-wrap,
body.single-product .pt-el-footer-trust .elementor-widget-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

body.woocommerce.archive .pt-el-footer-trust .pt-footer-trust,
body.woocommerce.archive .pt-el-footer-trust .pt-footer-trust-inner,
body.single-product .pt-el-footer-trust .pt-footer-trust,
body.single-product .pt-el-footer-trust .pt-footer-trust-inner {
	max-width: none !important;
	width: 100% !important;
}

body.woocommerce.archive .pt-el-footer-trust .pt-footer-trust-inner,
body.single-product .pt-el-footer-trust .pt-footer-trust-inner {
	padding-left: 32px;
	padding-right: 32px;
}

/* Single-product accordion headings and purchase actions stay uppercase. */
.single-product .elementor-element-33ddebe0 .et-woocommerce-tab,
.single-product .elementor-element-33ddebe0 .et-woocommerce-tab > a,
.single-product .woocommerce-tabs.type-accordion .et-woocommerce-tab,
.single-product .woocommerce-tabs.type-accordion .et-woocommerce-tab > a,
.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button span,
.single-product .et-single-buy-now,
.single-product .et-single-buy-now span {
	text-transform: uppercase !important;
}

@media (max-width: 600px) {
	body.woocommerce.archive .pt-el-footer-trust .pt-footer-trust-inner,
	body.single-product .pt-el-footer-trust .pt-footer-trust-inner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* Prime Tools XStore fixed mobile panel and its category drawer. */
@media (max-width: 1250px) {
	.et-mobile-panel-wrapper {
		background: #141b21 !important;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		box-shadow: 0 -8px 24px rgba(11, 17, 22, 0.18);
		color: #fff !important;
	}

	.et-mobile-panel-wrapper .et-mobile-panel .et-wrap-columns {
		max-width: none;
	}

	.et-mobile-panel-wrapper .et-mobile-panel .et_column {
		background: transparent !important;
		flex: 1 1 20%;
		min-width: 0;
	}

	.et-mobile-panel-wrapper .et-mobile-panel .et_column > a {
		color: #fff;
		font-family: Inter, Arial, sans-serif;
		font-size: 10px;
		font-weight: 600;
		gap: 3px;
		justify-content: center;
		min-height: 60px;
		padding: 7px 2px 6px;
	}

	.et-mobile-panel-wrapper .et-mobile-panel .et_column > a .et_b-icon {
		font-size: 21px;
		line-height: 1;
	}

	.et-mobile-panel-wrapper .et-mobile-panel .et_column.active,
	.et-mobile-panel-wrapper .et-mobile-panel .et_column.et-content-shown {
		background: #10171d !important;
	}

	.et-mobile-panel-wrapper .et-mobile-panel .et_column.active > a,
	.et-mobile-panel-wrapper .et-mobile-panel .et_column.et-content-shown > a {
		color: #b7e000;
	}

	.et-mobile-panel-wrapper .et-quantity,
	.et-mobile-panel-wrapper .et_b-icon .et-quantity {
		align-items: center;
		background: #b7e000 !important;
		color: #10171d !important;
		display: flex;
		font-size: 9px;
		font-weight: 700;
		justify-content: center;
		min-height: 16px;
		min-width: 16px;
	}

	.et_b_mobile-panel-more_toggle .et-mini-content {
		background: #f7f8f8 !important;
		border-radius: 0;
		box-shadow: 0 -12px 32px rgba(11, 17, 22, 0.2);
		color: #10171d !important;
		height: calc(100vh - 61px);
		max-height: none;
		overflow: hidden;
		padding: 18px 20px 24px;
	}

	.et_b_mobile-panel-more_toggle .et-mini-content-head {
		border-bottom: 1px solid #e3e6e8;
		color: #10171d;
		font-size: 15px;
		font-weight: 700;
		justify-content: flex-start;
		margin-bottom: 6px;
		min-height: 46px;
	}

	.et_b_mobile-panel-more_toggle .et-mini-content .menu {
		list-style: none;
		margin: 0;
		padding: 0;
		text-align: left;
		width: 100%;
	}

	.et_b_mobile-panel-more_toggle .et-mini-content .menu-main-container li {
		justify-content: flex-start !important;
		text-align: left;
	}

	.et_b_mobile-panel-more_toggle .et-mini-content .menu > li > a {
		align-items: center;
		border-bottom: 1px solid #e3e6e8;
		color: #10171d;
		display: flex;
		font-size: 13px;
		font-weight: 600;
		gap: 12px;
		min-height: 46px;
		padding: 8px 2px;
		text-align: left;
		width: 100%;
	}

	.et_b_mobile-panel-more_toggle .et-mini-content .menu > li > a:hover {
		color: #6f8800;
	}

	.et_b_mobile-panel-more_toggle .pt-category-menu-icon {
		align-items: center;
		color: #141b21;
		display: inline-flex;
		flex: 0 0 22px;
		justify-content: center;
		width: 22px;
	}

	.et_b_mobile-panel-more_toggle .pt-category-menu-icon svg {
		fill: currentColor;
		height: 18px;
		width: 18px;
	}
}

/* Native Elementor footer: all content remains editable in template 33700. */
.pt-el-footer-main,
.pt-el-footer-bottom,
.pt-el-footer-trust {
	box-sizing: border-box;
	width: 100%;
}

.pt-el-footer-main .elementor-container,
.pt-el-footer-bottom .elementor-container {
	margin-inline: auto;
	max-width: 1440px;
}

.pt-el-footer-main .elementor-column-wrap,
.pt-el-footer-main .elementor-widget-wrap,
.pt-el-footer-bottom .elementor-column-wrap,
.pt-el-footer-bottom .elementor-widget-wrap {
	padding: 0;
}

.pt-el-footer-main .elementor-widget-heading .elementor-heading-title {
	line-height: 1.35;
}

.pt-el-footer-main .elementor-widget-text-editor p,
.pt-el-footer-bottom .elementor-widget-text-editor p {
	margin: 0;
}

.pt-el-footer-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pt-el-footer-list li {
	margin: 0 0 8px;
	padding: 0;
}

.pt-el-footer-main a,
.pt-el-footer-bottom a {
	color: #c7cdd1;
	text-decoration: none;
}

.pt-el-footer-main a:hover,
.pt-el-footer-main a:focus-visible,
.pt-el-footer-bottom a:hover,
.pt-el-footer-bottom a:focus-visible {
	color: #b7e000;
}

.pt-el-footer-social .elementor-social-icon {
	align-items: center !important;
	border: 1px solid #4a535a;
	display: inline-flex !important;
	height: 44px;
	justify-content: center !important;
	line-height: 1;
	width: 44px;
}

.pt-el-footer-social .elementor-social-icon i,
.pt-el-footer-social .elementor-social-icon svg {
	display: block;
	height: 16px;
	margin: auto;
	width: 16px;
}

.pt-el-footer-newsletter {
	background: #10171d;
	border: 1px solid #354048;
	border-radius: 4px;
	padding: 20px !important;
}

.pt-el-footer-form .elementor-field,
.pt-el-footer-form .elementor-button {
	min-height: 44px;
}

.pt-el-newsletter-form {
	display: grid;
	gap: 9px;
}

.pt-el-newsletter-form input[type="email"] {
	background: #141b21;
	border: 1px solid #465159;
	border-radius: 3px;
	color: #fff;
	height: 44px;
	padding: 0 13px;
	width: 100%;
}

.pt-el-newsletter-form button {
	background: #b7e000;
	border: 0;
	border-radius: 3px;
	color: #10171d;
	cursor: pointer;
	font-family: Inter, sans-serif;
	font-weight: 800;
	height: 44px;
	text-transform: uppercase;
}

.pt-el-newsletter-form button:hover,
.pt-el-newsletter-form button:focus-visible {
	background: #a3ca00;
}

.pt-el-newsletter-form .pt-honeypot {
	left: -9999px !important;
	position: absolute !important;
}

.pt-el-footer-note {
	margin-top: 8px;
}

.pt-el-footer-payment-widget .elementor-widget-container {
	display: flex;
	justify-content: flex-end;
}

.pt-el-payments {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.pt-el-payments span {
	align-items: center;
	background: #fff;
	border-radius: 3px;
	color: #16202a;
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	justify-content: center;
	min-height: 30px;
	padding: 0 9px;
}

@media (max-width: 1024px) {
	.pt-el-footer-main .elementor-container {
		flex-wrap: wrap;
	}

	.pt-el-footer-newsletter {
		margin-top: 24px;
	}
}

@media (max-width: 767px) {
	.pt-el-footer-brand {
		padding-bottom: 24px !important;
	}

	.pt-el-footer-links {
		border-top: 1px solid #273139;
		padding-block: 18px 10px !important;
	}

	.pt-el-footer-newsletter {
		margin-top: 18px;
	}

	.pt-el-footer-bottom .elementor-container {
		flex-wrap: wrap;
	}

	.pt-el-footer-bottom-right {
		margin-top: 16px;
	}

	.pt-el-footer-payment-widget .elementor-widget-container,
	.pt-el-payments {
		justify-content: flex-start;
	}

	.pt-el-payments {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}
}

/* XStore mobile navigation in Elementor header 33611. */
@media (max-width: 1250px) {
	.elementor-element-8b1ae96 .etheme-elementor-off-canvas__main {
		box-shadow: 18px 0 45px rgba(11, 17, 22, 0.22);
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-logo {
		background: #141b21;
		padding: 18px 20px;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-logo img {
		max-height: 66px;
		object-fit: contain;
	}

	/* XStore places this control outside the drawer; keep it visible on touch screens. */
	.elementor-element-8b1ae96 .etheme-elementor-off-canvas__close-button.outside {
		align-items: center;
		background: rgba(255, 255, 255, 0.1);
		border-radius: 50%;
		color: #fff;
		cursor: pointer;
		display: flex;
		height: 44px;
		justify-content: center;
		left: auto !important;
		pointer-events: auto;
		position: absolute !important;
		right: 30px !important;
		top: 10px !important;
		transform: none !important;
		width: 44px;
		z-index: 20;
	}

	.elementor-element-8b1ae96 .et_b-tabs {
		border-bottom: 1px solid #e3e6e8;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor-element-8b1ae96 .et_b-tabs .et-tab {
		align-items: center;
		color: #707980;
		display: flex;
		font-size: 13px;
		font-weight: 700;
		justify-content: center;
		min-height: 48px;
		text-transform: uppercase;
	}

	.elementor-element-8b1ae96 .et_b-tabs .et-tab.active {
		border-bottom: 3px solid #b7e000;
		color: #10171d;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu .menu,
	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu li > a {
		align-items: center;
		border-bottom: 1px solid #e3e6e8;
		color: #10171d;
		display: flex;
		font-size: 14px;
		font-weight: 600;
		gap: 12px;
		min-height: 48px;
		padding: 9px 4px;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu li > a:hover,
	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu li.current-menu-item > a {
		color: #6f8800;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu .pt-category-menu-icon {
		align-items: center;
		color: #141b21;
		display: inline-flex;
		flex: 0 0 22px;
		justify-content: center;
		width: 22px;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wp_menu .pt-category-menu-icon svg {
		fill: currentColor;
		height: 18px;
		width: 18px;
	}

	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-account,
	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-cart,
	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-wishlist,
	.elementor-element-8b1ae96 .etheme-elementor-mobile-menu-compare {
		border-bottom: 1px solid #e3e6e8;
		min-height: 48px;
	}
}

/* Full-width informational pages with archive-style product cards. */
.pt-simple-page {
	box-sizing: border-box;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	position: relative;
	width: 100vw;
}

.pt-simple-page.pt-page-narrow,
.pt-simple-page .pt-page-narrow {
	max-width: none;
}

.pt-simple-page > .pt-page-hero {
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	padding-left: max(24px, calc((100vw - 1440px) / 2 + 30px));
	padding-right: max(24px, calc((100vw - 1440px) / 2 + 30px));
	width: 100%;
}

.pt-simple-page > .pt-page-section {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
	width: calc(100% - 30px);
}

.pt-simple-page.pt-page-narrow > .pt-page-section {
	max-width: 900px;
}

.pt-dynamic-products .products-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	width: 100%;
}

.pt-dynamic-products .products-grid::before,
.pt-dynamic-products .products-grid::after {
	display: none;
}

.pt-dynamic-products .woocommerce-ordering {
	float: none;
	margin-bottom: 24px;
}

.pt-dynamic-products .onsale {
	border: 0;
}

/* Match the single-product sale badge to the badges used in product listings. */
body.single-product .woocommerce-product-gallery .sale-wrapper .onsale.single-sale {
	background: var(--et_on-sale-bg-color, var(--et_red-color, #c62828)) !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
}

.pt-dynamic-products .products-grid > .product {
	float: none;
	margin: 0;
	max-width: none;
	padding: 0;
	width: auto;
}

.pt-dynamic-products .products-grid .content-product {
	border: 1px solid #e1e1e1;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: -1px 0 0 -1px;
	padding: 18px;
}

.pt-dynamic-products .products-grid .product-image-wrapper {
	align-items: center;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	overflow: hidden;
	width: 100%;
}

.pt-dynamic-products .products-grid .product-content-image,
.pt-dynamic-products .products-grid .image-swap {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.pt-dynamic-products .products-grid .product-content-image img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.pt-dynamic-products .products-grid .product-details {
	display: flex;
	flex: 1;
	flex-direction: column;
	text-align: left !important;
}

.pt-dynamic-products .products-grid .products-page-cats {
	color: #888;
	font-size: 13px;
}

.pt-dynamic-products .products-grid .product-title {
	font-size: 16px;
	font-weight: 500;
}

.pt-dynamic-products .products-grid .price {
	color: #555;
	font-size: 15px;
	margin-top: auto;
	padding-top: 12px;
}

@media (max-width: 1024px) {
	.pt-dynamic-products .products-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pt-simple-page {
		padding-left: 0;
		padding-right: 0;
	}

	.pt-simple-page > .pt-page-hero {
		padding-left: 18px;
		padding-right: 18px;
	}

	.pt-simple-page > .pt-page-section {
		width: calc(100% - 24px);
	}

	.pt-dynamic-products .products-grid {
		grid-template-columns: 1fr;
	}

	.pt-dynamic-products .products-grid .content-product {
		padding: 14px;
	}

	.pt-dynamic-products .products-grid .footer-product,
	.pt-dynamic-products .products-grid .hover-effect-slider .sm-arrow {
		display: none !important;
	}
}

/* === CART PAGE polish (2026-09-07) === */
/* Product title in the cart table must not be heavy bold. */
.woocommerce-cart table.cart .product-name .product-title,
.woocommerce-cart table.cart td.product-name a.product-title {
	font-weight: 400;
	text-transform: none;
}

/* Cart action buttons: consistent uppercase CTA styling. */
.woocommerce-cart .checkout-button.button,
.woocommerce-cart .return-shop.button {
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 700;
}

/* "Nastavi kupovinu" was an unstyled ghost link; give it the site's lime
 * secondary-CTA look and align it with the checkout button height. */
.woocommerce-cart .return-shop.button,
.woocommerce-cart .return-shop.button.btn.bordered {
	background-color: #b7e000;
	border: 1px solid #b7e000;
	color: #11181e !important;
	-webkit-text-fill-color: #11181e;
	font-size: 1rem;
	height: auto;
	padding: .95rem 1.5rem;
	text-align: center;
	width: 100%;
}

.woocommerce-cart .return-shop.button:hover,
.woocommerce-cart .return-shop.button:focus {
	background-color: #a6cc00;
	border-color: #a6cc00;
	color: #11181e !important;
	-webkit-text-fill-color: #11181e;
}

/* === SHOP WCAG AA contrast and keyboard focus (2026-09-20) === */
/* Keep the store palette, but never place white text on the light lime/gray
 * button states generated by XStore. */
body {
	--et_btn-color-hover: #10171d;
	--et_btn-bordered-color-hover: #10171d;
}

.btn.bordered:hover,
.btn.bordered:focus,
.woocommerce-cart .clear-cart:hover,
.woocommerce-cart .clear-cart:focus {
	color: #10171d !important;
	-webkit-text-fill-color: #10171d;
}

/* Muted commerce text still needs 4.5:1 against white/light surfaces. */
.etheme-product-grid-categories a,
.products-page-cats a,
.woocommerce-cart-form .amount,
.cart_totals .amount,
.woocommerce-checkout-review-order-table .amount,
#shipping_method label,
.woocommerce-cart #shipping_method label {
	color: #595f63 !important;
}

.woocommerce div.product .woocommerce-tabs .wc-tabs .et-woocommerce-tab:not(.active) a,
.woocommerce div.product .price del,
.woocommerce div.product .price del .amount {
	color: #596168 !important;
}

.cart-checkout-nav a:not(.active),
.etheme-cart-checkout-steps a:not(.active) {
	color: #555d63 !important;
}

.elementor-widget-woocommerce-archive-etheme_sidebar .count,
.elementor-widget-woocommerce-archive-etheme_sidebar li .count,
.pt-cat-row .count {
	color: #595f63 !important;
	opacity: 1 !important;
}

.etheme_sidebar-widget-list-expand > span,
.etheme-sidebar-widget-list-expand > span {
	color: #10171d !important;
}

.single-product .elementor-element-4f0d8e3c .elementor-button,
.single-product .elementor-element-4f0d8e3c .button-text {
	color: #526500 !important;
	fill: #526500 !important;
}

/* Category labels are links, so give them a WCAG 2.2 minimum target height. */
.etheme-product-grid-categories a,
.products-page-cats a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

/* Text links inside legal copy must not rely on color alone. */
.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-wrapper a {
	text-decoration: underline;
	text-decoration-thickness: .1em;
	text-underline-offset: .15em;
}

/* Two-colour focus ring remains visible on both white and dark surfaces. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px #10171d !important;
}
