/* @override 
	https://www.terranostra.life/portfolio/wp-content/themes/terra-theme/style.css?* */

/*
Theme Name:   	terra nostra, portfolio
Version:      	1.2
Description:	theme for terranostra 
Author:      	Prisca Schmarsow, aka humanum | terranostra.life
Author URI:   	terranostra.life
*/
/* typesetting  */
:root {
  /* Step -2: 11.52px → 12.80px */
  --step--2: clamp(0.72em, calc(0.69em + 0.15vw), 0.80em);
  /* Step -1: 14.40px → 16.00px */
  --step--1: clamp(0.90em, calc(0.86em + 0.18vw), 1.00em);
  /* Step 0: 18.00px → 20.00px */
  --step-0: clamp(1.13em, calc(1.08em + 0.23vw), 1.25em);
  /* Step 1: 22.50px → 25.00px */
  --step-1: clamp(1.41em, calc(1.35em + 0.28vw), 1.56em);
  /* Step 2: 28.13px → 31.25px */
  --step-2: clamp(1.76em, calc(1.69em + 0.35vw), 1.95em);
  /* Step 3: 35.16px → 39.06px */
  --step-3: clamp(2.20em, calc(2.11em + 0.44vw), 2.44em);
  /* Step 4: 43.95px → 48.83px */
  --step-4: clamp(2.75em, calc(2.64em + 0.55vw), 3.05em);
  /* Step 5: 54.93px → 61.04px */
  --step-5: clamp(3.43em, calc(3.29em + 0.69vw), 3.82em);
}
/* --- RESET - Eric Meyer's Reset Reloaded - thanks, Eric :) --- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
address, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display: block;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

/* --- STRUCTURE --- */
* {
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}
html {
   font-size: 100%;
   background: #fff;
   margin: 0;
}
body {
	background: #fff;
	min-height: 100vh;
	font-family: 'Yaldevi', Helvetica, Verdana, system-ui, sans-serif;
	font-size: var(--step--1);
	color: #244345;
	text-rendering: optimizeSpeed;
	line-height: 1.36;
	margin: 0;
}
main {
	min-height: 93vh;
	padding: 6vw 0;
}
main .wrap  {
	max-width: 56em;
	margin: 0 6vw;
}
/*footer .wrap {
	max-width: 56em;
	margin: 0 6vw;
}*/
.page-head .wrap {
	padding-bottom: 0;
}
header .wrap {
	width: 100%;
	max-width: 100%;
}

#content:after {
	content: "";
	display: table;
	table-layout: fixed;
	clear: both;
}
hr {
	display: none;
}
hr + p {
	border-top: 1px dashed #666;
	padding-top: 1em;
	margin-top: 6em;
}

/* breadcrumbs (via YoastSEO) */
/*#breadcrumbs {
	display: block;
	padding: 1ch 0 0 6vw;
	margin: 0 0 2ch 0;
	font-size: .8em;
	border-bottom: 1px dashed rgba(255,255,255,.3);
}
#breadcrumbs a {
	text-decoration: none;
}
#breadcrumbs + div {
	margin-top: 10ch;
}*/

/* --- typography --- */

h1, h2, h3, h4, h5, h6, caption, figcaption {
	text-wrap: balance;
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.25;
	color: #000;
}
.home.wp-singular main h1 {
	font-size: var(--step-4);
	font-weight: 200;
	line-height: 1;
	color: #666;
	position: relative;
	border-bottom: 2px solid #666;
	margin: 0 0 4vw 0;
}
main h1 {
	font-size: var(--step-4);
	font-weight: 200;
	line-height: 1;
	color: #666;
	position: relative;
	border-bottom: 2px solid #666;
	margin: 0 0 .5ch 0;
}
.category-description p {
		font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: var(--step-0);
	margin: 0 0 3ch 0;
}

.newsletter h1 {
	border: 0;
}

.newsletter h1::after {
	content: '';
	display: block;
	width: 80%;
	height: 2px;
	background: #666;
	color: #936ab9;
}


main h2 + p, main h3 + p {
	margin-top: .5em;
}


.wp-singular h1 a:link {
	text-decoration: none;
}
.wp-singular h2 {
	margin: 0;
	border: 0;
	font-size: 2.6em;
	font-weight: 200;
	line-height: 1.1;
}

h2 {
	font-size: var(--step-2);
	font-weight: 300;
	color: #666;
	position: relative;
}

h2.wp-block-heading {
	font-weight: 200;
}
h2.wp-block-heading:after {
	content: '';
	display: block;
	width: 96%;
	height: 1px;
	background: #666;
}

h2#latest-blog-heading {
	margin: 0 0 1ch 0;
}

h3 {
	font-size: var(--step-2);
	font-weight: 300;
	color: #666;
	position: relative
}
h3.wp-block-heading {
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-weight: 200;
}
figure + h3.wp-block-heading {
	margin-top: 2em;
}


/* footer, newsletter signup */
.newsletter-signup h4 {
	display: block;
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: var(--step-2);
	font-weight: 200;
	border-bottom: 1px solid #244345;
}

/* footnotes */
h4.fn {
	display: block;
	margin: 4ch 0 1ch 0;
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: var(--step-1);
	font-weight: 200;
}
ol.footnotes {
	font-size: 1.2em;
	line-height: 1.6;
}
ol.footnotes li {
	margin-bottom: .75em;
}


p + h2.wp-block-heading, ul + h2.wp-block-heading,
p + h3.wp-block-heading, ul + h3.wp-block-heading  {
	margin: 1.5em 0 .5em 0;
}

p {
	margin: 0 0 1em 0;
	font-size: var(--step-0);
	font-weight: 400;
	line-height: 1.5;
}

ul {
	list-style: square;
	margin-bottom: 1.5ch;
	font-size: var(--step-0);
	font-weight: 400;
	line-height: 1.5;

}
ul li {
	margin-bottom: .36em;
}

strong, b {
	font-weight: 600;
}
em {
	font-style: italic;
}

blockquote {
	width: 80%;
	padding: 1em;
	margin: 1em auto;
	border-left: 3px solid #f1f1f1;
}
blockquote p {
	display: block;
	width: 100%;
	font-size: 1.4em;
	font-weight: 100;
	line-height: 1.4;
	color: #676d73;
	margin: 0 0 .5em 0;	
}
cite {
	font-size: .85em;
	font-weight: 400;
	font-style: italic;
}

.wp-block-pullquote {
	padding: 0;
	width: 100%;
	max-width: 26em;
}

.wp-block-pullquote blockquote {
	padding: 2ch 1ch;
	border-left: 2px solid #d77524;
}
.wp-block-pullquote blockquote p {
	font-size: 1.1em;
	line-height: 1.36;
	text-align: left;
	color: #2f1366;
	margin: 0 0 .6em 0;	
}
/* extras */
address {
	font-weight: 400;
	margin-bottom: 1em;
}
abbr,
acronym {
	cursor: help;
}
code, kbd, tt, var, samp, pre {
	font-family: Courier, monospace;
	font-size: .9em;
	background-color: #fafafa;
	padding: .125em .25em;
}
code {
	word-wrap: break-word;
}
pre {
	max-width: 100%;
	font-size: .8em;
	white-space: pre-wrap;
    word-wrap: break-word;
	margin-bottom: 1em;
	padding: 1em;
	border: 1px solid #f1f1f1;
	overflow: auto;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
    top: -0.5em;
}
/* --- --- --- --- --- --- ---
links 
--- --- --- --- --- --- --- */
/* link styling */
a, a:link, a:visited {
    /*text-decoration: none;*/
	color: var(--core-color-slate-dark);
	font-weight: 600;
	text-decoration-color: var(--core-color-slate-light);
	text-decoration-thickness: .125em;
	text-underline-offset: 2px;
}
a:hover, a:active, a:focus {
    text-decoration: underline;
	color: var(--core-color-slate-light);
}

a, a:link, a:visited, a:hover, a:active, a:focus {
	font-weight: 300;	
	text-decoration-thickness: .06em;
}
/* download */
.wp-block-file {
	margin: 12px 0;
}
.wp-block-file *+.wp-block-file__button {
	background: transparent url(images/dl-icon.svg) center left no-repeat;
	background-size: contain;
	padding: 3px 3px 3px 36px;
	border-radius: 0;
}

/* edit link */
a.post-edit-link {
	font-size: .8em;
	font-weight: 500;
	padding: .1em .5em;
	background: #fafafa;
	border-bottom: 2px solid #ccc;
}
/* --- --- --- --- --- --- ---
header 
--- --- --- --- --- --- --- */
header {
/*	border-bottom: 1px solid #ccc;	
	background: url(images/self-portrait-2016.jpg) 12px -24px no-repeat;
	background-size: 164px auto;*/
}
header a:link, header  a:visited {
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: var(--step-4);
	font-weight: 400;
	line-height: 1;
	margin: 0 0 24px 0;
	padding: 3px 24px;
	text-decoration: none;
	display: block;
	color: #000;
	padding: 24px 6vw;
}
header  a:link strong {
	font-weight: 400;
}
header  a:link p {
	font-size: 50%;
	font-weight: 200;
	margin: 0;
	display: none;
}

/* --- --- --- --- --- --- ---
site menu 
--- --- --- --- --- --- --- */
nav li {
	position: relative;
	margin: 0;
}

/* menu links */
nav a:link, nav a:visited { 
	display: block;
	font-size: var(--step-1);
	line-height: 1.1;
	text-decoration: underline;
	text-decoration-thickness: .03em;
	text-underline-offset: 2px;
	text-decoration-color: transparent;
	color: #666;
	margin: 0;
	padding: 3px 24px;
	transition: all .2s ease-in-out;
	color: #333;
	-webkit-transition: text-decoration-color .2s ease-in-out;  
	transition: text-decoration-color .2s ease-in-out;
}
nav a:hover, nav a:active, nav a:focus { 
	display: block;
	color: #000;
	text-decoration-color: #000;
}
/* current highlight */
nav .current-menu-item a:link, nav .current-menu-item a:visited,
nav .current-menu-parent a:link, nav .current-menu-parent a:visited {
	color: #000;
	text-decoration-color: #000;
}
nav .menu .current-menu-item .sub-menu a:link, 
nav .menu .current-menu-item .sub-menu a:visited,
nav .menu .current-menu-parent .sub-menu a:link, 
nav .menu .current-menu-parent .sub-menu a:visited {
	text-decoration: none;
}

nav .current-menu-parent .sub-menu .current-menu-item a:link,
nav .current-menu-parent .sub-menu .current-menu-item a:visited {
	color: var(--text-tertiary);
	text-decoration: underline;
}

/*nav .current-menu-parent a[rel="toggle"] {
	background: #244345;
	border-bottom: 1px solid #5dbdc1;
}
nav .current-menu-parent:has(.current_page_item) a[rel="toggle"] {
	background: #244345;
	border-bottom: 1px solid #f25e0e;
	border-right: 6px solid #f25e0e;
	margin-right: -3px;
}
nav .current-menu-parent:has(.current_page_item) a[rel="toggle"]:before {
	background: #f25e0e;
	transform: rotate(90deg);
}

nav .current_page_item a:link, nav .current_page_item a:visited {
	background: #244345;
}

nav .current-menu-parent:has(.current_page_item) li:last-of-type a:link {
	border: 0;
	
}
nav .current-menu-parent:has(.current_page_item) ul {
	border-right: 6px solid #f25e0e;
	border-bottom: 1px solid #f25e0e;
	margin-right: -3px;
}*/

/* --- MENU TOGGLE --- */
#menu-toggle {
	display: none;
}
.toggle {
	display: inline-block;
	width: auto;
	position: relative;
	padding-top: 14px;
	text-transform: lowercase;
	font-size: 1.1em;
	line-height: 1;
	color: #333;
	margin:  0 6vw;
}
.toggle:hover, 
.toggle:active, 
.toggle:focus {
	cursor: pointer;
	color: #333;
}
/* show/hide menu */
#menu-toggle + .toggle + .menu {
	display: none;
}
#menu-toggle:checked + .toggle + .menu {
	display: block;
}
/* 3 lined toggle vis  */
.toggle strong {
	position: absolute;
	display: block;
	min-width: 8em;
	top: 8px;
	left: 24px;
	font-size: var(--step-1);
	color: #333;
}
.toggle:hover strong {
	color: #000;
}
.toggle [class*='line-'] {
	background: #333;
	display: block;
	border-radius: 3px;
	height: 2px;
	width: 18px;
	margin: 0 0 4px 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .2s ease all;
	-moz-transition: .2s ease all;
	-o-transition: .2s ease all;
	transition: .2s ease all;
}
.toggle:hover [class*='line-'] {
	background: #333;
}
#menu-toggle:checked + .toggle .line-top {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
}
#menu-toggle:checked + .toggle .line-mid {
	opacity: 0;
}
#menu-toggle:checked + .toggle .line-bot {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: 0 90%;
	-moz-transform-origin: 0 90%;
	-o-transform-origin: 0 90%;
	transform-origin: 0 90%;
}
/* sub menu toggles */
nav ul li a[rel="toggle"]::before {
    content: ' ';
    display: inline-block;
    width: 14px;
    height: 14px;
	margin: 0 10px 0 0;
    border: 0;
    background: #fff;
    clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
    transform-origin: center;
    transition: transform .2s ease-out;
    transform: rotate(45deg);
}
nav ul li a[rel="toggle"]:hover::before {
	background: #333;
	transform: rotate(90deg);	
}

/* style the submenu */
.sub-menu {
	list-style: none;
    z-index: 1000; 
	border-left: 1px solid #333;
	margin: 0 0 12px 24px;
	padding: 3px 0;
}
.sub-menu li a:link {
	font-size: var(--step--2);	
	line-height: 1;
	padding: 3px 12px;
}




/* --- --- --- --- --- --- ---
homepage
--- --- --- --- --- --- --- */
/* blog posts */
.homepage-latest-blog {
	margin-top: 3em;
	padding-top: 2em;
	border-top: 1px solid #eee;
}

.blog-grid {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.blog-grid + h3 {
	margin-top: 1em;
}

.blog-item {
	border-radius: 0;
	border: 1px solid #ddd;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	position: relative;
	padding: 0 0 2em 0;
    text-decoration: none;
}

.blog-thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1/1;
	margin: 0 0 12px 0;
}
.blog-thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1/1;
}

.blog-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	
	transition: transform 0.3s ease;
}
.blog-thumbnail:hover img {
	transform: scale(1.05);
}

.blog-title {
    margin: 0 0 0.5rem 0;
	padding: 0 12px;
    font-weight: 400;
    font-size: 1.2em!important;
	line-height: 1.2;
	text-align: left;
	color: #6c757d;
    text-decoration: none;
}

.blog-item time {
    margin: 0 0 0.5rem 0;
	padding: 0 12px;
    font-weight: 400;
    font-size: 1em!important;
	text-align: left;
	color: #6c757d;
    line-height: 1.3;
    text-decoration: none;
	position: absolute;
	bottom: 0;
}

/* collections */
.recent-collections {
	margin: 3em 0;
	padding-top: 2em;
	border-top: 1px solid #eee;
}

.collections-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
	gap: 2em;
	margin: 0 0 0 0;
}

.collection-item {
	border-radius: 0;
	border: 1px solid #ddd;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.collection-item:hover {
	/*transform: translateY(-5px);*/
	/*box-shadow: 0 8px 25px rgba(0,0,0,0.1);*/
}

.collection-placeholder {
	background: #f8f9fa;
	border: 2px dashed #dee2e6;
}

.placeholder-content {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #6c757d;
	font-size: 0.9em;
	font-weight: 500;
}

.collection-thumbnail {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1/1;
}

.collection-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.collection-thumbnail:hover img {
	transform: scale(1.05);
}

.collection-content {
	padding: 1em;
}

.collection-content h3 {
	margin: 0 0 0.5em 0;
	font-size: 1.6em;
	line-height: 1.3;
}

.collection-content h3 a {
	text-decoration: none;
	color: inherit;
}

.collection-content h3 a:hover {
	color: #007cba;
}

.collection-meta {
	color: #666;
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: 0.9em;
	position: relative;
	background: #fff;
	z-index: 201;
	padding: 6px 0;
}
.collection-meta .last-addition {
	display: block;
}

.collection-excerpt {
	color: #555;
	line-height: 1.5;
}
.view-all a:link, .view-all a:visited {
	display: inline-block;
	margin: 1ch 0;
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: 1.3em;
	line-height: 1;
	font-weight: bold;
	color: #666666;
	padding: 6px 52px 2px 0;
	background: url(images/chevron-right.svg) no-repeat;
	background-position: 88% center;
	background-size: contain; 
	transition: background-position .2s ease-in-out;
}
.view-all a:hover, .view-all a:active, .view-all a:focus-visible {
	color: #000;
	background: url(images/chevron-right.svg) no-repeat;
	background-position: 100% center;
}

/*.view-all-collections {
	text-align: center;
	margin-top: 2em;
}

.view-all-collections .button {
	display: inline-block;
	padding: 12px 24px;
	background: #007cba;
	color: white;
	text-decoration: none;
	border-radius: 4px;
	transition: background-color 0.2s ease;
}

.view-all-collections .button:hover {
	background: #005a87;
}*/

@media (max-width: 768px) {
	.collections-grid {
		grid-template-columns: 1fr;
		gap: 2em;
	}
}


/* --- --- --- --- --- --- ---
category : collections
--- --- --- --- --- --- --- */
.collections-archive .collection-post {
	position: relative;
	margin-bottom: 2rem;
	transition: transform 0.2s ease;
}

.collections-archive .collection-post:hover {
	/*transform: translateY(-2px);*/
}

.post-thumbnail {
	position: relative;
	overflow: hidden;
	margin-bottom: 1rem;
}

.post-thumbnail img {
	width: 100%;
	height: auto;
	transition: transform 0.3s ease;
}

.collection-post:hover .post-thumbnail img {
	transform: scale(1.05);
}

.collection-placeholder-thumb {
	aspect-ratio: 1;
	background: #f8f9fa;
	border: 2px dashed #dee2e6;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6c757d;
	font-size: 0.9rem;
	font-weight: 500;
	border-radius: 8px;
}

.collections-archive h2 {
	position: relative;
	z-index: 2000;
	background: #fff;
	transition: color 0.2s ease;
}

.collection-post:hover h2 {
	color: #007cba;
}

/* Grid layout for larger screens */
@media (min-width: 768px) {
	.collections-archive {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 2em;
	}
	
	.collections-archive .collection-post {
		margin-bottom: 0;
	}
}

@media (min-width: 1200px) {
	.collections-archive {
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
		gap: 2.5em;
	}
}

/* --- --- --- --- --- --- ---
latest shop additions 
--- --- --- --- --- --- --- */
.homepage-latest-products {
	margin: 6em 0 0 0;
}
.view-all-products a:link {
	 font-weight: bold;
	color: #333;
	text-decoration-color: #333;
	text-decoration-thickness: .125em;
	text-underline-offset: 4px;
}


/* --- --- --- --- --- --- ---
category page + links 
--- --- --- --- --- --- --- */
.category .wrap article {
	display: grid;
	gap: var(--gap, 1em);
	grid-template-columns: repeat(var(--grid-type, auto-fit),  minmax(min(256px, 100%), 1fr));
}
.category .wrap .work a:link, .category .wrap .work a:visited {
	text-decoration: none;
	display: block;
	transition: all .2s ease-in-out;
}
.category .wrap .work a:hover, .category .wrap .work a:active, .category .wrap .work a:focus-visible {
	/*transform: scale(1.08);*/
}
.category .wrap .work a:link h2 {
	text-decoration: none;
	/*margin: .5em;*/
}
.category .wrap .work a:link img {
	margin: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* --- --- --- --- --- --- ---
single post
--- --- --- --- --- --- --- */
.wp-block-file, .wp-block-gallery {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 3em;
}

figure img {
	border: 1px solid #ccc;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding-left: 0;
}

.wp-block-image.offset-right {
	display: block;
	
}
/* image with caption */
figure:has(figcaption) {
	border: 1px solid #7d8f8f;
}
figure:has(figcaption) img {
	margin: 0 0 6px 0;
}
figure figcaption {
	padding: 0 3px;
	margin: 0;
}

/* --- --- --- --- --- --- ---
post meta 
--- --- --- --- --- --- --- */
.meta {
	display: block;
	/*width: 80%;*/
	font-size: .8em;
	padding: .25em 0;
	margin: 0 0 10px 0;
	opacity: .6;
	border-top: 1px solid #ccc;
}
.meta .date {
	font-weight: 400;
}
.meta .date:before,
.meta .comments:before,
.meta .cat-links:before {
	content: "- ";
}


/* --- --- --- --- --- --- ---
blog category 
--- --- --- --- --- --- --- */
.category .wrap article.blog {
	display: block;
}
.blog a.viewpost {
	position: relative;
	display: flow-root;
	margin: 0 0 24px 0;
	text-decoration: none;
	border-bottom: 1px solid #7d8f8f;
}
.blog a.viewpost img {
	float: left;
	margin: 0 1em 0 0;
}
.blog a.viewpost h2 {
	font-size: var(--step-1);
	line-height: 1;
}
.blog a.viewpost p {
	font-size: 1em;
}
.blog a.viewpost .meta {
	padding: 0;
	margin: 0;
	border: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	font-family: 'Newsreader 36pt', Georgia, Times New Roman, Times, serif;
	font-size: 1.1em;
	font-weight: 200;
	line-height: 1;
}


/* --- --- --- --- --- --- ---
artshop notice 
--- --- --- --- --- --- --- */
.shopnotice {
	margin: 3em 0;
	padding-top: 2em;
	border-top: 1px solid #eee;
}
.shopnotice figure, .shopnotice figure img {
	border: 0;
}
@media (min-width: 480px) {
    .shopnotice .entry-content .wp-block-media-text {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		align-items: center;
		gap: 1em;
	}
	.shopnotice .entry-content .wp-block-media-text__media {
		width: 40%;
		flex-grow: 1;
		align-self: center;   

	}
	.shopnotice .entry-content .wp-block-media-text__content {
		width: 56%;
		flex-grow: 1;
		align-self: center;   
	}
}

/* --- --- --- --- --- --- ---
images 
--- --- --- --- --- --- --- */
main img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
}
.wp-caption {
	max-width: 100%;
	margin-bottom: 1.25em;
}
.wp-caption > a {
	display: block;
}
.wp-caption img {
	margin-bottom: 0;
}
.wp-caption-text {
	font-size: .8em;
	font-weight: 400;
	padding:  .3em .5em .2em .5em;
	background: #f9f9f9;
	border-bottom: 2px solid #d4d4d4;
}
.alignleft {
	display: inline;
	float: none;
	margin-top: .35em;
	margin-right: 1em;
}
.alignright {
	display: inline;
	float: none;
	margin-top: .35em;
	margin-left: 1em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-image.offset-right img {
	border: 0;
}


/* --- tabs via plethora block --- */
.plethoraplugins-tabs-container, .pds-accordion__content {
	margin: 0 -1em!important;
}
.pds-js-accordion-controller {
	padding: .75em!important;
	background: #666!important;
}

/* --- --- --- --- --- --- ---
lightbox (firelight) overrides
--- --- --- --- --- --- --- */
#fancybox-outer {
	position: relative;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 20px  rgba(0,0,0,.2)!important;
	-moz-box-shadow: 0 0 20px rgba(0,0,0,.2)!important;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,.2)!important;
	background: #fff;
}
.fancy-ico {
	position: absolute;
	width: 48px;
	height: 48px;
	border-radius: 50%;
}

.fancy-ico span {
	display: block;
	position: relative;
	left: 12px;
	top: 12px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #58595c!important;
	border: 2px solid white;
	box-shadow: 0 0 4px #000;
	transition: transform .25s ease-in-out;
}

#fancybox-close:hover span, #fancybox-next:hover span, body.rtl #fancybox-prev:hover span {
	transform: rotate(0deg)!important;
	transform: scale(1.2)!important;
}

#fancybox-prev:hover span, body.rtl #fancybox-next:hover span {
	transform: rotate(-0deg)!important;
	transform: scale(1.1)!important;

}
#fancybox-img {
	padding: 0;
	margin: 0;
	line-height: 0;
	vertical-align: top;
	max-width: 920px!important;
	max-height: 920px!important
}

/* --- --- --- --- --- --- ---
pagination links 
--- --- --- --- --- --- --- */
.pagination .page-numbers,
.pagination > a {
	display: inline;
	font-size: 1em;
	line-height: 0;
	padding: 2px 6px;
	background: rgba(0,0,0,.036);
	/*bordeR: 1px solid #333;*/
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover,
.pagination .page-numbers:active,
.pagination .page-numbers:focus {
	border-color: #f25e0e;
}
.pagination .page-numbers.next {
	padding-right: 0;
	border: none;
}
.pagination .page-numbers.prev,
.pagination .page-numbers.page {
	padding-left: 0;
	border: none;
}
.pagination .page-numbers.page {
	text-transform: uppercase;
}
.pagination .page-numbers.next:hover,
.pagination .page-numbers.next:active,
.pagination .page-numbers.next:focus,
.pagination .page-numbers.prev:hover,
.pagination .page-numbers.prev:active,
.pagination .page-numbers.prev:focus {
	color: #333;
}
/* --- single - post --- */
.post-navigation {
	width: 100%;
	margin: 4em 0;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}
.post-navigation h2 {
	display: none;
}
.post-navigation a:link {
	display: block;
	font-size: .85em;
	line-height: 1.2;
	color: #ccc;
	text-decoration: none;
}
.post-navigation a strong {
	display: block;
	font-size: 1.1em;
	font-weight: 400;
	
}
.post-navigation .nav-links {
	overflow: hidden;

}
/* previous link */
.post-navigation .nav-links .nav-previous a:link, .post-navigation .nav-links .nav-previous a:visited {
	color: #ccc;
	padding: 12px 12px 12px 64px;
	background: url(images/chevron-left.svg) center left no-repeat;
	background-size: auto 80%; 
	transition: all .2s ease-in-out;
}
.post-navigation .nav-links .nav-previous a:link strong, .post-navigation .nav-links .nav-previous a:visited strong {
	color: #333;
	font-size: 1.2em;
	font-weight: 400;
}
.post-navigation .nav-links .nav-previous a:hover, .post-navigation .nav-links .nav-previous a:active, .post-navigation .nav-links .nav-previous a:focus-visible {
	text-decoration: none;
	background-position-x: -8px;
}
/* next link */
.post-navigation .nav-links .nav-next a:link, .post-navigation .nav-links .nav-next a:visited {
	padding: 12px 64px 12px 12px;
	background: url(images/chevron-right.svg)  98% center no-repeat;
	background-size: auto 80%; 
	transition: all .2s ease-in-out;
}
.post-navigation .nav-links .nav-next a:link strong, .post-navigation .nav-links .nav-next a:visited strong {
	color: #333;
	font-size: 1.2em;
	font-weight: 400;
}
.post-navigation .nav-links .nav-next a:hover, .post-navigation .nav-links .nav-next a:active, .post-navigation .nav-links .nav-next a:focus-visible {
	text-decoration: none;
	background-position-x: 100%;
}
/* --- --- --- --- --- --- ---
videos 
--- --- --- --- --- --- --- */
.video-wrapper {
   position: relative;
   padding-bottom: 56.25%; /* 16:9 */
   padding-top: 25px;
   height: 0;
   max-width: 50vw;
  
}
.video-wrapper iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
video {
	border: 1px solid #ccc;
	 width: 100%;
   height: 100%;

}
.wp-block-video {
	margin-bottom: 4ch;
}

/* --- --- --- --- --- --- ---
woocommerce overrides 
--- --- --- --- --- --- --- */
/* shop page */
.woocommerce div.product .product_title {
	clear: none;
	margin: 0!important;
	padding: 0;
	line-height: 1;
}
.woocommerce div.product div.summary {
	margin-bottom: 2em;
	padding: 0 0 0 1.5em!important;
}
.woocommerce div.product p {
	margin: 0!important;
}
.woocommerce div.product p .amount {
	display: inline!important;
}
.woocommerce ul.products li.product .price {
	display: block;
	font-weight: 400;
	margin-bottom: .5em;
	font-size: .857em;
	color:#61676f!important;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
	padding: .25em 0;
	margin: 0;
	font-size: 1.2em!important;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	color: #61676f;
	font-size: 1.25em
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
	font-size: 100%;
	display: block;
	width: 100%;
	margin: 0;
	line-height: 1;
	cursor: pointer;
	position: relative;
	text-decoration: none;
	overflow: visible;
	padding: .4em;
	font-weight: 400;
	border-radius: 0;
	left: auto;
	color: #515151;
	background-color: rgba(0,0,0,.05);
	border: 0;
	display: inline-block;
	background-image: none;
	box-shadow: none;
	text-shadow: none;
	transition: all .2s ease-in-out;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {
	background-color: rgba(0,0, 0,.4);
	text-decoration: none;
	background-image: none;
	color: #fff;
}

/* options */
.woocommerce div.product form.cart .variations {
	margin: 1em 0;
	border: 0;
	width: 100%
}
/* product page, description */
.woocommerce .summary ol {
	display: block;
	margin: 0 0 2em 0!important;
}
#tab-description p, #tab-descriptionol {
	margin: 0 0 1em 0!important;
}

/* details/toggle with plus icon */
#tab-description details {
	display: block;
	width: 100%;
	margin-bottom: 4em;
	position: relative;
}
#tab-description details summary {
	display: block;
	color: #666;
	font-size: 1.4em;
	margin: 1.4em;
	cursor: pointer; 
}
#tab-description details summary:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: .25em;
    width: .8em;
    min-width: .8em;
    height: .8em;
    background: #666;
    margin-right: .4em;
  clip-path: polygon(20% 0%, 0% 20%, 30% 50%, 0% 80%, 20% 100%, 50% 70%, 80% 100%, 100% 80%, 70% 50%, 100% 20%, 80% 0%, 50% 30%);
    transform-origin: center;
    transition: transform .2s ease-out;
    transform: rotate(45deg);
}

#tab-description details summary:hover:before {
	transform: rotate(0deg);
}
#tab-description details summary:hover {
	color: #000;
}
/* open details */
#tab-description details[open], #tab-description details[open] summary, #tab-description details[open] summary:before {
	border-bottom: 1px solid #666;
}
#tab-description details[open] summary:before {
	transform: rotate(0deg);
}
#tab-description details[open] summary:hover:before {
	background: #000;
}

.woocommerce div.product form.cart .variations label {
	display: block;
	font-size: 1em!important;
	line-height: 1.25;
	font-weight: 700;
	text-align: left;
	margin: .75em .5em .5em 0!important;
}

.woocommerce div.product form.cart .variations select {
	font-size: 1.1em!important;
	max-width: 100%;
	min-width: 75%;
	padding: .5em 2em .5em .5em!important;
	display: inline-block;
	margin: 0 0 .5em 0;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 3em;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
	background-size: 16px;
	-webkit-background-size: 16px;
	background-position: calc(100% - 12px) 50%;
	-webkit-background-position: calc(100% - 12px) 50%
}

.woocommerce div.product form.cart .price {
	display: block;
	font-weight: 700;
	margin-bottom: 1em;
	font-size: 1.6em;

	color:#61676f!important;
	border-bottom: 1px solid #333;
}


.woocommerce .quantity .qty {
	font-size: 1.1em!important;
	width: 3.631em;
	padding: .5em!important;
	text-align: center;
	float: left!important;
}



.woocommerce div.product form.cart .button {
	width: calc(100% - 4em);
	vertical-align: middle;
	float: right;
	background: #58595c;
	font-size: 1.3em;
	padding: .5em;
}
.woocommerce div.product form.cart .button:hover, .woocommerce div.product form.cart .button:active, .woocommerce div.product form.cart .button:focus-visible {
	background: rgba(0,0,0,.4);
	color: #fff;
}

.woocommerce div.product form.cart .reset_variations {
	visibility: hidden;
	font-size: .83em
}

.woocommerce div.product form.cart .wc-no-matching-variations {
	display: none
}

/* art shop */
.shop-main-title {
    font-size: 2.5rem;
    text-align: left;
    margin-bottom: 3rem;
    color: #333;
	letter-spacing: 2px;
}

.product-category-section {
    margin-bottom: 3rem;
}

.main-category-title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #333;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 0;
}

.main-category-title a {
    text-decoration: none;
    color: inherit;
}

.main-category-title a:hover {
    color: #2c5aa0;
}

.child-category-section {
    margin-bottom: 2rem;
}

.child-category-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #555;
}

.child-category-title a {
    text-decoration: none;
    color: inherit;
}

.child-category-title a:hover {
    color: #2c5aa0;
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.product-item {
    border: 1px solid #e0e0e0;
    padding: 0;
    text-align: center;
    transition: all 0.3s ease;
    background: #fff;
}

.product-item:hover {
    transform: scale(1.08);
}

.product-item a {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}

.product-image {
    margin-bottom: 1rem;
}

.product-image img {
    width: 100%;
    height: auto;
    transition: opacity 0.3s ease;
}

.product-item:hover .product-image img {
    opacity: 0.9;
}

.product-details {
    padding: 0 0 .5em 0;
}

.product-title {
    margin: 0 0 0.5rem 0;
	padding: 0 12px;
    font-weight: 400;
    font-size: 1.4em!important;
	text-align: left;
	color: #6c757d;
    line-height: 1.3;
    text-decoration: none;
}

.product-item:hover .product-title {
  
    text-decoration: none;
}

.product-price {
    font-weight: bold;
   color: #6c757d;
    font-size: 1.1em;
	text-align: left;
    margin-bottom: 1em;
	padding: 0 12px;
    text-decoration: none;
}

.variable-indicator {
    font-size: 0.85rem;
    color: #666;
    font-style: italic;
    display: block;
    margin-top: 0.25rem;
	padding: 0 12px;
    text-decoration: none;
	text-align: left;
}

.product-item img {
    width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    .blog-grid, .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .shop-main-title {
        font-size: 2rem;
        margin-bottom: 2rem;
    }
    
    .blog-grid, .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    
    .main-category-title {
        font-size: 1.75rem;
    }
    
    .child-category-title {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .blog-grid, .products-grid {
        grid-template-columns: 1fr;
    }
}

/* product details */
.woocommerce div.product form.cart .reset_variations {
	visibility: hidden;
	padding: 6px;
	font-size: 1em!important;
}
.product_meta {
	padding: 6px 0;
}
.product_meta .posted_in {
	display: none;
}

/* tabbed */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 0;
	border-bottom: 3px solid rgba(0,0,0,.01);
	background: transparent;
	color: #515151;
	display: inline-block;
	position: relative;
	z-index: 0;
	border-radius: 0;
	margin: 0 -5px;
	padding: 0 1em;
	
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li:after {
	display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom: 3px solid #000;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: .5em 0;
	font-weight: 700;
	color: #515151;
	text-decoration: none
}
/* --- --- --- --- --- --- ---
newsletter 
--- --- --- --- --- --- --- */
.wrap.newsletter {
	background: url(images/paper-airplane.png) top right no-repeat;
	background-size: 12vw auto;

}

/* subscription form */
.newsletter-signup {
		padding: 0 0 24px 0;
		background: url(images/paper-airplane.png) top right no-repeat;
	background-size: 100px auto;

}

.newsletter-signup p {
	margin: 0;

	border-bottom: 1px solid #58595c;
}
.tnp-subscription {
	margin-left: 0!important;
}
.tnp input {
	background: #fff!important;
	border: 1px solid #58595c!important;
}
.tnp input.tnp-submit {
	width: 100%!important;
	/*max-width: 260px!important;*/
	background: #58595c!important;
	border: 1px solid #58595c!important;
	margin: 12px 0 0 0!important;
	font-size: 1.3em;
	padding: .5em;
}
.tnp input.tnp-submit:hover, .tnp input.tnp-submit:active, .tnp input.tnp-submit:focus-visible {
	background: #fff!important;
	border: 1px solid #58595c!important;
	color: #58595c!important;
	cursor: pointer;
}

/* --- --- --- --- --- --- ---
footer 
--- --- --- --- --- --- --- */
footer {
	font-size: var(--step--1);
	line-height: 1.6;
	border-top: 2px solid #244345;
	margin: 4em 0 0 0;
	padding: 2em 4vw;
}
footer p {
	margin: 24px 0;
	color: #244345;
}
footer p.copy {
	border-top: 1px solid #244345;
}

footer .footer-menu ul {
	list-style: none;
}
footer .footer-menu ul li {
	display: block;
	margin: 0 0 .35em 0;
}

/* cookie popup */
#cookie-law-info-bar {
	width: 270px !important;
	text-align: left;
	padding: 13px 14px 8px 14px !important;
}

#cookie-law-info-bar span {
	display: block;
	font-size: 1.03em;
	font-weight: 400;
	line-height: 1.45;
}
#cookie-law-info-bar .cli_settings_button {
	margin: 6px 20px 0 0 !important;
	
}
/* --- --- --- --- --- --- ---
media queries 
--- --- --- --- --- --- --- */
@media (min-width: 400px)  {

}
@media (min-width: 600px)  {
/* --- post navigation --- */
	.post-navigation .nav-links > div:nth-last-child(n+2):nth-last-child(-n+2):first-child, .post-navigation .nav-links > div:nth-last-child(n+2):nth-last-child(-n+2):first-child ~ div {
		width: 50%;
		float: left;
	}
	.post-navigation .nav-links > div:nth-child(2) {
		border-left: 1px solid #3b0cae;
		border-top: none;
	}
	.post-navigation .nav-links .nav-next a {
		text-align: right;
	}
	footer {
		font-size: var(--step--1);
		line-height: 1.6;
		border-top: 2px solid #666;
		margin: 4em 0 0 0;
		padding: 2em 0;
	}
	footer .copy {
		text-align: center;
	}
	.newsletter-signup, .footer-menu {
		margin: 0 6vw;
	}
	
}
@media (min-width: 680px)  {
	header {
		position: absolute;
		width: 30%;
		max-width: 14em;
		/*width: 40%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		border: 0;
		z-index: 200;
		background: url(images/self-portrait-2016.jpg) -16px -24px no-repeat;
		background-size: 184px auto;*/
	}	
	header a:link, header a:visited {
		padding: 140px 0 24px 24px;
	}
	/* menu toggle */
	#menu-toggle, #menu-toggle + .toggle, #menu-toggle:checked + .toggle {
		display: none;
	}
	#menu-toggle + .toggle + .menu, #menu-toggle:checked + .toggle + .menu {
		display: block;
	}
	/* menu links */
	nav a:link, nav a:visited { 
		padding: 3px 12px 3px 24px;
	}
	/* breadcrumbs (via YoastSEO) */
	#breadcrumbs {
		padding: 0;
		margin-bottom: 1ch;
	}
	main {
		position: relative;
		left: 30%;
		right: 0;
		top: 0;
		bottom: 0;
		width: 60%;
		padding: 140px 3vw 4.4em 3vw;
		margin: 0;
		border-left: 1px dotted #ccc;
	}
	main .wrap {
		margin: 0;
	}
	
	footer {
		position: relative;
		min-height: 12em;
	}
	
	.newsletter-signup {
		width: 50%;
		max-width: 360px;
		margin: 0 auto;
	}
	.footer-menu ul {
		width: 50%;
		max-width: 360px;
		margin: 0 auto;
		padding: 12px 0;
	}
	footer .footer-menu ul li {
		display: block!important;
		width: auto;
		margin: 0 0 .35em 0;
	}
	
	
	footer .footer-menu ul li a:link {
		padding: 0 12px;
	}
	
	
}
@media (min-width: 770px)  {

}
@media (min-width: 820px)  {
	header {
		max-width: 320px;
	}	

	main {
		left: 320px;		
	}
	
	.newsletter-signup {
		width: 50%;
		max-width: 480px;
		margin: 0 auto;
		position: relative;
		overflow: visible;
	}
	.newsletter-signup form {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 1rem;	
	}
	.tnp-field {
		margin: 0!important;
	}
	
	/* inputs side by side */
	.newsletter-signup .tnp-field {
	  flex: 1 1 45%;
	  min-width: 200px;
	}
	
	/* privacy + submit full width */
	.newsletter-signup .tnp-field-privacy-field,
	.newsletter-signup .tnp-field-button {
	  flex: 1 1 100%;
	}

	.newsletter-signup input[type="submit"] {
	  cursor: pointer;
	  transition: background 0.2s ease;
	}
	
	.newsletter-signup input[type="submit"]:hover {
	  background: rgba(0, 0, 0, 0.05);
	}

	
	footer .footer-menu ul {
		width: 100%;
		max-width: 100%;
		text-align: center;
		padding: 12px 0;
	}
	footer .footer-menu ul li {
		display: inline!important;
		width: auto;
		margin: 0 0 .35em 0;
	}
	
	footer .footer-menu ul li a:link {
		padding: 0 12px;
	}
}
@media (min-width: 1200px)  {
	header {
		max-width: 320px;
	}	
	main {
		width: 70%;
	}
	.category main .wrap {
		max-width: 86em;
		margin: 0 6vw 0 0;
	}
	.category .wrap article.blog {
		display: grid;
		gap: var(--gap, 3em);
		grid-template-columns: repeat(var(--grid-type, auto-fit),  minmax(min(330px, 100%), 1fr));
	}

	main, .footer-menu {
		left: 320px;		
	}
	.alignleft {
		display: inline;
		float: left;
		margin-top: .35em;
		margin-right: 1em;
	}
	.alignright {
		display: inline;
		float: right;
		margin-top: .35em;
		margin-left: 1em;
	}
	.aligncenter {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.wp-block-image.offset-right {
		margin-right: -6vw;
	}
}
