/*
Theme Name: Qemetica
Theme URI: qemetica-agro.pl
Author: Paul Bystrzan
Author URI: leafmedia.pl
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Tested up to: 6.7.1
Requires PHP: 7.3
Version: 3.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: qemetica

Qemetica WordPress Theme, (C) 2026 Paul Bystrzan.
Qemetica is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: inherit;
}


html {
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
	padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--small);
}

ul.wp-block-list:not(.is-style-list-check) li::marker {
    content: '- ';
}

ol.wp-block-list {
	counter-reset: list-item;
	list-style: none;
	padding-left: 0;
}

ol.wp-block-list > li {
	counter-increment: list-item;
	display: grid;
	grid-template-columns: 2rem 1fr;
	gap: 0.75rem;
	align-items: end;
	margin-bottom: 1rem;
}

ol.wp-block-list-styled > li::before {
	content: counter(list-item);
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	background: #4da86d;
	border-radius: 50%;
	font-weight: 400;
	color: #fff;
	font-size: 0.8em;
	line-height: 1;
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--primary-alt-accent);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

img,
figure {
	max-width: 100%;
	height: auto;
}

/* Temporary fix for text-decoration-thickness in Firefox */
@-moz-document url-prefix() {
	a {
		text-decoration-thickness: .1rem !important;
	}
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

input:not([type="submit"]):not([type="radio"]):not(.search-results__input):not(.qemetica-calculator__range):not(.qemetica-pl-map__search-input), select, textarea, .wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wp-block-post-comments-form textarea {
	/* color: var(--wp--preset--color--main); */
	border-radius: 5px;
	border: solid 1px color-mix(in srgb, var(--wp--preset--color--tertiary) 100%, var(--wp--preset--color--main) 20%);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	background-color: #fff;
	box-shadow: 
		0 1px 2px rgba(0, 0, 0, 0.02),
		0 0.5px 1px rgba(0, 0, 0, 0.04);
	/* width: 100%; */
}

input[type="submit"] {
    background: var(--wp--preset--color--primary-alt-accent);
    border-color: var(--wp--preset--color--primary-alt-accent);
    color: #fff;
	border: 1px solid rgba(15, 32, 75, .1);
    border-radius: 4px;
	cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 12px;
    gap: 8px;
    justify-content: space-between;
    min-height: 38px;
    padding: 0 14px;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

*:focus {
	outline-style: solid;
	outline-offset: 1px;
	outline-color: currentColor;
	outline-width: 0px;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

select {
	-webkit-appearance: none;
	appearance: none;
	background: var(--wp--preset--color--base) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
    background-size: 16px;
    background-position: calc(100% - 12px) 50%;
	padding-right: 2.2em;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

label {
	width: 100%;
	display: block;
}

::placeholder {
	/* color: var(--wp--preset--color--primary-alt-accent); */
	/* font-size: var(--wp--preset--font-size--small); */
	/* opacity: 0.75; */
}

/* Helper styles
---------------------------------------------------------------------------- */

a.more-link {
	display: block;
}

/* Inline code */
*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--tertiary);
	padding: 3px 5px;
	position: relative;
	border-radius: 3px;
}

.wp-block-categories {
	position: relative;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
	display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
	display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
	display: none;
}

.row-logos > figure {
	flex-shrink: 1 !important;
}

/* Sticky header */

body:not(.wp-admin) header:has(>.is-position-sticky) {
	position: sticky;
	top: calc( 0px + var( --wp-admin--admin-bar--height, 0px ) );
	z-index: 100;
}
.is-follow-scroll[data-qemetica-sticky-follow-ready="true"],
.is-position-sticky[data-qemetica-sticky-follow-ready="true"] {
	top: calc(
		var(--qemetica-sticky-follow-base-top, 0px) +
		var(--qemetica-sticky-header-offset, 0px)
	) !important;
	will-change: top;
}

.qemetica-pl-map__content.is-follow-scroll[data-qemetica-sticky-follow-ready="true"],
.qemetica-pl-map__content.is-position-sticky[data-qemetica-sticky-follow-ready="true"] {
	top: calc(
		120px +
		var(--qemetica-sticky-follow-base-top, 0px) +
		var(--qemetica-sticky-header-offset, 0px)
	) !important;
}

/* Account for admin bar on mobile */

@media (max-width: 600px) {
	header:has(>.is-position-sticky) {
		top: 0;
	}
}

/* Mobile helper classes */

@media (max-width: 781px) {
	.qemetica-hide-on-mobile {
		display: none;
	}

	.qemetica-unstick-mobile {
		position: static;
	}

	header:has(>.qemetica-unstick-mobile) {
		position: static;
	}
}

/* Table
--------------------------------------------- */

.wp-block-table table {
	background: var(--wp--preset--color--base);
	/* border-radius: 5px; */
	border: solid 1px var(--wp--preset--color--border-light);
	font-size: var(--wp--preset--font-size--x-small);
}
.wp-block-table.is-style-stripes {
	border-bottom: none;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: var(--wp--preset--color--tertiary);
}

.wp-block-table td, 
.wp-block-table th,
.wp-block-table thead {
	/* border: none; */
	/* border-bottom: solid 1px color-mix(in srgb, var(--wp--preset--color--border-light) 50%, var(--wp--preset--color--base) 5%); */
}

.wp-block-table th,
.wp-block-table tfoot {
	text-align: left;
	background-color: color-mix(in srgb, var(--wp--preset--color--tertiary) 75%, var(--wp--preset--color--base) 5%);
}

.wp-block-table td, 
.wp-block-table th {
	padding: .8em 1em;
}

.wp-block-table tfoot {
	border-top: solid 1px var(--wp--preset--color--border-light);
}

.wp-block-table tfoot td {
	border-bottom: none;
}
sup { 
    font-size: .5em;}

.is-term-sidebar-info :where(p, .qemetica-products-term-item__link) {
    font-weight: 500;
}

.is-sticker-container {
	position: relative;
}

.is-sticker {
    position: absolute;
    top: calc(-3 * var(--wp--preset--spacing--small) + 1px);
    padding: var(--wp--preset--spacing--small);
    left: 0;
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}



#wpadminbar #wp-admin-bar-site-name a.ab-item sup {
    display: inline-block;
    vertical-align: baseline;
}
.embla .wp-block-post-template {
	user-select: none;
}
:where(.qemetica-carousel) .embla .wp-block-post-template li.type-post {
    flex: 0 0 calc(var(--qemetica-carousel-slide-width,100%) * 1.9)!important;
    max-width: calc(var(--qemetica-carousel-slide-width, 100%) * 1.9)!important;
}

.card-post-type-post_cover {
    min-height: 360px !important;
    --wp--style--global--content-size: 100%;
    border-radius: 4px;
}

.card-post-type-post_cover {}

.card-post-type-post_content-wrapper {
    padding-left: var(--wp--preset--spacing--medium);
    padding-right: var(--wp--preset--spacing--medium);
    margin-top: -60px;
    z-index: 3;
}

.card-post-type-post_content {
    min-height: 180px;
    background: var(--wp--preset--color--base);
    padding: var(--wp--preset--spacing--medium);
    gap: 10px;
    /* display: flex; */
    /* flex-direction: column; */
    /* align-items: start !important; */
    justify-content: space-around;
    border-radius: 4px;
}







.wp-block-ollie-mega-menu .wp-block-ollie-mega-menu__toggle[aria-expanded=true]~.wp-block-ollie-mega-menu__menu-container {
    max-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px) - var(--qemetica-sticky-header-offset) - 90px);
    overflow-y: auto;
    box-shadow: var(--wp--preset--shadow--medium-light);
}



.wp-block-group .wp-block-template-part {
    max-width: inherit;
}

.qemetica-ai-utilities {
    display: none !important;
}



.header-top-row .is-layout-grid {
    /* grid-template-columns: var(--fr, 160px) 1fr var(--fr, 160px); */
    grid-template-columns: var(--fr, 300px) 1fr var(--fr, 300px);
    gap: 8px;
}

.header-top-row .wp-block-qemetica-search-input {
    max-width: 380px;
}
.header-top-row .wp-block-qemetica-search-input .search-button-text {
	display: block;
}
.header-top-row .wp-block-qemetica-search-input .shortcut-hint {
    display: grid;
}

.flags .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
	color: inherit;
}

@media (max-width: 1000px) {
	body .header-top-row .is-layout-grid {
		grid-template-columns: 1fr 60px;
	}
	body .header-top-row .is-group-placeholder {
	    display: none;
	}
    .header-top-row .wp-block-social-links {
        display: none;
    }
	.header-top-row .is-group-search {
		justify-self: stretch;
	}
	.header-top-row .wp-block-qemetica-search-input {
		max-width: 100%;
	}

	.flags .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
		border: 0;
	    clip-path: inset(50%);
	    height: 1px;
	    margin: -1px;
	    overflow: hidden;
	    padding: 0;
	    position: absolute;
	    width: 1px;
	    word-wrap: normal !important;
	    word-break: normal !important;
	}
	.flags .wp-block-navigation-item {
		gap: 8px;
	}
	.search-button-text--placeholder {
	    overflow: hidden;
	    text-overflow: ellipsis;
	    white-space: nowrap;
	}
}









.wpcf7-form-control-wrap,.wpcf7-form-control-wrap textarea {
    width: 100%;
    display: block
}

.wpcf7-form-control-wrap {
    margin: 8px 0 0 0
}

.wpcf7 .send-inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 1em;
    justify-content: stretch;
}

.wpcf7 span.wpcf7-spinner {
    display: none
}

.wpcf7 .wpcf7-submit {
    font-size: 14px;
    background-color: var(--wp--preset--color--primary);
    height: 48px;
    min-width: 200px;
    align-self: center;
	font-weight: 400;
	text-transform: uppercase;
}

.wpcf7 .wpcf7-submit[disabled] {
	filter: grayscale(1);
}

.wpcf7 .altcha-widget-wrap {
    margin: 0!important
}

.wpcf7 .altcha-error,.altcha-footer {
    font-size: .6em
}

.wpcf7 .altcha {
    flex-direction: row;
    --altcha-max-width: 100%;
    align-items: center;
    --altcha-color-border: #d0d4d7;
    justify-content: center;
}

.wpcf7 .altcha-checkbox input {
    accent-color: var(--wp--preset--color--primary)
}

.wpcf7 form,.wpcf7 textarea,.wpcf7 input {
    accent-color: var(--wp--preset--color--primary-alt-accent);
    width: 100%;
}

.wpcf7 form ::placeholder {
    color: #1e1e26;
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 300;
    opacity: .5;
}

.altcha-label {
    font-size: 12px;
}

.wpcf7 label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7c8686;
}

.wpcf7 .send-inner>* {flex: 1;text-align: center;}
.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
	display: none;
}

.wpcf7-list-item:first-of-type {
    margin: initial;
}

.wpcf7-acceptance label {
    display: flex;
    align-items: start;
    gap: .5em;
}

.wpcf7-acceptance a {
    color: var(--wp--preset--color--primary-alt-accent);
}

.wpcf7-acceptance input,
.altcha-checkbox input {
    width: initial !important;
    margin: 1px 0 0 0;
    color: initial;
}
.wpcf7-not-valid-tip {
    font-size: .8rem;
    margin: 4px 0 0 4px;
}

.qemetica-pl-map__categories {
	display: none;
}

[data-status="sent"] >*:not(.wpcf7-response-output) {
    display: none;
}
.wpcf7 form .wpcf7-response-output {
    margin: 2em 0em 1em;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: 0;
    border-left: 4px solid var(--wp--preset--color--primary);
}

/* @supports (position-area: top) {
  html:after {
    content: "";
    position: fixed;
    position-anchor: --focus;
    inset: anchor(inside,0);
	outline: 1px solid currentColor;
    outline-offset: 2px;
    border-radius: 4px;
    pointer-events: none;
    transition: .4s;
	z-index: 999999999;
  }
  *:focus-visible {
    outline: none;
    anchor-name: --focus;
  }
} */
.qemetica-pl-map__title {
    margin: 0 auto 1em;
}
main :where(h1,h2,h3,h4,h5,h6, button, p, a, button) {
	/* text-box: cap alphabetic; */
}

.qemetica-pl-map__results-heading:after {
    content: ':';
}

@media (max-width: 1055px) {
	.unstick-1055 {
		position: initial!important;
	}
}

.wp-block-cover.ollie-video-modal-trigger {
    background-color: var(--wp--preset--color--primary-alt-accent);
}

.lightbox-trigger {
    visibility: hidden;
}
[hidden] {
	display: none;
}
.is-style-excerpt-truncate-2, .is-style-excerpt-truncate-2 a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}
.is-post-card-content {
    min-height: 200px;
}


.wp-block-group.hero-actions {
    display: grid;
    grid-template-columns: 1fr 220px;
}

@media (max-width: 600px) {
    .wp-block-group.hero-actions {
        grid-template-columns: 1fr;
    }
}

.wp-block-group.hero-actions > div {
    width: 100%;
}

.wp-block-group.hero-actions .button-search--input,
.wp-block-group.hero-actions .wp-block-button__link {
    min-height: 52px;
}
.wp-block-group.hero-actions .button-search--input {
    padding-left: var(--wp--preset--spacing--medium);
    padding-right: var(--wp--preset--spacing--medium);
}

.wp-block-group.hero-actions .wp-block-button {
    width: 100%;
}

.wp-block-group.hero-actions  .search-button-text,
.wp-block-group.hero-actions  .shortcut-hint {
    display: block;
}


.wp-block-group.qe, .qe-nav--overlay-sides {
    min-height: var(--carousel-button-size);
    margin: 0;
}

.wpcf7 textarea {
    resize: vertical;
}

.wp-block-post-template li h2 {
	hyphens: auto;
}

@media (min-width: 921px) {
    .archive.category .wp-block-post-template li:first-child,
	.archive.post-type-archive-expert-advice .wp-block-post-template li:first-child,
	.tax-expert-advice-category .wp-block-post-template li:first-child{
        grid-column: span 2;
    }
	.archive.category .wp-block-post-template li:first-child h2,
	.archive.post-type-archive-expert-advice .wp-block-post-template li:first-child h2,
	.tax-expert-advice-category .wp-block-post-template li:first-child h2 {
		font-size: var(--wp--preset--font-size--medium) !important;
	}
}


@media (max-width: 1280px) {
	.site-header .wp-block-site-logo,
	.site-header .wp-block-site-logo img {
		max-width: 160px;
		max-height: 60px;
		width: auto;
		height: auto;
	}
}


.wp-block-group.hero-actions .wp-block-button__link {
	justify-content: space-between;
	white-space: nowrap;
}
/* Show More Block Variation */
.wp-block-details.is-style-qemetica-show-more[open] > summary {
	display: none;
}

.wp-block-details.is-style-qemetica-show-more > summary {
	cursor: pointer;
	text-decoration: underline;
	font-weight: 600;
	color: var(--wp--preset--color--primary, inherit);
	list-style: none; /* remove default marker in some browsers */
}

.wp-block-details.is-style-qemetica-show-more > summary::-webkit-details-marker {
	display: none; /* remove default marker in safari */
}

/* Keep summary visible in editor to allow editing */
.editor-styles-wrapper .wp-block-details.is-style-qemetica-show-more[open] > summary {
	display: block !important;
	opacity: 0.6;
}
.wp-block-post:hover .qemetica-product-card__bottom-arrow {
	transform: translateX(100%);
}
.wp-block-qemetica-events-event-map {
    position: relative;
    z-index: 1;
}

.wp-block-ollie-mega-menu .wp-block-ollie-mega-menu__toggle .wp-block-ollie-mega-menu__toggle-icon svg {
    width: auto;
    height: auto;
    margin-top: 0;
    transform: translateY(.15em);
}

.qemetica-events-event-card__title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}

.leaflet-popup-content-wrapper { border-radius: 4px !important; }
.qemetica-events-event-card__location+.qemetica-events-event-card__location {display: none;}
.qemetica-locator .leaflet-interactive {
    fill-opacity: .9;
}
body.wp-singular.products-template-default { background: #fff; }
body.wp-singular.products-template-default .qemetica-tabs-content { margin-top: var(--wp--preset--spacing--small); }
.qemetica-tabs__horizontal .qemetica-tabs-buttons { border-radius: 6px; }


@keyframes featured-link-pulse {
	0% {
		box-shadow: 0 0 0 0 var(--wp--preset--color--primary);
		opacity: 1;
	}

	70% {
		box-shadow: 0 0 0 0.45rem transparent;
		opacity: 0.75;
	}

	100% {
		box-shadow: 0 0 0 0 transparent;
		opacity: 1;
	}
}

.wp-block-navigation-item.featured > a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.wp-block-navigation-item.featured > a::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	flex: 0 0 auto;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary);
	animation: featured-link-pulse 1.8s ease-out infinite;
	margin-top: -.25em;
}

.wp-block-navigation-item.featured > a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.wp-block-ollie-mega-menu__toggle {
    white-space: nowrap;
}

.wp-block-navigation .wp-block-navigation-item.current-menu-item a,
.current-menu-ancestor > button {
/*     text-shadow: 0 0 .6px currentColor, 0 0 .6px currentColor, 0 0 .6px currentColor; */
}

.qemetica-calculator__layout ::placeholder {
    font-size: inherit;
}

.wp-block-post h2.is-style-excerpt-truncate-2 {
    min-height: 2.6em;
}



.title-and-carousel {
    display: flex !important;
    width: 100%;
}

.title-and-carousel > * {
    flex: 1 1 auto;
	min-width: 0;
}

.title-and-carousel-carousel {
    min-width: 60%;
}

@media (max-width: 730px) {
    .title-and-carousel {
        display: flex !important;
        flex-direction: column;
        align-items: normal;
        justify-content: start;
    }
    .title-and-carousel > * {
        flex: initial;
        min-width: initial;
    }
}

li.wp-block-post.weed-atlas h2 {
    display: flex;
    align-items: center;
}

.qemetica-events-event-details__action, .qemetica-events-event-details__action--summary {
    font-size: 12px;
    font-weight: 400;
}

.qemetica-events-status-badge {
    padding: 7px 10px;
    border-radius: 4px;
}

.qemetica-events-status-badge--upcoming {
    /* background: #2196F3;
    color: #ffffff; */
    font-size: .6em;
}

/* .qemetica-events-status-badge--ongoing {
    background: #FF5722;
    color: #fff
}

.qemetica-events-status-badge--past {
    background: rgba(15,32,75,.08);
    color: rgba(15,32,75,.78)
} */

.qemetica-tab-container .qemetica-tab-btn {
    padding: var(--qemetica-tabs-tab-padding) !important;
}
/* @media (min-width: 768px) { */
    .wp-block-table.qemetica-table-to-accordion {
    	overflow-x: initial;
	}

	.qemetica-table-to-accordion.wp-block-table thead {
		background: #f6f6f9;
		position: sticky;
		top: calc(90px + var(--qemetica-sticky-header-offset));
		z-index: 2;
	}
/* } */
