body {
	--padIn: 20.5%;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	vertical-align: baseline;
	background: #fff;
	line-height: 1;
	min-height: 100%;
}

main {
	display: grid;
}

.entry-content {
	
/* 	:where(& > *, #comments) { */
	padding-inline: var(--padIn);
/* 	}	 */
	
	padding-block: 1em;
	
	&:not(:has(.woocommerce)) { padding-bottom: 3em; }
	
	/* WP overrides */
	& :is(.wp-block-woocommerce-cart, wp-block-woocommerce-checkout, .wc-block-checkout) { width: unset; }
}


.storeForm { 
	width: 100%;
	display: grid;
	gap: 1em;
	
	h2 {
		text-transform: uppercase;
		font-weight: bold;
	}
	
	.formPsec {
		display: grid;
		gap: 6px;
		
		.entry-content & p {
			display: grid;
			margin: 0;
			width: 100%;
		}
	}
}

.storeBtn {
	padding: 1em 1.5em;
	text-transform: uppercase;
	font-weight: bold;
	width: fit-content;

	&.brandBtn {
		color: #fff;
		background-color: #053d8a;
		background-image: linear-gradient(135deg, transparent 10%, #007ece 90%);
		transition: background-color .5s ease-in-out;

		&:hover {
			color: #fff;
			background-color: #007ece;
		}
	}
	
	&.CTAbtn {
		color: #000;
		background-color: #f80;
		background-image: linear-gradient(45deg, transparent 10%, #fc0 90%);
		transition: background-color .5s ease-in-out;

		&:hover {
			color: #000;
			background-color: #fc0;
		}
	}
}

/* STORE NOTICES */

.storeNotice {
	display: flex;
	height: fit-content;
	font-weight: bold;
	padding: 1em;
	gap: 1.5em;
	align-items: center;
	background-color: var(--bg);
	box-sizing: border-box;
	

	.noticeIcon {
		width: 50px;
		aspect-ratio: 1;
		border-radius: 50%;
		border: 8px solid #fff;
		box-shadow: 5px 5px 10px #0008;
		display: grid;
		position: relative;
	}

	:where(.stripe) {
		background-color: #fff;
	}
}

.storeMessage { 
	--bg: #acf;
	
	.noticeIcon { background-image: linear-gradient(45deg, #043070, #007ece); }
    .stripeWrap { flex-direction: column-reverse; }
}

.storeSuccess {
  --bg: #aca;
	
	.noticeIcon {
    	background-image: linear-gradient(45deg, #050, #4b0);

		& * {
			position: absolute;
		}

		& .stripe {
			width: 45px;
			height: 20px;
			background-color: unset;
			border-style: solid;
			border-color: #fff;
			border-width: 0 0 10px 10px;
			left: 50%;
			bottom: 15%;
			transform-origin: 0 100%;
			rotate: -45deg;
			filter: drop-shadow(5px 5px 5px #0008);
		}
  	}
}

.storeAlert {
  --bg: #fcc;
	
	.noticeIcon { background-image: linear-gradient(45deg, #500, #c00); }
  	.stripeWrap { flex-direction: column; }
	
	& ul {
		padding-left: unset;
	}
}

.storeMessage, .storeAlert {

  .stripeWrap {
    inset: 0;
    display: flex;
    gap: 10px;
    place-items: center;
  }

  & .stripe {
    width: 10px;
    box-shadow: 0 0 8px 2px #0008;

    &:nth-child(1) { aspect-ratio: .4; }
    &:nth-child(2) { 
      aspect-ratio: 1;
      /* border-radius: 50%; */
    }
  }
}

hr {
	border: 0;
	padding-block: .5em;
	margin: 0;
}

.mobilehr { margin: 0; }

body, input, textarea {
	color: #373737;
	font: 15px "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	line-height: 1.625;
}

body { margin: 0; padding: 0; border: 0; }

p, span, h1, h2, h3, h4, h5, h6 { padding-block: 0; margin-block: 0; }

a img {
	border: 0;
}

ul, ol {
	list-style: none;
}

:focus {/* remember to define focus styles! */
	outline: 0;
}

.entry-title,
html:lang(en) .menu-pl,
html:lang(pl) .menu-en {
	display: none
}

/* =Structure
----------------------------------------------- */

.mobile {
	display: none;
}

.desktop {
	display: inherit;
}

#cookiebar {
	z-index: 9999;
	position: fixed;
	display: inline-block;
	width: 100%;
	bottom: 0;
	left: 0;
	clear: both;
	color: white;
  background: #006cbc;
	font-weight: bold;
	text-align: center;
  min-height: 0;
  overflow: hidden;

	& label {
		display: inline-block;
		color: #fff;
		background: #006cbc;
		border: 1px solid white;
		max-width: 30vw;
		padding: 3px 20px;
		margin: 3px 0 3px 15px;
	}

}

#cookiebar label a, #cookies label a:hover {
	color: white;
}

#gotit:hover {
	background: white;
	border: 1px solid white;
	color: #007ece;
}

.floatleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}

.floatright {
	width: 60%;
	height: auto;
	float: right;
	margin-left: 20px;
	margin-bottom: 0.5em;
}

.item-second {
		margin-bottom: 1em;
	}

.grid2x {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 30px;
}

.halfleft {
	width: calc(50% - 15px);
	height: auto;
	padding-right: 15px;
	float: left;
}

.halfright {
	width: calc(50% - 15px);
	height: auto;
	padding-left: 15px;
	float: left;
}

.fortyleft {
	width: calc(40% - 15px);
	height: auto;
	padding-right: 15px;
	float: left;
}

.sixtyright {
	width: calc(60% - 15px);
	height: auto;
	padding-left: 15px;
	float: left;
}

.fullwidth {
	width: 100%;
	float: left;
	vertical-align: baseline;
}

.sidebyside { display: flex; }

.sideBySide {
	display: grid;
	--cols: repeat(2, 1fr);
	grid-template-columns: var(--cols);
	gap: 1em;
}

.nobr {
	white-space: nowrap;
}

.smallprint {
	font-size: 12px;
}

/* Alignment */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.625em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.625em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* =Global
----------------------------------------------- */

/* Headings */
h1,h2,h3,h4,h5,h6 {
	font-weight: bold;
}

h1, h2 {
	font-size: inherit;
	color: #000;
}

h3 {
	font-size: 10px;
	letter-spacing: 0.1em;
	line-height: 1.0em;
}

:is(h1,h2).centered { text-align: center; }

h1:is(.flexboxed,.flexboxer) {
	display: inline;
	text-justify: none;
	}

p:is(.flexboxed,.flexboxer) { padding-top: 1em; }

/* Links */
a {
	color: #007ece;
	text-decoration: none;
	transition: all .3s ease-in;

	&:is(:focus,:active,:hover) {
		color: #3dbffc;
		transition: all .5s ease-in;
	}
}

/* Assistive text */
.assistive-text,
.screen-reader-text {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
	width: 1px;
}
#access a.assistive-text:focus,
.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background: #eee;
	border-bottom: 1px solid #ddd;
	color: #1982d1;
	clip: auto !important;
	font-size: 12px;
	height: auto;
	position: absolute;
	text-decoration: underline;
	top: 0;
	left: 7.6%;
	width: auto;
}

/* =Content
----------------------------------------------- */

.entry-title { display: none; }

:where(.entry-content) {
	text-align: justify;
	text-align-last: left;
}

.edit-link a {
	position: absolute;
	top: 50px;
	left: 50px;
	background: #eee;
	-moz-border-radius: 3px;
	border-radius: 3px;
	color: #666;
	float: right;
	font-size: 12px;
	line-height: 1.5em;
	font-weight: 300;
	text-decoration: none;
	padding: 0 8px;

	&:hover {
		background: #888;
		color: #fff;
	}
}

p img,
.wp-caption {
	margin-top: 0.4em;
}

/* =Responsive Structure  */

@media (max-width: 1200px) {
	body:has(.accountWrap) { --padIn: 1em; }
}

@media (max-width: 900px) {

	body { --padIn: 1em; }
	
	h1.flexboxed {
		display: inline;
		text-align: left;
		text-justify: auto;		
	}

}
@media (max-width: 650px) {
	/* @media (max-width: 650px) Reduce font-sizes for better readability on smaller devices */
	body, input, textarea { font-size: 13px; }
	
	.mobile { display: inherit; }
	.desktop { display: none; }
	
	#cookiebar label {
		padding: 1em 2em;
		margin: 1em 0.4em;
	}
	
	p img,
	.wp-caption {
		margin: 0;
	}
	
	.floatright {
		float: right;
		width: 100%;
		height: auto;
		margin: 0;
	}
	
	.flexbox {
 		display: flex;
		flex-direction: column;
		}
	
	.sidebyside {
		display: block;
	}
	
	.sideBySide {
		display: flex;
		flex-direction: column;
	}
	
	.item-first { order: 2; }
	
	.item-second {
		padding-bottom: 1.2em;
		margin-top: 0.8em;
		margin-bottom: 0;
	}
	
	.item-below {
		margin-top: 0;
		margin-bottom: 0;
	}
	
	h1.flexboxer {
		display: block;
		width: 100%;
		text-align: center;
		text-justify: none;
		}
	
	.grid2x {
		grid-template-columns: 1fr;
	}
	
	.halfleft,
	.fortyleft,
	.thirdleft {
		width: 100%;
		padding-right: 0;
		}

	.halfright,
	.sixtyright,
	.twothirdsright {
		width: 100%;
		padding-left: 0;
		}
	
	h1.flexboxed { text-justify: none; }
	p.flexboxed { padding-top: 1em; }
	p.flexboxer { padding-top: 0.4em; }
	
}

@media (max-width: 450px) {
	.hyphenate { hyphens: auto; }
}
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
	body { padding: 0; }
	#page { margin-top: 0; }
}


/* =Print ----------------------------------------------- */

@media print {
	body * { background: none !important; --padIn: 1em; }

	body *,
	.entry-meta,
	#site-description { font-size: 10pt; }

	.entry-content {
		margin: 0;
		width: 100%;
	}
	
	header, footer { display: none; }
}