/**
 * Discounters — cosmetic polish layer (2026-11).
 * Loads last. Unifies buttons, cards, forms, catalog tiles; fixes mobile layout.
 * Tokens come from disc-design-system.css (--disc-*).
 */

:root {
	--disc-pill: 100px;
	--disc-yellow: #F1D86A;
	--disc-shadow-soft: 0 6px 20px 6px rgba(22, 22, 22, 0.06), 0 4px 20px rgba(22, 22, 22, 0.05);
}

/* ========== Buttons: one pill shape everywhere ========== */
.elementor .elementor-button,
.elementor-widget-button .elementor-button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce a.button,
.woocommerce button.button,
.wpcf7-submit,
.disc-header-cta .elementor-button {
	border-radius: var(--disc-pill) !important;
}

.wpcf7-submit {
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.wpcf7-submit:hover {
	transform: translateY(-1px);
}

/* ========== Hero overlines on navy heroes: one accent (logo yellow) ========== */
.e-con.e-parent:has(h1) .elementor-widget-heading:has(+ .elementor-widget-heading h1) .elementor-heading-title {
	color: var(--disc-yellow) !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 13px;
}

/* ========== Catalog: product cards ========== */
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product {
	border-color: rgba(22, 22, 22, 0.07);
	border-radius: 20px;
}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--disc-shadow-soft);
}

.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
	background: #f6f6f6;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-weight: 500;
	text-align: center;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
	min-height: 42px;
	width: calc(100% - 32px);
	margin: auto 16px 16px !important;
	font-size: 14px;
}

/* Sorting + result count bar */
.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-ordering select.orderby {
	background-color: #fff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath fill='%23151936' d='M6.7 9.3l5.3 5.3 5.3-5.3 1.4 1.4-6.7 6.7-6.7-6.7z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	border: 1px solid var(--disc-border) !important;
	border-radius: 12px !important;
	color: var(--disc-navy) !important;
	font-size: 15px;
	padding: 0 40px 0 14px !important;
	min-height: 46px;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none !important;
}

/* Sorting rendered by select2 (theme script) */
.woocommerce-ordering .select2-container {
	width: 100% !important;
}

.woocommerce-ordering .select2-container .select2-selection--single {
	height: 46px !important;
	border: 1px solid var(--disc-border) !important;
	border-radius: 12px !important;
	background: #fff !important;
	display: flex !important;
	align-items: center;
}

.woocommerce-ordering .select2-container .select2-selection__rendered {
	padding: 0 40px 0 14px !important;
	line-height: 44px !important;
	color: var(--disc-navy) !important;
	font-size: 15px;
	background: transparent !important;
}

.woocommerce-ordering .select2-container .select2-selection__arrow {
	height: 44px !important;
	right: 10px !important;
	background: transparent !important;
}

/* Category tiles ([product_categories] on /katalog-tovarov/, /catalog/) */
.woocommerce ul.products li.product-category {
	background: #fff !important;
	border: 1px solid rgba(22, 22, 22, 0.07);
	border-radius: 20px;
	overflow: hidden;
	padding: 0 !important;
}

.woocommerce ul.products li.product-category a {
	display: flex !important;
	flex-direction: column;
	height: 100%;
}

.woocommerce ul.products li.product-category img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	transition: transform 0.4s var(--disc-ease);
}

.woocommerce ul.products li.product-category:hover img {
	transform: scale(1.03);
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 !important;
	padding: 16px 18px !important;
	background: #fff !important;
	font-size: 17px !important;
	font-weight: 500;
	line-height: 1.25;
	color: var(--disc-navy);
	position: relative;
	z-index: 1;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title::before,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title::after {
	display: none !important;
}

.woocommerce ul.products li.product-category .count {
	flex: 0 0 auto;
	padding: 3px 10px;
	border-radius: var(--disc-pill);
	background: #f6f6f6 !important;
	color: var(--disc-muted) !important;
	font-size: 13px;
	font-weight: 500;
}

/* ========== Single product: CTA in summary ========== */
.disc-product-cta {
	margin: 20px 0 8px;
	padding: 20px;
	border-radius: 20px;
	background: #F5F3EE;
}

.disc-product-cta__title {
	margin: 0 0 6px;
	font-size: 19px;
	font-weight: 600;
	color: var(--disc-navy);
}

.disc-product-cta__text {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--disc-muted);
}

.disc-product-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.disc-product-cta__btn {
	flex: 1 1 200px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 22px;
	border-radius: var(--disc-pill);
	border: 1.5px solid var(--disc-navy);
	color: var(--disc-navy) !important;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.disc-product-cta__btn:hover {
	background: var(--disc-navy);
	color: #fff !important;
}

.disc-product-cta__btn--primary {
	background: var(--disc-red);
	border-color: var(--disc-red);
	color: #fff !important;
}

.disc-product-cta__btn--primary:hover {
	background: var(--disc-red-hover);
	border-color: var(--disc-red-hover);
}

.disc-product-cta__messengers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-top: 14px;
	font-size: 14px;
	color: var(--disc-muted);
}

.disc-product-cta__messengers a {
	color: var(--disc-navy) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ========== Forms ========== */
.disc-form-consent {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--disc-muted);
}

.wpcf7-form > .disc-form-consent {
	text-align: center;
	padding: 0 16px;
}

.disc-form-consent a {
	color: inherit !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Schedule form: choice groups had a grey slab behind the option pills */
.wpcf7 .wpcf7-form-control-wrap .wpcf7-checkbox,
.wpcf7 .wpcf7-form-control-wrap .wpcf7-radio {
	background: transparent !important;
	padding: 0 !important;
}

/* ========== Page intro (schedule page) ========== */
.disc-page-intro {
	width: var(--disc-container);
	max-width: 960px;
	margin: 0 auto;
	padding: clamp(28px, 4vw, 56px) 0 clamp(8px, 2vw, 20px);
	text-align: center;
}

.disc-page-intro__title {
	margin: 0 0 12px;
	font-size: var(--disc-h1);
	color: var(--disc-navy);
}

.disc-page-intro__title::after {
	margin-left: auto !important;
	margin-right: auto !important;
}

.disc-page-intro__text {
	margin: 0 auto;
	max-width: 620px;
	color: var(--disc-muted);
}

/* Mobile footer contacts (copied from desktop column) */
.disc-footer-mobile-contacts {
	margin-top: 8px;
}

/* ========== 404 ========== */
body.error404 {
	background: #fff !important;
}

.disc-404__title::after {
	margin-left: auto !important;
	margin-right: auto !important;
}

.disc-404 .disc-search-form {
	display: flex;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--disc-border);
	border-radius: var(--disc-pill);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--disc-shadow-soft);
}

.disc-404 .disc-search-label {
	display: none;
}

.disc-404 .disc-search-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 52px;
	padding: 0 20px;
	border: 0 !important;
	background: transparent;
	box-shadow: none !important;
	outline: none;
}

.disc-404 .disc-search-form button {
	flex: 0 0 52px;
	height: 52px;
	border: 0;
	border-radius: var(--disc-pill);
	background: var(--disc-red);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.disc-404 .disc-search-form button svg {
	fill: currentColor;
}

/* Product tabs: active pill had grey text on navy */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover {
	color: #fff !important;
}
.disc-404 {
	width: min(100% - 32px, 760px);
	margin: 0 auto;
	padding: clamp(48px, 8vw, 110px) 0;
	text-align: center;
}

.disc-404__code {
	margin: 0;
	font-size: clamp(72px, 14vw, 140px);
	font-weight: 300;
	line-height: 1;
	color: var(--disc-red);
	letter-spacing: -0.04em;
}

.disc-404__title {
	margin: 10px 0 12px;
	font-size: clamp(26px, 3vw, 40px);
	color: var(--disc-navy);
}

.disc-404__text {
	margin: 0 auto 28px;
	max-width: 560px;
	color: var(--disc-muted);
}

.disc-404__search {
	max-width: 520px;
	margin: 0 auto 24px;
}

.disc-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.disc-404__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 24px;
	border-radius: var(--disc-pill);
	border: 1.5px solid var(--disc-border);
	color: var(--disc-navy) !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.disc-404__btn:hover {
	border-color: var(--disc-navy);
}

.disc-404__btn--primary {
	background: var(--disc-red);
	border-color: var(--disc-red);
	color: #fff !important;
}

.disc-404__btn--primary:hover {
	background: var(--disc-red-hover);
	border-color: var(--disc-red-hover);
}

/* ========== Mobile shop filters (moved above loop by disc-ui.js) ========== */
.disc-mobile-filters {
	display: none;
}

@media (max-width: 1024px) {
	.disc-mobile-filters {
		display: block;
		margin: 0 0 16px;
	}

	.disc-mobile-filters__toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		width: 100%;
		min-height: 50px;
		padding: 0 20px;
		border: 1.5px solid var(--disc-navy) !important;
		border-radius: var(--disc-pill) !important;
		background: #fff !important;
		color: var(--disc-navy) !important;
		font: inherit;
		box-shadow: none !important;
		text-transform: none !important;
		font-weight: 600;
		font-size: 15px;
		cursor: pointer;
	}

	.disc-mobile-filters__toggle[aria-expanded="true"] {
		background: var(--disc-navy) !important;
		color: #fff !important;
	}

	.disc-mobile-filters__panel {
		margin-top: 12px;
	}

	.disc-mobile-filters__panel .sidebar-area {
		display: flex !important;
		width: 100% !important;
		margin: 0 !important;
	}
}

/* ========== Footer ========== */
.elementor-location-footer ul,
.elementor-location-footer ul li {
	list-style: none !important;
}

.elementor-location-footer ul li::before,
.elementor-location-footer ul li::marker {
	content: none !important;
	display: none !important;
}

/* Mobile footer accordion: dark glass panels instead of white boxes */
.disc-footer-mobile-accordion .elementor-accordion-item {
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	overflow: hidden;
	margin-bottom: 10px;
}

.disc-footer-mobile-accordion .elementor-tab-title {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	min-height: 52px;
	padding: 0 18px !important;
	background: transparent !important;
	border: 0 !important;
}

.disc-footer-mobile-accordion .elementor-tab-title,
.disc-footer-mobile-accordion .elementor-tab-title a,
.disc-footer-mobile-accordion .elementor-accordion-icon {
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 500;
	text-align: left !important;
}

.disc-footer-mobile-accordion .elementor-tab-title a {
	flex: 1 1 auto;
	padding: 14px 0;
}

.disc-footer-mobile-accordion .elementor-accordion-icon svg {
	fill: currentColor !important;
}

.disc-footer-mobile-accordion .elementor-tab-content {
	background: transparent !important;
	border: 0 !important;
	padding: 0 18px 14px !important;
}

.disc-footer-mobile-accordion .elementor-tab-content ul {
	margin: 0 !important;
	padding: 0 !important;
}

.disc-footer-mobile-accordion .elementor-tab-content li {
	margin: 0 !important;
	padding: 0 !important;
}

.disc-footer-mobile-accordion .elementor-tab-content a {
	display: block;
	padding: 9px 0;
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 15px;
	text-decoration: none;
}

/* ========== Readability: nothing under 12px ========== */
.home .disc-reviews__name,
.page-id-9439 .disc-reviews__name {
	font-size: 13px !important;
}

.home .disc-projects__cat,
.home .disc-projects__cta-label {
	font-size: 12px !important;
}

/* ========== Tablet & mobile ========== */
@media (max-width: 767px) {
	/* iOS zooms into inputs under 16px */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="date"],
	input[type="time"],
	input[type="number"],
	select,
	textarea {
		font-size: 16px !important;
	}

	/* Product grids: two columns like every store on mobile */
	.woocommerce ul.products:not(.disc-related-products ul):not([class*="product-category"]),
	.woocommerce-page ul.products:not(.disc-related-products ul),
	.home .disc-home-solutions ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.woocommerce ul.products li.product a img,
	.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
		height: 170px !important;
		padding: 10px !important;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px !important;
		line-height: 1.3;
		min-height: 2.6em;
		padding: 10px 10px 8px !important;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product a.button {
		width: calc(100% - 20px);
		min-height: 38px;
		margin: auto 10px 10px !important;
		padding: 0 10px !important;
		font-size: 13px !important;
	}

	.woocommerce ul.products li.product .button::after,
	.woocommerce ul.products li.product a.button::after,
	.woocommerce ul.products li.product .button i,
	.woocommerce ul.products li.product .button svg {
		display: none !important;
	}

	/* Category tiles: 2 columns, compact */
	.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
		padding: 12px !important;
		font-size: 15px !important;
	}

	/* Home: benefits 2 columns, icon on top */
	.home .disc-home-benefits-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.home .disc-home-benefits-grid > .elementor-element {
		padding: 16px 14px !important;
	}

	.home .disc-home-benefits .elementor-icon-box-wrapper {
		text-align: left !important;
	}

	.home .disc-home-benefits .elementor-icon-box-title {
		font-size: 15px !important;
		line-height: 1.25 !important;
		margin-bottom: 4px !important;
	}

	.home .disc-home-benefits .elementor-icon-box-description {
		font-size: 13px !important;
	}

	.home .disc-home-benefits .elementor-icon {
		font-size: 32px !important;
	}

	/* Home: category cards 2 columns */
	.home .disc-home-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.home .disc-home-category-card,
	.home .disc-home-category-card--large,
	.home .disc-home-category-card--tall,
	.home .disc-home-category-card--blue,
	.home .disc-home-category-card--dark {
		padding: 8px 8px 12px !important;
	}

	.home .disc-home-category-card .elementor-widget-image img {
		height: 130px !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
	}

	/* Round overlay button would cover half of a 130px photo — make it a small pill at the bottom */
	.home .disc-home-category-card {
		gap: 8px !important;
	}

	.home .disc-home-category-copy .disc-home-button-secondary {
		order: 9 !important;
		margin: auto 0 0 !important;
		width: 100% !important;
		align-self: stretch !important;
	}

	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button {
		width: 100% !important;
		height: auto !important;
		min-height: 36px !important;
		padding: 0 12px !important;
		border-radius: var(--disc-pill) !important;
		background: #fff !important;
		color: var(--disc-navy) !important;
		border: 1px solid var(--disc-border) !important;
		box-shadow: none !important;
		font-size: 13px !important;
		text-transform: none !important;
	}

	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button::before,
	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button::after,
	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button-text::before,
	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button-text::after {
		display: none !important;
		content: none !important;
	}

	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button-content-wrapper {
		flex-direction: row !important;
		gap: 0 !important;
	}

	.home .disc-home-category-copy .disc-home-button-secondary .elementor-button-text {
		display: inline !important;
		position: static !important;
		font-size: 13px !important;
		color: var(--disc-navy) !important;
		transform: none !important;
	}

	.home .disc-home-category-copy .elementor-widget-heading,
	.home .disc-home-category-copy .elementor-widget-text-editor {
		margin: 0 !important;
		padding: 0 4px !important;
	}

	.home .disc-home-category-copy .elementor-heading-title {
		font-size: 16px !important;
		line-height: 1.2 !important;
	}

	.home .disc-home-category-copy .elementor-heading-title::after {
		margin-top: 8px !important;
	}

	.home .disc-home-category-copy .elementor-widget-text-editor,
	.home .disc-home-category-copy .elementor-widget-text-editor p {
		font-size: 12px !important;
		line-height: 1.35 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	/* Related products heading aligned with content */
	.woocommerce .related > h2,
	.disc-related-products > h2 {
		padding-left: 16px;
		font-size: 22px;
	}

	.disc-product-cta__btn {
		flex-basis: 100%;
	}
}

/* Elementor accordion/tabs default borders are blue-grey (#d5d8dc) — neutralize */
.elementor-accordion .elementor-accordion-item,
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-content,
.elementor-tabs .elementor-tab-title,
.elementor-tabs .elementor-tab-content,
.elementor-tabs .elementor-tabs-content-wrapper {
	border-color: #e6e6e6;
}

/* Elementor nav dropdown: default active/hover background is blue-grey #3f444b */
.elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a.highlighted {
	background-color: #2a2a2a;
}
