/* Rules not used on the front page. Loaded on every other page (moved out of style.css to keep the home page CSS small). */

hr {
	box-sizing: content-box;
	overflow: visible;
}

abbr[title] {
	border-bottom: 1px #00a870 dotted;
	text-decoration: none;
}

small {
	font-size: 80%;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	text-align: right !important;
}

h4 {
	color: var(--cd);
	font-size: 1rem;
	font-weight: 800;
}

h5 {
	color: var(--cd);
	font-size: .8125rem;
	font-weight: 800;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

label {
	color: var(--ink);
	display: block;
	font-weight: 600;
	margin-bottom: .5em;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--ink);
	background: #fff;
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid #d5dde5;
	border-radius: 10px;
	display: block;
	padding: .7em 1em;
	width: 100%;
	transition: border-color .2s, box-shadow .2s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: var(--ink);
	border-color: var(--c);
	box-shadow: 0 0 0 3px rgba(0, 168, 112, .15);
}

select {
	border: 1px solid #d5dde5;
	border-radius: 10px;
	height: 3em;
	max-width: 100%;
}

input[type="radio"],
input[type="checkbox"] {
	margin-right: .5em;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
	font-weight: 400;
}

input[type="button"],
input[type="submit"] {
	float: right;
	margin-top: 1em;
}

hr {
	background-color: #bbb;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ol {
	list-style: decimal;
}

table {
	border-collapse: collapse;
	margin: 0 0 1.5em;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}

thead th {
	border-bottom: 2px solid var(--c);
	padding-bottom: .6em;
	text-align: center;
	column-span: all;
}

th,
td {
	padding: .65em .9em;
	border: 0;
	border-bottom: 1px solid var(--line);
	color: var(--ink);
}

th {
	background: var(--soft);
	font-weight: 700;
}

tr:nth-of-type(even) {
	background: #f8faf9;
}

tr:hover {
	background-color: var(--soft);
}

th:first-child,
td:first-child {
	font-weight: bold;
}

.comment-respond {
	width: auto;
}

.post-navigation a:focus .icon,
.post-navigation a:hover .icon {
	color: #222;
}

.post-thumbnail {
	margin: 1em;
}

.post-thumbnail img {
	max-height: 800px;
}

.post-thumbnail a img {
	width: 100%;
	border: 1px solid #fff;
	display: block;
	transition: filter .2s ease-in, -webkit-filter .2s ease-in;
	backface-visibility: hidden;
}

.post-thumbnail a:hover img,
.post-thumbnail a:focus img {
	filter: opacity(60%);
}

.wrapfull {
	width: 100% !important;
	padding-left: 0;
	padding-right: 0;
}

.link-more {
	float: left;
	padding-bottom: .5em;
}

.woocommerce .star-rating {
	height: 1.2em;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
	background-color: var(--c);
}

.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
	float: left;
	margin-left: 4px;
	width: 32px;
	height: auto;
	box-shadow: none;
	display: none;
}

.woocommerce-Price-amount bdi {
	direction: ltr;
}

.woocommerce ul.products li.product .star-rating {
	margin-right: auto;
	margin-left: auto;
	margin-top: 10px;
}

/* Image captions (product descriptions, pages): a small labelled box under the picture, dark green text on soft green
   (the old light grey #ccc was 1.6:1 on white, unreadable). Persian letters read better inside a box. */
.wp-block-image figcaption {
	background: var(--soft);
	border: 1px solid #cfe8dc;
	border-radius: 12px;
	box-sizing: border-box;
	color: var(--cd) !important;
	display: block;
	font-size: .85rem;
	font-weight: 800;
	line-height: 1.6;
	margin: .7rem auto 0;
	max-width: 100%;
	padding: .3rem .9rem;
	text-align: center;
	width: fit-content;
}

.wp-block-image figcaption strong {
	color: inherit;
}

/* Old content writes headings in plain "gray" (#808080 = 3.9:1): darker grey, same look */
.entry-content [style*="color: gray"],
.entry-content [style*="color:gray"] {
	color: #4b5563 !important;
}

.prim {
	padding-top: 1em;
}

@media (max-width: 48em) {
	.wp-block-spacer {
		height: 2em !important;
	}
}

.page-title {
	color: var(--cd);
	font-size: 1.1rem;
	font-weight: 800;
	text-align: center;
}

.entry-header h1 {
	padding-right: 1em;
	color: #1a1a1a;
}

.entry-title a {
	color: #1a1a1a;
	text-decoration: none;
	vertical-align: middle;
}

.entry-title:not(:first-child) {
	padding: .4em .8em;
	border-radius: 10px;
	height: 2.5em;
	font-size: 1.1rem;
	text-align: right;
}

.entry-meta {
	color: var(--cd);
	font-size: .9rem;
	font-weight: 800;
	margin-top: 1em;
}

.entry-meta a {
	color: var(--cd);
}

.byline,
.updated:not(.published) {
	display: none;
}

.page-numbers {
	display: none;
	padding: .5em .75em;
}

.page-numbers.current {
	color: var(--cd);
	display: inline-block;
}

.page-numbers.current .screen-reader-text {
	clip: auto;
	height: auto;
	overflow: auto;
	position: relative !important;
	width: auto;
}

.prev.page-numbers,
.next.page-numbers {
	background-color: var(--line);
	border-radius: 10px;
	display: inline-block;
	font-size: 2rem;
	line-height: 1;
	padding: .25em;
	transition: background-color .2s ease-in-out, border-color .2s ease-in-out, color .3s ease-in-out;
}

.prev.page-numbers:focus,
.prev.page-numbers:hover,
.next.page-numbers:focus,
.next.page-numbers:hover {
	background-color: #00a870;
	color: #fff;
}

.next.page-numbers {
	float: right;
}

.blog .site-main > article,
.archive .site-main > article,
.search .site-main > article {
	padding-bottom: 2em;
}

body:not(.tsv2-front-page) .entry-header {
	padding: 0;
}

body:not(.tsv2-front-page) .entry-header,
body:not(.tsv2-front-page) .entry-content {
	width: 100%;
	padding-top: 0;
}

body:not(.tsv2-front-page) .entry-content > :first-child {
	margin-top: 0;
}

body:not(.tsv2-front-page) #comments,
.single-post:not(.has-sidebar) #primary,
.page.page-one-column:not(.tsv2-front-page) #primary,
.archive.page-one-column:not(.has-sidebar) .page-header,
.archive.page-one-column:not(.has-sidebar) #primary {
	float: right;
	width: 100%;
}

body:not(.tsv2-front-page) .entry-header {
	padding-top: 0;
}

.entry-footer {
	border-bottom: 1px solid #eee;
	border-top: 1px solid #eee;
	margin-top: 2em;
	padding: 2em 0;
}

.entry-footer .cat-links,
.entry-footer .tags-links {
	display: block;
	font-size: .8rem;
	font-weight: 800;
	padding-left: 2.5em;
	position: relative;
}

.entry-footer .cat-links a,
.entry-footer .tags-links a {
	color: #1a1a1a;
}

.entry-footer .cat-links .icon,
.entry-footer .tags-links .icon {
	color: var(--cd);
	left: 0;
	margin-right: .5em;
	position: absolute;
	top: 2px;
}

.post-navigation {
	font-weight: 800;
	margin: 3em 0;
}

.post-navigation .nav-links {
	padding: 1em 0;
}

.nav-subtitle {
	background: transparent;
	color: var(--cd);
	display: block;
	font-size: .8rem;
}

.nav-title {
	color: #1a1a1a;
	font-size: .9rem;
}

.nav-links .nav-previous .nav-title .nav-title-icon-wrapper {
	margin-right: .5em;
}

.nav-links .nav-next .nav-title .nav-title-icon-wrapper {
	margin-left: .5em;
}

.page-header {
	padding-bottom: 0;
}

.page:not(.home) #content {
	padding-bottom: 1.5em;
}

.error404 .page-content {
	padding-bottom: 4em;
}

.error404 .page-content .search-form,
.search .page-content .search-form {
	margin-bottom: 3em;
}

#comments {
	clear: both;
	padding: 1em 0 1em;
}

.form-submit {
	text-align: right;
}

#secondary {
	padding: 2em 0 2em;
}

/* Phones and tablets: no extra space above the sidebar */
@media screen and (max-width: 59.99em) {
	#secondary {
		padding-top: 0;
	}
}

.widget ul li ul {
	margin: 0 0 -1px;
	padding: 0;
	position: relative;
}

.widget ul li li {
	border: 0;
	padding-left: 1.3rem;
}

.search-form {
	position: relative;
	box-shadow: var(--sh);
	border-radius: 10px;
}

.search-form .search-submit {
	bottom: 3px;
	padding: .5em 1em;
	position: absolute;
	right: 3px;
	top: 3px;
	border-radius: 8px;
	background: #00a870;
	color: #fff;
}

embed,
iframe,
object {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
	height: 10%;
	position: relative;
	overflow: hidden;
	border: 1px solid #ccc;
	border-radius: .5pc;
}

.gallery-columns-1 .gallery-item,
.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item,
.gallery-columns-5 .gallery-item,
.gallery-columns-6 .gallery-item,
.gallery-columns-7 .gallery-item,
.gallery-columns-8 .gallery-item {
	width: 100%;
}

.gallery-item a:hover,
.gallery-item a:focus {
	box-shadow: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a {
	box-shadow: none;
	display: inline-block;
	width: 100%;
}

.gallery-item img {
	border-radius: 0;
	margin-bottom: -.7em;
}

.gallery-item a img {
	display: block;
	transition: filter .2s ease-in, -webkit-filter .2s ease-in;
	backface-visibility: hidden;
	width: 100%;
	border-top-left-radius: .5pc;
	border-top-right-radius: .5pc;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	filter: opacity(60%);
	width: 100%;
}

@media screen and (max-width: 30em) {
	.gallery-item,
	.gallery-item2 {
		margin-bottom: 1rem;
	}
}

@media screen and (min-width: 30em) {
	.page-title {
		color: var(--cd);
		font-size: 1.2rem;
		font-weight: 800;
		text-align: center;
	}
	h5 {
		font-size: .8125rem;
	}
	.page-numbers.current {
		font-size: 1rem;
	}
	.gallery-item {
		max-width: 25%;
		margin-right: 1%;
		margin-left: 1%;
	}
	.gallery-columns-3 .gallery-item {
		max-width: 31.33%;
		margin-right: 1%;
		margin-left: 1%;
	}
}

.postitem-text {
	padding-left: 1.5em;
	padding-top: 1em;
	padding-right: 1em;
	padding-bottom: 0;
	font-size: 1em;
}

.shadowitem {
	border: 1px solid #ccc;
	border-radius: 3px;
}

@media screen and (min-width: 60em) {
	.page-title {
		color: var(--cd);
		font-size: 1.2rem;
		font-weight: 800;
		text-align: center;
	}
	.has-sidebar:not(.error404) #primary,
	.has-sidebar #secondary {
		padding-top: 0 !important;
	}
	.has-sidebar:not(.error404) #primary {
		float: left;
		width: 73%;
	}
	.has-sidebar #secondary {
		float: right;
		padding-top: 0;
		min-width: 25%;
		width: 25%;
	}
	.prim {
		float: left;
		width: 59%;
		vertical-align: top;
		padding-top: 0;
	}
	.sec {
		padding-top: 0;
		width: 36%;
		margin-top: 3em;
		vertical-align: top;
		position: inherit;
		display: inline-block;
		text-align: justify;
	}
	.postitem-image {
		width: 35%;
		float: right;
		padding: 0 0 0 1em;
	}
	.postitem-text {
		width: 65%;
		float: left;
		padding-left: 5%;
		padding-top: 5%;
		padding-right: 0;
		padding-bottom: 0;
		font-size: 1em;
	}
	.shadowitem {
		border: 1px solid #ccc;
		border-radius: 3px;
	}
	.error404 #primary {
		float: none;
	}
	#secondary {
		font-size: .8rem;
		line-height: 1.6;
	}
	.blog .site-main > article,
	.archive .site-main > article,
	.search .site-main > article {
		padding-bottom: 2em;
	}
	.page:not(.home) #content {
		padding-bottom: 3.25em;
	}
	.error404 .page-content {
		padding-bottom: 9em;
	}
	#comments {
		padding-top: 5em;
	}
	.nav-links .nav-title {
		position: relative;
	}
	.post-navigation .nav-previous {
		float: left;
		width: 50%;
	}
	.post-navigation .nav-next {
		float: right;
		text-align: right;
		width: 50%;
	}
	.nav-next,
	.post-navigation .nav-next {
		margin-top: 0;
	}
	body:not(.has-sidebar):not(.page-one-column) .page-header,
	body.has-sidebar.error404 #primary .page-header,
	body.page-two-column:not(.archive) #primary .entry-header,
	body.page-two-column.archive:not(.has-sidebar) #primary .page-header {
		float: left;
		width: 21%;
	}
	.blog:not(.has-sidebar) #primary article,
	.archive:not(.page-one-column):not(.has-sidebar) #primary article,
	.search:not(.has-sidebar) #primary article,
	.error404:not(.has-sidebar) #primary .page-content,
	.error404.has-sidebar #primary .page-content,
	body.page-two-column:not(.archive) #primary .entry-content,
	body.page-two-column #comments {
		float: right;
		width: 69%;
	}
	.navigation.pagination {
		clear: both;
		float: right;
		width: 58%;
	}
	.has-sidebar .navigation.pagination,
	.archive.page-one-column:not(.has-sidebar) .navigation.pagination {
		float: none;
		width: 100%;
	}
	.entry-footer {
		display: table;
		width: 100%;
	}
	.entry-footer .cat-tags-links {
		display: table-cell;
		vertical-align: middle;
		width: 100%;
	}
	.nav-title-icon-wrapper {
		position: absolute;
		text-align: center;
		width: 2em;
	}
	.nav-links .nav-previous .nav-title .nav-title-icon-wrapper {
		left: -2em;
	}
	.nav-links .nav-next .nav-title .nav-title-icon-wrapper {
		right: -2em;
	}
}

@media screen and (min-width: 67em) {
	.page-numbers {
		display: inline-block;
	}
	.page-numbers.current .screen-reader-text {
		clip: rect(1px, 1px, 1px, 1px);
		height: 1px;
		overflow: hidden;
		position: absolute !important;
		width: 1px;
	}
	.page-numbers.current {
		font-size: .9375rem;
	}
}

@media print {
	h5 {
		font-size: 11pt;
	}
	.entry-meta {
		font-size: 9pt;
	}
}

.next.page-numbers,
.prev.page-numbers {
	transform: rotate(180deg);
}

.breadcrumbs::-webkit-scrollbar {
	display: none;
}

@media (min-width: 48em) {
	.comment-form-comment,
	.comment-form-author,
	.comment-form-email {
		width: 60%;
	}
}

.woocommerce .star-rating span:before {
	color: #f4d70b;
}

.woocommerce-product-search .search-field::placeholder {
	font-family: yj, tahoma !important;
}

.woocommerce-product-search .search-field::-webkit-input-placeholder {
	font-family: yj, tahoma !important;
}

.prev.page-numbers .icon,
.next.page-numbers .icon {
	transform: rotate(0deg) !important;
}

.comment-respond {
	line-height: 2;
}

.custom-prc {
	color: inherit;
	font-weight: 700;
}

.breadcrumbs {
	-ms-overflow-style: none;
	scrollbar-width: none;
	overflow-x: scroll;
	white-space: nowrap;
}

.count {
	display: inline-block;
}

.sp-easy-accordion .sp-ea-single .ea-header a {
	font-size: .9rem;
}

.breadcrumbs a:hover {
	color: var(--cd);
}

.pwb-columns {
	float: none !important;
	display: inline-block !important;
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a .ea-expand-icon {
	float: none !important;
}

@media screen and (max-width: 480px) {
	.pwb-columns-3 {
		width: 33.33333% !important;
	}
}

.blocks-gallery-grid:not(.has-nested-images),
.wp-block-gallery:not(.has-nested-images) {
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

@media screen and (min-width: 60em) {
	.entry-title a {
		margin-right: 0 !important;
	}
}

#secondary .widget {
	margin-bottom: 1.5em;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
}

.woocommerce-product-search button {
	position: absolute;
	left: 05px;
	top: 5px;
	background: #00a870;
	color: #fff;
	border: none;
	padding: 4px;
	border-radius: 8px;
	cursor: pointer;
	z-index: 10;
	min-width: 50px;
	height: 35px;
}

.woocommerce-product-search {
	width: 100%;
	position: relative;
	overflow: visible;
}

.woocommerce-product-search .search-field {
	width: 100%;
	padding: 10px 10px 10px 60px;
	border: 1px solid #d5dde5;
	border-radius: 10px;
	box-sizing: border-box;
}

@media screen and (min-width: 60em) {
	.main-navigation li.current-menu-item > a,
	.main-navigation li.current_page_item > a,
	.main-navigation li.current-menu-ancestor > a,
	.main-navigation li.current-menu-parent > a,
	.main-navigation li.current_page_ancestor > a,
	.main-navigation li.current_page_parent > a {
		background: var(--c);
		color: #fff;
	}
}

body:not(.home) .site-header {
	background: none;
	margin-bottom: 1em;
}

@media screen and (min-width: 60em) {
	body:not(.home) .site-header {
		margin-bottom: 1.5em;
	}
}

@media screen and (max-width: 59.99em) {
	.main-navigation li.current-menu-item > a,
	.main-navigation li.current_page_item > a,
	.main-navigation li.current-menu-ancestor > a,
	.main-navigation li.current-menu-parent > a,
	.main-navigation li.current_page_ancestor > a,
	.main-navigation li.current_page_parent > a {
		color: var(--cd);
	}
}

body:not(.home) .breadcrumbs,
body:not(.home) #breadcrumb {
	background: #f1f4f7;
	border: 1px solid #e3e8ee;
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--mut);
	display: block;
	font-size: .82rem;
	line-height: 1.6;
	margin: 0 0 1.25em;
	max-width: 100%;
	padding: .45em 1.1em;
	width: -moz-fit-content;
	width: fit-content;
}

body:not(.home) .breadcrumbs a,
body:not(.home) #breadcrumb a {
	color: var(--mut);
	font-weight: 600;
	text-decoration: none;
	transition: color .2s;
}

body:not(.home) .breadcrumbs a:hover,
body:not(.home) #breadcrumb a:hover {
	color: var(--cd);
}

@media screen and (min-width: 60em) {
	.navigation-top .main-navigation > div > ul > li.current-menu-item > a:not(.header-icons-wrapper a),
	.navigation-top .main-navigation > div > ul > li.current-menu-item:hover > a:not(.header-icons-wrapper a),
	.navigation-top .main-navigation > div > ul > li.current-menu-ancestor > a:not(.header-icons-wrapper a),
	.navigation-top .main-navigation > div > ul > li.current-menu-ancestor:hover > a:not(.header-icons-wrapper a),
	.navigation-top .main-navigation > div > ul > li.current-menu-parent > a:not(.header-icons-wrapper a) {
		background: #00a870;
		box-shadow: none;
		color: #fff;
		text-shadow: none;
	}
}

@media screen and (max-width: 59.99em) {
	.navigation-top .main-navigation li.current-menu-item > a,
	.navigation-top .main-navigation li.current-menu-ancestor > a,
	.navigation-top .main-navigation li.current-menu-parent > a {
		background: rgba(0, 0, 0, .2);
		color: #fff;
		font-weight: 800;
	}
}

#secondary .widget {
	padding: 1.1em;
	transition: box-shadow .25s;
}

#secondary .widget:hover {
	box-shadow: var(--sh2);
}

#secondary .widget-title {
	background: linear-gradient(var(--c), var(--c)) right bottom / 3.5em 2px no-repeat;
	border-bottom: 1px solid var(--line);
	box-shadow: none;
	color: var(--ink);
	padding-bottom: 10px;
}

#secondary .woocommerce-product-search .search-field {
	background: #f8fafb;
	border: 1px solid var(--line);
	border-radius: 999px;
	height: 42px;
	padding: 0 16px 0 70px;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}

#secondary .woocommerce-product-search .search-field:focus {
	background: #fff;
	border-color: var(--c);
	box-shadow: 0 0 0 3px rgba(0, 168, 112, .15);
	outline: 0;
}

#secondary .woocommerce-product-search button {
	border-radius: 999px;
	height: 32px;
	left: 5px;
	min-width: 56px;
	top: 5px;
}

#secondary .product-categories {
	list-style: none;
	margin: 0;
	max-height: none;
	overflow: visible;
	padding: 0;
	text-align: right;
}

#secondary .product-categories li {
	border: 0;
	margin: 0;
	padding: 0;
	position: relative;
}

#secondary .product-categories li > a {
	border-radius: 10px;
	color: var(--ink);
	display: block;
	font-size: .82rem;
	line-height: 1.5;
	max-width: 100%;
	padding: 7px 10px;
	transition: background-color .2s, color .2s;
	width: fit-content;
}

#secondary .product-categories > li > a {
	font-weight: 700;
}

#secondary .product-categories li > a:hover,
#secondary .product-categories li > a:focus {
	background: var(--soft);
	color: var(--cd);
}

/* Selected category, and every parent whose sub-categories are showing (the current branch, or one opened with its arrow):
   no fill, just a grey frame around the name (same look as the selected sub-category) */
#secondary .product-categories li.current-cat > a,
#secondary .product-categories li.current-cat-parent:not(.tsm-shut) > a,
#secondary .product-categories li.cat-parent.tsm-open > a {
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--line);
	color: var(--ink);
	-webkit-tap-highlight-color: transparent;
}

#secondary .product-categories li > a {
	-webkit-tap-highlight-color: transparent;
}

/* Product counts "(5)" are hidden in the category list. */
.product-categories .count {
	display: none;
}

#secondary .product-categories ul.children {
	border-right: 2px solid var(--line);
	list-style: none;
	margin: 2px 14px 8px 0;
	padding: 0 10px 0 0;
}

#secondary .product-categories ul.children > li > a {
	font-weight: 400;
}

#secondary .product_list_widget,
#secondary .widget_post_views_counter_list_widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#secondary .product_list_widget li,
#secondary .widget_post_views_counter_list_widget li {
	border-radius: 12px;
	margin: 0;
	overflow: visible;
	padding: 10px;
	transition: background-color .2s;
	white-space: normal;
}

/* "Most viewed" widget: the plugin prints the image as plain text outside the link, so the title link is stretched over the whole row. */
#secondary .widget_post_views_counter_list_widget li {
	position: relative;
}

#secondary .widget_post_views_counter_list_widget .post-title::after {
	content: "";
	inset: 0;
	position: absolute;
}

#secondary .product_list_widget li + li,
#secondary .widget_post_views_counter_list_widget li + li {
	border-top: 1px dashed var(--line);
}

#secondary .product_list_widget li:hover,
#secondary .widget_post_views_counter_list_widget li:hover {
	background: var(--soft);
}

#secondary .widget_post_views_counter_list_widget .post-thumbnail {
	flex: 0 0 56px;
	line-height: 0;
	margin: 0;
}

#secondary .product_list_widget li > a,
#secondary .widget_post_views_counter_list_widget li,
#secondary .widget_post_views_counter_list_widget .post-title {
	align-items: center;
	color: var(--ink);
	display: flex;
	font-size: .8rem;
	font-weight: 600;
	gap: 10px;
	line-height: 1.6;
}

#secondary .product_list_widget li > a img,
#secondary .widget_post_views_counter_list_widget .post-thumbnail img {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 10px;
	box-shadow: none;
	display: block;
	flex: 0 0 56px;
	float: none;
	height: 56px;
	margin: 0;
	object-fit: contain;
	width: 56px;
}

#secondary .product_list_widget .product-title,
#secondary .widget_post_views_counter_list_widget .post-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	white-space: normal;
}

#secondary .product_list_widget li > .amount,
#secondary .product_list_widget li > ins {
	color: var(--cd);
	display: block;
	font-size: .8rem;
	font-weight: 700;
	margin: 4px 66px 0 0;
}

#secondary .product_list_widget .star-rating {
	float: none;
	margin: 4px 66px 0 0;
}

.sp-easy-accordion.sp-ea-one .sp-ea-single {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	margin-bottom: 12px;
	overflow: hidden;
	transition: box-shadow .25s, border-color .25s;
}

.sp-easy-accordion.sp-ea-one .sp-ea-single.ea-expand {
	border-color: rgba(0, 168, 112, .35);
	box-shadow: var(--sh2);
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header {
	margin: 0;
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
	align-items: center;
	background: #fff;
	border: 0;
	color: var(--ink);
	display: flex;
	font-size: .9rem;
	font-weight: 700;
	gap: 12px;
	line-height: 1.7;
	padding: 14px 16px;
	transition: background-color .2s, color .2s;
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a:hover,
.sp-ea-one.sp-easy-accordion .sp-ea-single.ea-expand .ea-header a {
	background: #f1f4f7;
	color: var(--cd);
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a .ea-expand-icon {
	align-items: center;
	background: #e8ecf1;
	border-radius: 50%;
	color: var(--cd);
	display: inline-flex;
	flex: 0 0 26px;
	font-size: 11px;
	height: 26px;
	justify-content: center;
	margin: 0;
	padding: 0;
	transition: background-color .2s, color .2s;
	width: 26px;
}

.sp-ea-one.sp-easy-accordion .sp-ea-single.ea-expand .ea-header a .ea-expand-icon {
	background: #00a870;
	color: #fff !important; /* beats the plugin's inline #sp-ea-ID rule (colour #444) */
}

.sp-easy-accordion .sp-ea-single .ea-body {
	background: #fff;
	border-radius: 0;
	border-top: 1px solid var(--line);
	color: #334155;
	line-height: 2;
	padding: 14px 18px 16px;
}

.sp-easy-accordion .sp-ea-single .ea-body p:last-child {
	margin-bottom: 0;
}

.archive .page-header .page-title::after,
.search .page-header .page-title::after {
	background: var(--c);
	border-radius: 4px;
	content: "";
	display: block;
	height: 4px;
	margin: .45em auto 0;
	width: 56px;
}

body:not(.home) .page-header {
	margin-bottom: 1.2em;
}

body.page:not(.home) .panel-content .entry-title,
body.page:not(.tsv2-front-page) .entry-title {
	margin-top: 0;
	padding-top: 0;
}

body:not(.home) .entry-header {
	margin-bottom: .8em;
}

body:not(.home) .site-content .wrap {
	padding-bottom: 0;
}

body:not(.home) #content.site-content {
	padding-bottom: 2.5em;
}

body:not(.home) .has-sidebar #secondary,
body:not(.home) #secondary {
	margin-bottom: 0;
	padding-bottom: 0;
}

body:not(.home) #secondary .widget:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 59.99em) {
	body:not(.home) #content.site-content {
		padding-bottom: 2em;
		padding-top: 0;
	}
}

.entry-title:not(:first-child) {
	background: linear-gradient(var(--c), var(--c)) right center / 4px 50% no-repeat, var(--soft);
	border-radius: 10px 0 0 10px; /* right side (where the green bar is) stays square */
	border-right: 0;
}

#secondary .product-categories ul.children {
	border-radius: 0;
}

#secondary .product-categories ul.children {
	padding-right: 14px;
	position: relative;
}

#secondary .product-categories ul.children::before,
#secondary .product-categories ul.children::after {
	background: var(--line);
	content: "";
	height: 2px;
	position: absolute;
	right: -2px;
	width: 10px;
}

#secondary .product-categories ul.children::before {
	top: 0;
}

#secondary .product-categories li.current-cat > ul.children::before,
#secondary .product-categories li.current-cat-parent > ul.children::before {
	display: none;
}

#secondary .product-categories ul.children::after {
	bottom: 0;
}

#secondary .product-categories ul.children > li.current-cat {
	overflow: visible;
}

#secondary .product-categories ul.children > li.current-cat::before {
	background: var(--line);
	content: "";
	height: 2px;
	left: 100%;
	position: absolute;
	top: 16px;
	width: 14px;
}

#secondary .product-categories ul.children li.current-cat > a {
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--line);
	color: var(--ink);
}

@media screen and (max-width: 59.99em) {
	.entry-content .post-views,
	.post-views.content-post {
		display: block;
		margin: 1em 0;
		padding: 0 .9rem;
	}
}

body:not(.home) .site-description {
	color: #475569;
	font-weight: 600;
}

body:not(.home) .breadcrumbs,
body:not(.home) #breadcrumb {
	font-size: .76rem;
	line-height: 1.5;
	margin: 0 0 .55em;
	padding: .25em .9em;
}

.archive .page-header .page-title::after,
.search .page-header .page-title::after {
	height: 3px;
	margin-top: .3em;
	width: 44px;
}

body:not(.home) .page-header {
	margin-bottom: .8em;
}

@media screen and (max-width: 59.99em) {
	body:not(.home) .custom-header-media {
		background: transparent;
	}
	body:not(.home) .site-header,
	body:not(.home) .navigation-top {
		margin-bottom: 6px;
	}
	body:not(.home) .page-title {
		font-size: 1.35rem;
		line-height: 1.4;
	}
}

@media screen and (min-width: 60em) {
	body:not(.home) .site-header {
		margin-bottom: 10px;
	}
	body:not(.home) #content.site-content {
		padding-top: .4em;
	}
}

/* Page-builder blocks with an inline brand-green background and white text: use the darker green (contrast 4.5:1). */
.entry-content [style*="background: #00a870"],
.entry-content [style*="background:#00a870"],
.entry-content [style*="background-color: #00a870"],
.entry-content [style*="background-color:#00a870"] {
	background: #00a870 !important;
}

/* Related posts heading (Related Posts by Taxonomy): same look as the related-products heading */

.rpbt_shortcode > h3 {
	align-items: center;
	color: var(--ink);
	display: flex;
	font-size: 1.3rem;
	font-weight: 800;
	gap: .7em;
	line-height: 1.5;
	margin: 1.6em 0 1em;
}

.rpbt_shortcode > h3::before {
	background: linear-gradient(var(--c), var(--cd));
	border-radius: 999px;
	content: "";
	flex: none;
	height: 1.35em;
	width: 6px;
}

.rpbt_shortcode > h3::after {
	background: linear-gradient(to left, var(--line), rgba(229, 233, 239, 0));
	content: "";
	flex: 1;
	height: 2px;
}

@media screen and (max-width: 59.99em) {
	.rpbt_shortcode > h3 {
		font-size: 1.1rem;
	}
}

/* Sidebar product categories: collapsible sub-categories (toggle button added by a small footer script).
   Branches that contain the current category start open, the others closed; without JS everything stays open. */

.js #secondary .product-categories li.cat-parent:not(.current-cat):not(.current-cat-parent):not(.tsm-open) > ul.children,
.js #secondary .product-categories li.cat-parent.tsm-shut > ul.children {
	display: none;
}

#secondary .product-categories li.cat-parent > a {
	max-width: calc(100% - 38px);
}

/* A long category name never runs under the toggle button: it is cut with an ellipsis at the end of its own box */
#secondary .product-categories li > a {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#secondary .tsm-cat-toggle {
	-webkit-tap-highlight-color: transparent;
	background: transparent;
	border: 0;
	color: var(--cd);
	cursor: pointer;
	height: 34px;
	left: 2px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	width: 34px;
}

/* ::before = soft round background, ::after = rounded chevron (SVG mask, no icon font) */

#secondary .tsm-cat-toggle::before {
	background: #eceff3;
	border-radius: 50%;
	content: "";
	bottom: 0;
	height: 24px;
	left: 0;
	margin: auto;
	right: 0;
	top: 0;
	position: absolute;
	transition: background-color .2s;
	width: 24px;
}

#secondary .tsm-cat-toggle::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	background: currentColor;
	content: "";
	bottom: 0;
	height: 14px;
	left: 0;
	margin: auto;
	right: 0;
	top: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	position: absolute;
	transition: transform .25s;
	width: 14px;
}

#secondary .tsm-cat-toggle[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

#secondary .tsm-cat-toggle[aria-expanded="true"]::before {
	background: #dfe4ea;
}

@media (hover: hover) {
	#secondary .tsm-cat-toggle:hover::before {
		background: #00a870;
	}

	#secondary .tsm-cat-toggle:hover {
		color: #fff;
	}
}

/* Separate rules: a browser without :focus-visible would drop a combined selector list */
#secondary .tsm-cat-toggle:focus-visible::before {
	background: #00a870;
}

#secondary .tsm-cat-toggle:focus-visible {
	color: #fff;
	outline: 0;
}

/* ==========================================================================
   Blog / archive / search: post cards in a grid + modern pagination
   (card markup: article > .shadowitem > .postitem-image, .postitem-text, header.entry-header)
   ========================================================================== */

.blog .site-main > article,
.archive .site-main > article,
.search .site-main > article {
	float: none !important;
	margin: 0 0 20px;
	padding: 0 !important;
	width: auto !important;
}

/* Two columns on tablets and desktops; the breadcrumbs, page header and pagination span the full row.
   (Browsers without :has() simply show one card per row.) */

@media screen and (min-width: 40em) {
	.blog .site-main:has(> article),
	.archive .site-main:has(> article),
	.search .site-main:has(> article) {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.blog .site-main:has(> article) > :not(article),
	.archive .site-main:has(> article) > :not(article),
	.search .site-main:has(> article) > :not(article) {
		grid-column: 1 / -1;
	}

	.blog .site-main:has(> article) > article,
	.archive .site-main:has(> article) > article,
	.search .site-main:has(> article) > article {
		margin: 0;
	}
}

/* Desktop: three columns */

@media screen and (min-width: 60em) {
	.blog .site-main:has(> article),
	.archive .site-main:has(> article),
	.search .site-main:has(> article) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.site-main > article > .shadowitem {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	transition: border-color .25s, box-shadow .25s;
}

@media (hover: hover) {
	.site-main > article > .shadowitem:hover {
		border-color: rgba(0, 168, 112, .55);
		box-shadow: 0 0 0 1px rgba(0, 168, 112, .25), 0 4px 14px rgba(0, 168, 112, .12);
	}
}

.site-main > article > .shadowitem > .postitem-image {
	float: none;
	order: 1;
	padding: 0;
	width: 100%;
}

.site-main > article > .shadowitem .post-thumbnail {
	display: block;
	margin: 0;
}

.site-main > article > .shadowitem .post-thumbnail a {
	display: block;
}

.site-main > article > .shadowitem .post-thumbnail img {
	aspect-ratio: 1 / 1;
	border-radius: 0;
	display: block;
	height: auto;
	margin: 0;
	object-fit: cover;
	width: 100%;
}

.site-main > article > .shadowitem > .entry-header {
	order: 2;
	padding: 14px 16px 0 !important;
}

.site-main > article > .shadowitem > .entry-header .entry-meta:empty {
	display: none;
}

.site-main > article > .shadowitem > .entry-header .entry-title {
	background: none;
	border-radius: 0;
	color: var(--ink);
	font-size: 1.02rem;
	font-weight: 800;
	height: auto;
	line-height: 1.8;
	margin: 0;
	overflow: visible;
	padding: 0;
	text-align: right;
	white-space: normal;
}

.site-main > article > .shadowitem > .entry-header .entry-title a {
	color: var(--ink);
}

.site-main > article > .shadowitem > .entry-header .entry-title a:hover,
.site-main > article > .shadowitem > .entry-header .entry-title a:focus {
	color: var(--cd);
}

.site-main > article > .shadowitem > .postitem-text {
	display: flex;
	flex: 1;
	flex-direction: column;
	float: none;
	font-size: .85rem;
	order: 3;
	padding: 6px 16px 16px;
	width: 100%;
}

.site-main > article > .shadowitem > .postitem-text > p:first-child {
	-webkit-box-orient: vertical;
	color: var(--mut);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-height: 1.95;
	margin: 0;
	overflow: hidden;
	padding-left: 0; /* the global p rule adds 1em on both sides; the card already has its own padding, so the text was narrower than the title */
	padding-right: 0;
	text-align: start; /* justified text leaves wide gaps between the words in a narrow card (and when the page is zoomed) */
}

.wp-block-media-text__content p {
	text-align: start;
}

.site-main > article > .shadowitem > .postitem-text > .link-more {
	float: none;
	margin: auto auto 0 0; /* button sits at the bottom, on the left */
	padding: 14px 0 0;
}

.site-main > article > .shadowitem > .postitem-text .more-link.button {
	border-radius: 999px;
	font-size: .8rem;
	min-height: 0;
	padding: .55em 1.3em;
}

.site-main > article > .shadowitem > .entry-content:empty {
	display: none;
}

/* Post pagination (the_posts_pagination): same look as the product pagination */

.navigation.pagination {
	border-top: 0;
	clear: both;
	float: none;
	margin: 1.4em 0 .6em;
	padding: 0;
	text-align: center;
	width: 100%;
}

.navigation.pagination .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.navigation.pagination .nav-links .page-numbers {
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--ink);
	display: inline-flex;
	float: none;
	font-size: .95rem;
	font-weight: 700;
	height: 42px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	min-width: 42px;
	padding: 0 12px;
	text-decoration: none;
	transform: none;
	transition: background-color .2s, border-color .2s, color .2s;
}

.navigation.pagination .nav-links .page-numbers .meta-nav {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}

.navigation.pagination .nav-links a.page-numbers:hover,
.navigation.pagination .nav-links a.page-numbers:focus {
	background: var(--soft);
	border-color: rgba(0, 168, 112, .55);
	color: var(--cd);
}

.navigation.pagination .nav-links span.page-numbers.current {
	background: #00a870;
	border-color: #00a870;
	color: #fff;
}

.navigation.pagination .nav-links span.page-numbers.dots {
	background: transparent;
	border-color: transparent;
	color: var(--mut);
	min-width: 0;
	padding: 0 4px;
}

.navigation.pagination .nav-links a.prev.page-numbers,
.navigation.pagination .nav-links a.next.page-numbers {
	font-size: 0;
	padding: 0;
	position: relative;
	width: 42px;
}

.navigation.pagination .nav-links a.prev.page-numbers .icon,
.navigation.pagination .nav-links a.next.page-numbers .icon {
	display: none;
}

.navigation.pagination .nav-links a.prev.page-numbers::before,
.navigation.pagination .nav-links a.next.page-numbers::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	background: currentColor;
	bottom: 0;
	content: "";
	height: 16px;
	left: 0;
	margin: auto;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	position: absolute;
	right: 0;
	top: 0;
	width: 16px;
}

/* RTL: "next" points left (as drawn), "previous" points right */
.navigation.pagination .nav-links a.prev.page-numbers::before {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

body:not(.rtl) .navigation.pagination .nav-links a.next.page-numbers::before {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

body:not(.rtl) .navigation.pagination .nav-links a.prev.page-numbers::before {
	-webkit-transform: none;
	transform: none;
}

@media screen and (max-width: 40em) {
	.navigation.pagination .nav-links {
		gap: 6px;
	}

	.navigation.pagination .nav-links .page-numbers {
		font-size: .9rem;
		height: 38px;
		min-width: 38px;
		padding: 0 8px;
	}

	.navigation.pagination .nav-links a.prev.page-numbers,
	.navigation.pagination .nav-links a.next.page-numbers {
		width: 38px;
	}
}

/* ==========================================================================
   Previous / next post: two rounded cards with a round chevron button
   ========================================================================== */

.post-navigation {
	clear: both;
	margin: 2.2em 0 1.6em;
}

.post-navigation .nav-links {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0;
}

.post-navigation .nav-links .nav-previous,
.post-navigation .nav-links .nav-next {
	float: none;
	margin: 0;
	text-align: right;
	width: auto;
}

.post-navigation .nav-links .nav-next {
	grid-column: 2;
}

.post-navigation .nav-links a {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	box-sizing: border-box;
	display: block;
	height: 100%;
	position: relative;
	transition: border-color .25s, box-shadow .25s;
}

.post-navigation .nav-links .nav-previous a {
	padding: 14px 62px 14px 16px;
}

.post-navigation .nav-links .nav-next a {
	padding: 14px 16px 14px 62px;
}

@media (hover: hover) {
	.post-navigation .nav-links a:hover {
		border-color: rgba(0, 168, 112, .55);
		box-shadow: 0 0 0 1px rgba(0, 168, 112, .25), 0 4px 14px rgba(0, 168, 112, .12);
	}
}

.post-navigation .nav-subtitle {
	color: var(--cd);
	display: block;
	font-size: .76rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 4px;
}

.post-navigation .nav-title {
	-webkit-box-orient: vertical;
	color: var(--ink);
	display: -webkit-box;
	font-size: .92rem;
	font-weight: 800;
	-webkit-line-clamp: 2;
	line-height: 1.7;
	overflow: hidden;
	position: static;
}

.post-navigation .nav-links .nav-previous .nav-title .nav-title-icon-wrapper,
.post-navigation .nav-links .nav-next .nav-title .nav-title-icon-wrapper {
	display: none;
}

/* clearfix pseudo-elements would become grid cells */
.post-navigation .nav-links::before,
.post-navigation .nav-links::after {
	display: none;
}

/* Round button (::before) with a rounded chevron (::after, SVG mask) */

.post-navigation .nav-links a::before {
	background: rgba(0, 168, 112, .12);
	border-radius: 50%;
	content: "";
	height: 34px;
	margin-top: -17px;
	position: absolute;
	top: 50%;
	transition: background-color .2s;
	width: 34px;
}

.post-navigation .nav-links a::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	background: var(--cd);
	content: "";
	height: 16px;
	margin-top: -8px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	position: absolute;
	top: 50%;
	transition: background-color .2s;
	width: 16px;
}

/* RTL: previous card = button on the right pointing right; next card = button on the left pointing left */

.post-navigation .nav-links .nav-previous a::before {
	right: 14px;
}

.post-navigation .nav-links .nav-previous a::after {
	right: 23px;
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

.post-navigation .nav-links .nav-next a::before {
	left: 14px;
}

.post-navigation .nav-links .nav-next a::after {
	left: 23px;
}

@media (hover: hover) {
	.post-navigation .nav-links a:hover::before {
		background: #00a870;
	}

	.post-navigation .nav-links a:hover::after {
		background: #fff;
	}
}

@media screen and (max-width: 40em) {
	.post-navigation .nav-links {
		grid-template-columns: minmax(0, 1fr);
	}

	.post-navigation .nav-links .nav-next {
		grid-column: 1;
	}
}

/* ==========================================================================
   Big content box: the whole #primary column (posts, pages with a featured
   image, archives, search, 404 ...). Body class .tsm-boxed comes from functions.php
   ========================================================================== */

body.tsm-boxed #primary,
body.tsm-boxed-inner .tsm-box {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	box-shadow: var(--sh);
	box-sizing: border-box;
	margin-bottom: 2em;
	padding: 1.4rem;
	position: relative;
}

body.tsm-boxed #primary::after,
body.tsm-boxed-inner .tsm-box::after {
	clear: both;
	content: "";
	display: table;
}

body.tsm-boxed.has-sidebar:not(.error404) #primary {
	padding-top: 1.4rem !important;
}

body.tsm-boxed #primary > .page-header:first-child {
	padding-top: 0;
}

@media screen and (max-width: 48em) {
	body.tsm-boxed #primary {
		border-radius: 16px;
		padding: 1rem;
	}
}

/* Single posts: previous / next links sit below the box */
body.tsm-boxed-inner .post-navigation {
	margin: 0 0 2em;
}

body.tsm-boxed-inner .tsm-box {
	margin-bottom: 1.2rem;
}

@media screen and (max-width: 48em) {
	body.tsm-boxed-inner .tsm-box {
		border-radius: 16px;
		padding: 1rem;
	}
}

/* Phones: no big box (it only wastes side space) */
@media screen and (max-width: 48em) {
	body.tsm-boxed #primary,
	body.tsm-boxed-inner .tsm-box {
		background: none;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		padding: 0;
	}
	body.tsm-boxed.has-sidebar:not(.error404) #primary {
		padding-top: 0 !important;
	}
	body.tsm-boxed #primary {
		margin-bottom: 1em;
	}
	body.tsm-boxed-inner .tsm-box {
		margin-bottom: 1em;
	}
}

/* Placeholder tile for posts without a featured image (same square size as real thumbnails) */

.site-main > article > .shadowitem .post-thumbnail .tsm-thumb-ph {
	background: linear-gradient(135deg, #eef8f4, #d3eee2);
	color: #00a870;
	display: block;
	position: relative;
	width: 100%;
}

.site-main > article > .shadowitem .post-thumbnail .tsm-thumb-ph::before {
	content: "";
	display: block;
	padding-top: 100%;
}

.site-main > article > .shadowitem .post-thumbnail .tsm-thumb-ph::after {
	background: currentColor;
	bottom: 0;
	content: "";
	height: 34%;
	left: 0;
	margin: auto;
	opacity: .55;
	position: absolute;
	right: 0;
	top: 0;
	width: 34%;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 13h7M9 17h7M9 10h3'/%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' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 13h7M9 17h7M9 10h3'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* ---------- Single post: the h1 is the page title, not a small card title ---------- */
body.single-post .entry-header .entry-title {
	background: none;
	border-radius: 0;
	color: var(--ink);
	font-size: clamp(1.1rem, 1rem + .6vw, 1.45rem);
	font-weight: 800;
	height: auto;
	line-height: 1.6;
	margin: 0 0 .6em;
	overflow: visible;
	padding: 0;
	text-align: right;
	white-space: normal;
}

body.single-post .entry-header .entry-title a {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	vertical-align: baseline;
	white-space: normal;
}

body.single-post .entry-header .entry-meta:empty {
	display: none;
}

/* ==========================================================================
   Post comments: modern cards (comment list, replies and the comment form)
   ========================================================================== */

.comments-area {
	margin-top: 2.2rem;
}

.comments-area .comments-title,
.comments-area .comment-reply-title {
	color: var(--ink);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.8;
	margin: 0 0 1.1rem;
	padding-right: .9rem;
	position: relative;
}

.comments-area .comments-title::before,
.comments-area .comment-reply-title::before {
	background: var(--c);
	border-radius: 4px;
	bottom: .35em;
	content: "";
	position: absolute;
	right: 0;
	top: .35em;
	width: 4px;
}

.comments-area .comment-list li {
	margin: 0 0 .9rem;
}

.comments-area .comment-body {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: var(--sh);
	margin: 0;
	padding: 1rem 1.1rem;
}

.comments-area .bypostauthor > .comment-body {
	border-color: rgba(0, 168, 112, .4);
}

.comments-area .comment-meta {
	align-items: center;
	display: flex;
	gap: .7rem;
	margin: 0 0 .7rem;
}

.comments-area .comment-author {
	align-items: center;
	display: flex;
	font-size: .95rem;
	gap: .7rem;
	margin: 0;
}

.comments-area .comment-author .avatar,
.comments-area .children .comment-author .avatar,
.comments-area .bypostauthor > .comment-body > .comment-meta > .comment-author .avatar {
	border: 0;
	border-radius: 50%;
	flex: 0 0 auto;
	height: 44px;
	left: auto;
	padding: 0;
	position: static;
	width: 44px;
}

.comments-area .comment-author .avatar,
.comments-area .children .comment-author .avatar {
	display: none;
}

/* Soft round person icon next to the name (same as the product reviews) */

.comments-area .comment-author::before {
	background: var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007d55' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.6'/%3E%3Cpath d='M4.8 20c.9-3.6 3.8-5.6 7.2-5.6s6.3 2 7.2 5.6'/%3E%3C/svg%3E") center / 56% no-repeat;
	border-radius: 50%;
	content: "";
	flex: 0 0 auto;
	height: 44px;
	width: 44px;
}

.comments-area .children .comment-author::before {
	height: 38px;
	width: 38px;
}

/* Comment of a site administrator ("کارشناس تصمیم سبز"): the company logo (inline symbol, no extra request) in the circle instead of the person icon */
.comments-area .tsm-expert > .comment-body .comment-author::before {
	display: none;
}

.comments-area .tsm-expert .comment-author .fn {
	align-items: center;
	display: flex;
	gap: .7rem;
}

.comments-area .tsm-expert-ico {
	background: var(--soft);
	border-radius: 50%;
	box-sizing: border-box;
	flex: 0 0 44px;
	height: 44px;
	overflow: visible; /* like the other logo icons: never clip the outer curve at the edge of the icon box */
	padding: 7px;
	width: 44px;
}

.comments-area .children .tsm-expert-ico {
	flex-basis: 38px;
	height: 38px;
	padding: 6px;
	width: 38px;
}

.comments-area .comment-author .fn,
.comments-area .comment-author .fn a {
	color: var(--ink);
	font-style: normal;
	font-weight: 800;
}

.comments-area .comment-metadata {
	font-size: .75rem;
	margin-right: auto;
}

.comments-area .comment-content {
	color: #334155;
	font-size: .92rem;
	line-height: 2;
}

.comments-area .comment-content p {
	margin: 0 0 .6rem;
	padding: 0;
}

.comments-area .comment-content > :last-child {
	margin-bottom: 0;
}

.comments-area .reply {
	margin-top: .7rem;
}

.comments-area .comment-reply-link {
	align-items: center;
	background: var(--soft);
	border-radius: 999px;
	color: var(--cd);
	display: inline-flex;
	font-size: .8rem;
	font-weight: 700;
	gap: .4em;
	padding: .35em 1em;
	transition: background-color .2s, color .2s;
}

.comments-area .comment-reply-link:hover,
.comments-area .comment-reply-link:focus {
	background: #00a870;
	color: #fff;
}

.comments-area .comment-reply-link .icon {
	height: 1em;
	left: auto;
	position: static;
	width: 1em;
}

.comments-area .comment-reply-link:hover .icon {
	color: #fff;
}

.comments-area .comment-list .children {
	border-right: 2px solid var(--line);
	margin: .9rem .8rem 0 0;
	padding-right: .8rem;
}

.comments-area .comment-awaiting-moderation {
	color: var(--cd);
	font-size: .85rem;
	font-style: normal;
}

/* Comment form */

.comments-area .comment-respond {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: var(--sh);
	margin-top: 1.4rem;
	padding: 1.2rem 1.2rem .4rem;
}

.comments-area .comment-form {
	display: grid;
	gap: 0 1rem;
	grid-template-columns: 1fr;
}

@media screen and (min-width: 48em) {
	.comments-area .comment-form {
		grid-template-columns: 1fr 1fr;
	}

	.comments-area .comment-form .comment-notes,
	.comments-area .comment-form .comment-form-comment,
	.comments-area .comment-form .comment-form-cookies-consent,
	.comments-area .comment-form .form-submit {
		grid-column: 1 / -1;
	}
}

.comments-area .comment-form p {
	margin: 0 0 1rem;
	padding: 0;
	width: auto;
}

.comments-area .comment-notes {
	color: var(--mut, #55657a);
	font-size: .82rem;
}

.comments-area .comment-form label {
	color: var(--ink);
	display: block;
	font-size: .85rem;
	font-weight: 700;
	margin-bottom: .35rem;
}

.comments-area .comment-form input[type="text"],
.comments-area .comment-form input[type="email"],
.comments-area .comment-form input[type="url"],
.comments-area .comment-form textarea {
	background: #f8fafc;
	border: 1px solid var(--line);
	border-radius: 12px;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--ink);
	font: inherit;
	padding: .7rem .9rem;
	width: 100%;
}

.comments-area .comment-form textarea {
	min-height: 8.5rem;
	resize: vertical;
}

.comments-area .comment-form input[type="text"]:focus,
.comments-area .comment-form input[type="email"]:focus,
.comments-area .comment-form input[type="url"]:focus,
.comments-area .comment-form textarea:focus {
	background: #fff;
	border-color: var(--c);
	box-shadow: 0 0 0 3px rgba(0, 168, 112, .16);
	outline: 0;
}

.comments-area .comment-form .form-submit {
	text-align: right;
}

.comments-area .comment-form .form-submit input[type="submit"] {
	background: var(--btn) !important;
	border: 0;
	border-radius: 10px;
	box-shadow: var(--btn-shadow);
	color: #fff !important;
	cursor: pointer;
	font-size: .92rem;
	font-weight: 800;
	padding: .75rem 2rem;
	transition: background .25s, box-shadow .25s;
	width: auto;
}

.comments-area .comment-form .form-submit input[type="submit"]:hover,
.comments-area .comment-form .form-submit input[type="submit"]:focus {
	background: var(--btn-hover) !important;
	box-shadow: var(--btn-shadow-hover);
}
/* ==========================================================================
   Related posts (Related Posts by Taxonomy, "thumbnails" format):
   every card has the same size whatever the featured image looks like
   (tall, wide, or missing): square image box that crops (object-fit),
   soft placeholder when there is no image, grid rows always line up.
   ========================================================================== */

.rpbt_shortcode .gallery {
	display: grid;
	gap: 1rem 2%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 1.5em;
}

.rpbt_shortcode .gallery::before,
.rpbt_shortcode .gallery::after {
	display: none;
}

.rpbt_shortcode .gallery .gallery-item {
	display: flex;
	flex-direction: column;
	height: auto;
	margin: 0;
	max-width: none;
	width: auto;
}

.rpbt_shortcode .gallery .gallery-icon {
	--tsm-ph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a870' stroke-opacity='.55' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='M21 16l-5-5-8 9'/%3E%3C/svg%3E");
	aspect-ratio: 1 / 1;
	background: var(--soft) var(--tsm-ph) center / 32% no-repeat;
	flex: 0 0 auto;
	overflow: hidden;
	width: 100%;
}

/* a card with no image box at all gets the same placeholder box */
.rpbt_shortcode .gallery .gallery-item:not(:has(.gallery-icon))::before {
	aspect-ratio: 1 / 1;
	background: var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a870' stroke-opacity='.55' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='M21 16l-5-5-8 9'/%3E%3C/svg%3E") center / 32% no-repeat;
	content: "";
	display: block;
	width: 100%;
}

.rpbt_shortcode .gallery .gallery-icon a {
	display: block;
	height: 100%;
	width: 100%;
}

.rpbt_shortcode .gallery .gallery-icon a img {
	height: 100%;
	margin: 0;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.rpbt_shortcode .gallery .gallery-caption {
	flex: 1 1 auto;
}

@media screen and (max-width: 47.99em) {
	.rpbt_shortcode .gallery {
		gap: .8rem 3%;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* Hover: no transparency (the placeholder icon showed through); a gentle zoom inside the card instead */

.rpbt_shortcode .gallery .gallery-icon a img {
	filter: none;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.rpbt_shortcode .gallery .gallery-icon a:hover img,
.rpbt_shortcode .gallery .gallery-icon a:focus img {
	filter: none;
	opacity: 1;
	transform: scale(1.06);
}
/* ==========================================================================
   Empty archive / "nothing here yet" state (template-parts/post/content-none.php)
   ========================================================================== */

.tsm-empty {
	margin: 0 0 1em;
	padding: 1.5em 0 1.5em;
	text-align: center;
}

.tsm-empty .tsm-empty-art {
	margin: 0 auto 1em;
	max-width: 320px;
}

.tsm-empty .tsm-empty-art svg,
.tsm-empty .tsm-empty-art img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
}

.tsm-empty .page-header {
	border: 0;
	margin: 0 0 .5em;
	padding: 0;
}

.tsm-empty .page-title {
	color: var(--ink);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.8;
	margin: 0;
}

.tsm-empty .page-title::after {
	background: var(--c);
	border-radius: 2px;
	content: "";
	display: block;
	height: 3px;
	margin: .6em auto 0;
	width: 48px;
}

.tsm-empty .tsm-empty-text {
	color: var(--mut);
	line-height: 2;
	margin: 0 auto 1.4em;
	max-width: 34em;
}

.tsm-empty .search-form {
	margin: 0 auto 1.4em;
	max-width: 26em;
}

.tsm-empty .tsm-empty-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 0;
}

.tsm-empty .tsm-empty-links .button {
	border-radius: 999px;
	font-size: .85rem;
	min-height: 0;
	padding: .55em 1.4em;
}

@media screen and (max-width: 47.99em) {
	.tsm-empty {
		padding: 1em 0 1.25em;
	}

	.tsm-empty .tsm-empty-art {
		max-width: 240px;
	}

	.tsm-empty .page-title {
		font-size: 1.1rem;
	}
}