/*DEFAULTS START*/
html {
    font-family: var(--default-font);
	font-size: var(--default-font-size);
	line-height: var(--line-height);
	letter-spacing: var(--letter-spacing);
	background-color: var(--bg-color);
	color: var(--primary-font-color);
	scroll-behavior: smooth;
}

body {
	display: flex;
	align-items: center;
	flex-direction: column;
	line-height: var(--line-height);
	min-height: 100vh;
	padding: 2rem;
}

@media only screen and (max-width: 30rem) {
	body {
		padding: 0;
	}
}

*:focus,
.logo-container:focus img,
*:focus-visible,
.logo-container:focus-visible img {
	outline: 0.25rem solid var(--focus-color);
	outline-offset: 0.25rem;
	border-radius: 0.25rem;
	z-index: 9997;	
}

*:focus,
.logo-container:focus img {
	background-color: unset;
	color: unset;
}

*:focus-visible,
.logo-container:focus-visible img {
	background-color: var(--info-color)!important;
	color: var(--secondary-font-color)!important;	
}

*:focus-visible::placeholder {
	color: var(--secondary-font-color)!important;
}

.simple-lightbox:focus-visible {
	background-color: unset!important;
}

::selection {
	color: var(--primary-font-color);
	background: var(--highlight-color);
}

[data-accessibility~="noimg"] img {
    display: none!important;
    visibility: hidden!important;
    opacity: 0!important;
}

[data-accessibility~="noimg"] a:has(> img) + * {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

[data-accessibility~="low-saturation"] {
    filter: saturate(50%)!important;
	-webkit-backdrop-filter: saturate(.75);
	backdrop-filter: saturate(.75);
}

[data-accessibility~="high-saturation"] {
	filter: saturate(200%)!important;
	-webkit-backdrop-filter: saturate(5);
	backdrop-filter: saturate(5)
}

[data-accessibility~="monochrome"] {
	filter: grayscale(100%)!important;
	-webkit-backdrop-filter: grayscale(1)!important;
	backdrop-filter: grayscale(1) !important;
}

[data-accessibility~="titles"] h1,
[data-accessibility~="titles"] h2,
[data-accessibility~="titles"] h3,
[data-accessibility~="titles"] h4,
[data-accessibility~="titles"] h5 {
	outline: 0.25rem solid var(--info-color);
	outline-offset: 0.2rem;
	border-radius: 0.25rem;
}

[data-accessibility~="disabled"] * {
	transition: none!important;
	animation-fill-mode: forwards!important;
	animation-iteration-count: 1!important;
	animation-duration: 10ms!important;
}

[data-accessibility~="spacing"] * {
	letter-spacing: 0.25rem!important;
	word-spacing: 0.5rem!important;
}

[data-accessibility~="line"] #main * {
	line-height: 3rem!important;
}

[data-accessibility~="black-cursor"] {
	cursor: url(../img/black-cursor.svg), default!important
}

[data-accessibility~="black-cursor"] [role=button],
[data-accessibility~="black-cursor"] a,
[data-accessibility~="black-cursor"] button,
[data-accessibility~="black-cursor"] label,
[data-accessibility~="black-cursor"] input,
[data-accessibility~="black-cursor"] select,
[data-accessibility~="black-cursor"] textarea {
	cursor: url(../img/black-pointer.svg), default!important
}

[data-accessibility~="white-cursor"] {
	cursor: url(../img/white-cursor.svg), default!important
}

[data-accessibility~="white-cursor"] [role=button],
[data-accessibility~="white-cursor"] a,
[data-accessibility~="white-cursor"] button,
[data-accessibility~="white-cursor"] label,
[data-accessibility~="white-cursor"] input,
[data-accessibility~="white-cursor"] select,
[data-accessibility~="white-cursor"] textarea {
	cursor: url(../img/white-pointer.svg), default!important
}

html[data-accessibility~="focus-mask"] #focus-mask {
  display: block;
}

#focus-mask {
  display: none;
}

#focus-mask {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* dim color */
    pointer-events: none;
    z-index: 10000;

    /* initial inverted mask: strip is dimmed */
    -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 40%, transparent 60%, black 60%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;

    mask-image: linear-gradient(to bottom, black 40%, transparent 40%, transparent 60%, black 60%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
}

a[href]:not(:where(
	[href^="#"],
	[href^="/"]:not([href^="//"]),
	[href^="mailto:"],
    a[href^="mailto:"],
	[href^="tel:"],
	[href^="http://localhost/sabaliputeenused/"],
	[href^="https://sabaliputeenused.ee"],
	[href^="https://sabalipu.studioaugustine.ee"],
	[href^="https://www.sabaliputeenused.ee"],
	[data-type="footer-social"] a,
	[href*="javascript:void(0);"],
    figure > a,
    [data-type="button"],
    [data-type="info_block"] a,
    [data-type="highlight-item"] a,
    [data-type="reference-list"] a,
	[data-type="gallery-item"] a,
    #accessibilityButton,
    .wp-block-button
)):after {
	position: absolute;
	top: 0;
	right: 0;
 	content: url(../img/newtab.svg);
	margin-left: var(--spacing-tiny);
	width: var(--spacing-normal);
	height: var(--spacing-normal);
}

a[href]:not(:where(
	[href^="#"],
	[href^="/"]:not([href^="//"]),
	[href^="mailto:"],
	[href^="tel:"],
	[href^="http://localhost/sabaliputeenused/"],
	[href^="https://sabaliputeenused.ee"],
	[href^="https://sabalipu.studioaugustine.ee"],
	[href^="https://www.sabaliputeenused.ee"],
	[data-type="footer-social"] a,
	[href*="javascript:void(0);"],
    figure > a,
    [data-type="button"],
    [data-type="info_block"] a,
    [data-type="highlight-item"] a,
    [data-type="reference-list"] a,
	[data-type="gallery-item"] a,
	#accessibilityButton
)) {
	padding-right: calc(var(--spacing-normal) + 0.25rem);
}

footer a[href]:not(:where(
	[href^="#"],
	[href^="/"]:not([href^="//"]),
	[href^="mailto:"],
	[href^="tel:"],
	[href^="http://localhost/sabaliputeenused/"],
	[href^="https://sabaliputeenused.ee"],
	[href^="https://sabalipu.studioaugustine.ee"],
	[href^="https://www.sabaliputeenused.ee"],
	[data-type="footer-social"] a,
	[href*="javascript:void(0);"],
    figure > a,
    [data-type="button"],
    [data-type="info_block"] a,
    [data-type="highlight-item"] a
)):after {
	filter: invert(1);
}

a { 
	position: relative;
	font-weight: 700;
	color: var(--primary-font-color);
	text-decoration: underline;
	text-underline-offset: var(--spacing-tiny);
	text-decoration-thickness: calc(var(--spacing-xx-small) / 2);
	transition-duration: 200ms;
}

a:hover {
	color: var(--primary-font-color);
	text-decoration: underline;
	text-underline-offset: var(--spacing-tiny);
	text-decoration-thickness: calc(var(--spacing-xx-small) / 2);	
	text-decoration-style: wavy;
	transition-duration: 200ms;
}

figcaption {
	font-size: 0.95rem;
	margin-top: 0.3rem;
	margin-left: 0.5rem;
}

[data-accessibility~="links"] a {
	background-color: var(--highlight-color)!important;
	color: var(--primary-font-color)!important;
}

[data-type="button"],
[data-type="coupon-actions"] a:nth-child(2) {
	display: flex;
	justify-content: center;
	align-items: center;	
	padding: 0.75rem 1rem;
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	text-decoration: none;
	border: 3px solid var(--primary-color);
	border-radius: 0.5rem;
	font-weight: 700;
	cursor: pointer;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 			
}

section [data-type="button"]:nth-of-type(2) {
	background-color: var(--surface-color);
	color: var(--primary-color);
	border: 3px solid var(--primary-color);
}

[data-type="button"]:hover,
section [data-type="button"]:nth-of-type(2):hover,
[data-type="coupon-actions"] a:nth-child(2):hover {
	background-color: #BE6E2B;
	color: var(--primary-font-color);
	border: 3px solid #BE6E2B;
	text-decoration: unset;
	text-underline-offset: unset;
	text-decoration-thickness: unset;	
	text-decoration-style: unset;
	transition-duration: unset;	
}

p {
	text-underline-offset: 0.25rem;
}

p:has(+ ul),
p:has(+ ol) {
    margin-bottom: unset!important;
}

hr {
	border-color: var(--primary-color);
	border-style: inset;
	border-width: 1px;	
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

h1,
h2,
h3,
h4,
h5 {
	font-family: var(--title-font);
	line-height: var(--title-line-height);
    width: fit-content;
}

h1 {
	font-size: var(--title-1-size);
}

h2 {
	font-size: var(--title-2-size);
}

h2 + p,
h2 + ul,
h2 + ol {
	margin-top: 0.5rem;
}

h3 {
	font-size: var(--title-3-size);
}

h3 + p  {
	margin-top: 0.5rem;
}

h4 {
	font-size: var(--title-4-size);
}

:is(h1, h2, h3, h4, h5) + :is(h2, h3, h4, h5, h6) {
    margin-top: 0.25rem;
}

ul,
ul[class] {
	list-style-type: disc;
	padding-inline-start: var(--spacing-normal);
	margin-top: unset;
	margin-bottom: var(--spacing-small);
}

ul:last-child,
ul[class]:last-child {
	margin-bottom: unset;
}

ul li::marker,
ul[class] li::marker {
	font-size: var(--spacing-normal);
}

[data-type*="readable-area"] > h2:first-child {
    margin-bottom: 12px;	
}

p:not(:last-child) {
    margin-bottom: 12px;
}

p:has(+ ul),
p:has(+ ol) {
    margin-bottom: unset!important;
}

[data-type*="readable-area"] figure:not(:last-child) {
    margin-bottom: var(--spacing-normal);
}

[data-type*="readable-area"] img,
[data-type*="readable-area"] figure img {
	border-radius: var(--spacing-x-small);
}

[data-type*="readable-area"] figure.is-style-rounded img {
	border-radius: 9999px;
    aspect-ratio: 1;
	object-fit: cover;	
}
/*DEFAULTS END*/



/*SCROLLBAR START*/
::-webkit-scrollbar {
	width: var(--spacing-x-small);
}

::-webkit-scrollbar-track {
	background: rgba(240,242,248,.66);
}

::-webkit-scrollbar-thumb {
  background: #606060;
}

::-webkit-scrollbar-thumb:hover {
	background: #808080;
}

[data-scroll="false"],
.no-scroll {
	overflow: hidden;
}
/*SCROLLBAR END*/

/*ACCESSIBILITY START*/
#wpadminbar .screen-reader-shortcut {
	display: none;
	visibility: hidden;
}

.skip-to-main-content,
#wpadminbar .screen-reader-shortcut {
	position: fixed;
    top: -100rem;
	left: 50%;
	transform: translate(-50%, 0);
    width: 100%;
	max-width: 400px;
    height: auto;
    z-index: -999;
	text-decoration: none;
    color: var(--primary-font-color);
    background-color: var(--primary-color);
    overflow: auto;
	margin-top: 10px; 
	margin-bottom: 10px;
	padding: var(--spacing-tiny);
	border-radius: var(--default-border-radius);
	border: var(--spacing-xx-small) solid var(--highlight-color);
	box-shadow: 0 0 var(--spacing-xx-small) 0 var(--shadow-color);	
	outline: none;
    text-align: center;
    font-size: var(--title-4-size);	
}

footer .skip-to-main-content {
    top: unset;
	bottom: -100rem;
}

.skip-to-main-content:hover,
#wpadminbar .screen-reader-shortcut:hover {
	text-decoration: none;
}

.skip-to-main-content:focus, 
.skip-to-main-content:active,
#wpadminbar .screen-reader-shortcut:focus,
#wpadminbar .screen-reader-shortcut:active {
	top: 1.3rem;
	z-index: 999;
}

footer .skip-to-main-content:focus,
footer .skip-to-main-content:active {
	top: unset;
    bottom: 1.3rem;
	z-index: 999;
	height: fit-content;
}


.is-style-highlight-box {
	padding: var(--spacing-normal);
	background-color: var(--bg-color);
	border-radius: var(--spacing-x-small);
	margin-bottom: var(--spacing-normal)!important;
}

.wp-block-group h1,
.wp-block-group h2,
.wp-block-group h3,
.wp-block-group h4,
.wp-block-group h5 {
	width: 100%;
}

.wp-block-group .is-style-highlight-box:not(:last-child) {
	margin-bottom: 0!important;
	padding-bottom: 0;
	border-bottom-left-radius: unset;
	border-bottom-right-radius: unset;
}

.wp-block-group .is-style-highlight-box:not(:first-child) {
	padding-top: 12px;
	border-top-left-radius: unset;
	border-top-right-radius: unset;	
}

.is-style-info-box,
.is-style-warning-box,
.is-style-error-box,
.is-style-success-box,
.wp-block-group:has(.is-style-warning-box),
.wp-block-group:has(.is-style-info-box),
.wp-block-group:has(.is-style-success-box),
.wp-block-group:has(.is-style-error-box) {
	display: flex;
	align-items: center;
	gap: 20px;	
	border-radius: var(--spacing-x-small);
	flex-wrap: nowrap;  
}

.is-style-info-box,
.is-style-warning-box,
.is-style-error-box,
.is-style-success-box {
	margin-bottom: var(--spacing-normal)!important;
}

.wp-block-group:has(.is-style-warning-box),
.wp-block-group:has(.is-style-info-box),
.wp-block-group:has(.is-style-success-box),
.wp-block-group:has(.is-style-error-box) {
	padding-bottom: unset;
	margin-bottom: var(--spacing-normal)!important;
	padding-left: var(--spacing-normal);
}

.wp-block-group .is-style-info-box:not(:last-child),
.wp-block-group .is-style-warning-box:not(:last-child),
.wp-block-group .is-style-error-box:not(:last-child),
.wp-block-group .is-style-success-box:not(:last-child) {
	margin-bottom: 0!important;
	padding-bottom: 0;
	border-bottom: unset;
	border-bottom-left-radius: unset;
	border-bottom-right-radius: unset;	
}

.wp-block-group .is-style-info-box:not(:first-child),
.wp-block-group .is-style-warning-box:not(:first-child),
.wp-block-group .is-style-error-box:not(:first-child),
.wp-block-group .is-style-success-box:not(:first-child) {
	padding-top: 12px;
	border-top: unset;
	border-top-left-radius: unset;
	border-top-right-radius: unset;		
}

.wp-block-group .is-style-info-box,
.wp-block-group .is-style-warning-box,
.wp-block-group .is-style-error-box,
.wp-block-group .is-style-success-box {
	background-color: unset;
	border: unset;
}

.wp-block-group .is-style-info-box:last-child,
.wp-block-group .is-style-warning-box:last-child,
.wp-block-group .is-style-error-box:last-child,
.wp-block-group .is-style-success-box:last-child {
	margin-bottom: unset!important;	
}

.is-style-info-box {
	background-color: rgba(113, 137, 255, 0.2);	
	border: calc(var(--spacing-xx-small) / 2) solid var(--info-color);
}

.is-style-warning-box {
	background-color: rgba(253, 202, 64, 0.2);
	border: calc(var(--spacing-xx-small) / 2) solid var(--warning-color);
}

.wp-block-group:has(.is-style-warning-box) {
	background-color: rgba(253, 202, 64, 0.2);
	border: calc(var(--spacing-xx-small) / 2) solid var(--warning-color);
}

.is-style-error-box {
	background-color: rgba(187, 68, 48, 0.2);	
	border: calc(var(--spacing-xx-small) / 2) solid var(--error-color);
}

.is-style-success-box {
	background-color: rgba(108, 174, 117, 0.2);	
	border: calc(var(--spacing-xx-small) / 2) solid var(--success-color);
}

.is-style-info-box::before,
.is-style-warning-box::before,
.is-style-error-box::before,
.is-style-success-box::before,
.wp-block-group:has(.is-style-warning-box)::before,
.wp-block-group:has(.is-style-info-box)::before,
.wp-block-group:has(.is-style-success-box)::before,
.wp-block-group:has(.is-style-error-box)::before {
	content: "";
	display: inline-block;
	width: 42px;
	height: var(--spacing-medium);
	flex-shrink: 0;
}

.wp-block-group .is-style-info-box::before,
.wp-block-group .is-style-warning-box::before,
.wp-block-group .is-style-error-box::before,
.wp-block-group .is-style-success-box::before {
	display: none;
}

.is-style-info-box::before,
.wp-block-group:has(.is-style-info-box)::before {
	background: url(../img/info.svg) no-repeat;	
	background-size: var(--spacing-medium) var(--spacing-medium);
	filter: invert(57%) sepia(65%) saturate(3645%) hue-rotate(208deg) brightness(103%) contrast(101%);
}

.is-style-warning-box::before,
.wp-block-group:has(.is-style-warning-box)::before {
	background: url(../img/warning.svg) no-repeat center;
	background-size: var(--spacing-medium) var(--spacing-medium);
	filter: invert(76%) sepia(84%) saturate(422%) hue-rotate(340deg) brightness(101%) contrast(98%);
}

.is-style-error-box::before,
.wp-block-group:has(.is-style-error-box)::before {
	background: url(../img/error.svg) no-repeat;	
	background-size: var(--spacing-medium) var(--spacing-medium);	
	filter: invert(30%) sepia(56%) saturate(1458%) hue-rotate(335deg) brightness(97%) contrast(91%);
}

.is-style-success-box::before,
.wp-block-group:has(.is-style-success-box)::before {
	background: url(../img/success.svg) no-repeat;	
	background-size: var(--spacing-medium) var(--spacing-medium);	
	filter: invert(70%) sepia(6%) saturate(2596%) hue-rotate(77deg) brightness(90%) contrast(79%);
}

#wpadminbar {
	position: fixed;
	top: unset;
	bottom: 20px;
	right: 20px;
	left: unset;
	width: fit-content;
	max-width: 510px;
	min-width: unset;
	height: fit-content;
	padding: var(--spacing-normal);
	background: linear-gradient(
		90deg,
		rgba(252, 248, 251, 0.95) 0%,
		rgba(252, 248, 251, 0.95) 50%,
		rgba(233, 235, 248, 0.95) 100%
	);
	border: calc(var(--spacing-xx-small) / 2) solid var(--primary-color);
	border-radius: var(--spacing-x-small);
}

@media only screen and (max-width: 48rem) {
	#wpadminbar {
		display: none;
	}
}

#wpadminbar a,
#wpadminbar p,
#wpadminbar .ab-empty-item, 
#wpadminbar a.ab-item, 
#wpadminbar>#wp-toolbar span.ab-label, 
#wpadminbar>#wp-toolbar span.noticon {
	color: var(--primary-font-color);
	font-weight: 700;
}

.wp-block-image :where(figcaption) {
	margin-left: var(--spacing-x-small);
}

.wp-block-pullquote {
	margin: unset;
	padding: unset;
}

blockquote:not(:last-child) {
	margin-bottom: var(--spacing-small);
}

details {
	width: 100%;
	border-radius: var(--spacing-x-small)!important;
	margin-bottom: 1rem;
	z-index: 1!important;
}

details summary {
	padding: var(--spacing-small);
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	border-radius: var(--spacing-x-small);
	position: relative;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 	
}

details summary:focus,
details summary:focus-visible {
	outline: unset;
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	border-radius: var(--spacing-x-small)!important;
}

details[open] summary:focus,
details[open] summary:focus-visible {
	border-radius: var(--spacing-x-small)!important;
	border-bottom-left-radius: unset!important;
	border-bottom-right-radius: unset!important;		
}

details summary::marker,
details[open] summary::marker,
:is(::-webkit-details-marker) {
	content: "";
}

details summary:after {
	content: "+";
	font-size: 20px;
    background-color: var(--bg-color-opposite);
	position: absolute;
	right: 0;
	top: 0;
	width: 56px;
	height: 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top-right-radius: var(--spacing-x-small);
	border-bottom-right-radius: var(--spacing-x-small);
}

details[open] summary:after {
	content: "-";
	border-bottom-right-radius: unset;
}

details[open] summary {
	border-bottom-left-radius: unset;
	border-bottom-right-radius: unset;
}

details *:not(summary) {
	padding: var(--spacing-small);
	background-color: #FAF8F5;
	border-bottom-left-radius: var(--spacing-x-small);
	border-bottom-right-radius: var(--spacing-x-small);
}

details ul {
	padding-left: 2rem!important;
}

details ul li {
	padding-left: 0;
}

details p:not(:last-child),
details li:not(:last-child) {
	margin-bottom: 0!important;
	padding-bottom: 0;
}

.wp-block-buttons:not(:last-child) {
	margin-bottom: var(--spacing-small);
}

.wp-block-table thead {
	background-color: var(--bg-color-opposite);
	color: var(--secondary-font-color);	
	border-bottom: 1px solid var(--bg-color-opposite-alt);
}

.wp-block-table thead tr th {
	border: 1px solid var(--bg-color-opposite-alt);
}

.wp-block-table:not(:has(thead)) tbody tr:first-child {
	background-color: var(--bg-color-opposite);
	color: var(--secondary-font-color);
}

.wp-block-table td {
	border: 1px solid var(--bg-color-opposite-alt);
	padding: var(--spacing-x-small);
    vertical-align: top;
}

/* General table styling */
table {
    display: block;
    overflow-x: auto;
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-family: var(--default-font, Arial, sans-serif);
    font-size: 14px;
}

/* Table header */
thead {
    background-color: var(--bg-color-opposite, #333);
    color: var(--secondary-font-color, #fff);
}

th, td {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: left;
    vertical-align: top;
}

th {
    font-weight: 700;
}

/* Table body rows */
tbody tr {
    background-color: var(--bg-color-alt, #f9f9f9);
}

tbody tr:nth-child(even) {
    background-color: var(--bg-color, #fff);
}

tbody tr:hover {
    background-color: #f1f1f1;
}

/* Links inside table */
td a {
    display: flex;
    color: var(--primary-color, #007bff);
    text-decoration: underline;
}

td a:hover {
    text-decoration: none;
}

.wp-block-embed iframe {
    width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;	
}

[data-button="back-to-top"][data-active="true"] {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease;
}

[data-button="back-to-top"][data-active="false"] {
    opacity: 0;
    visibility: hidden;
}

[data-button="back-to-top"] {
    display: flex;
	justify-content: center;
	align-items: center;
    position: fixed;
    bottom: var(--spacing-medium);
    right: var(--spacing-x-large);
	gap: var(--spacing-x-small);
	padding: var(--spacing-x-small) var(--spacing-medium) var(--spacing-x-small) var(--spacing-medium);
	width: fit-content;
	height: fit-content;
	font-size: 1rem;
	letter-spacing: 1px;
	cursor: pointer;
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	border: 2px solid var(--secondary-font-color);
	border-radius: 0.5rem;
}

[data-button="back-to-top"]::before {
	content: "Liigu üles";
}

[data-button="back-to-top"]::after {
	content: "↑";
}

[data-accessibility~="button"] [data-button="back-to-top"] {
	padding: var(--spacing-small) var(--spacing-x-large) var(--spacing-small) var(--spacing-x-large);
}

@media only screen and (max-width: 86rem) {
	[data-button="back-to-top"] {
		right: var(--spacing-medium);
		padding: var(--spacing-x-small) var(--spacing-small) var(--spacing-x-small) var(--spacing-small);
		width: 50px;
		height: 50px;
	}
	
	[data-button="back-to-top"]::before {
		display: none;
	}	
}

.subpost {
	margin-top: 1rem;
}

.has-background {
	padding: 1rem;
	border-radius: 0.5rem;
}

.has-background:not(:last-child) {
	margin-bottom: 1rem;
}

[data-type="page-container"] {
	display: grid;
	grid-template-columns: 24rem 1fr;
	grid-template-rows: 1fr auto;
	gap: 3rem;
	min-height: calc(100vh - 4rem);
	width: 100%;
	max-width: var(--desktop-width-large);
}

@media only screen and (max-width: 120rem) {
	[data-type="page-container"] {
		grid-template-columns: 20rem 1fr;
	}
}

@media only screen and (max-width: 78rem) {
	[data-type="page-container"] {
		display: flex;
		flex-direction: column;
	}
}

[data-type="page-container"] main {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	grid-column: 2;
	grid-row: 1 / 3;
}

[data-type="page-container"] main[data-page] {
	gap: 2rem;
}

[data-type="page-container"] main[data-page="home"] {
	gap: 6rem;
}

@media only screen and (max-width: 60rem) {
	[data-type="page-container"] main[data-page="home"] {
		gap: 5rem;
	}
}

@media only screen and (max-width: 30rem) {
	[data-type="page-container"] main[data-page="home"] {
		gap: 4rem;
	}
}

[data-type="navbar-container"] {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	z-index: 88;
}

@media only screen and (max-height: 68rem) {
	[data-type="navbar-container"] {
		position: relative;
		top: 0;
	}
}

@media only screen and (max-width: 30rem) {
	[data-type="navbar-container"] {
		padding: 2rem 2rem 0 2rem;
	}
}

@media only screen and (max-width: 78rem) {
	[data-type="navbar-container"] [data-type="navigation-menu"] {
		display: none;
	}
	
	[data-type="navbar-container"] [data-type="navigation-menu"][data-active="true"] {
		display: flex;
		justify-content: flex-start;
		align-items: flex-end;
		flex-direction: column;
		position: fixed;
		z-index: 9998;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		overflow: auto;
		padding: 2rem;
		background-color: var(--surface-color);
	}
	
	[data-type="navbar-main-items"] {
		width: 100%;
	}
}

[data-type="menu-buttons-container"] {
	display: flex;
	gap: 0.5rem;
	position: fixed;
	top: 2rem;
	right: 2rem;
}

[data-type~="menu-button"] {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 0.5rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;
	border: 3px solid var(--primary-color);
}

[data-type~="menu-button"] a {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
}

[data-type~="menu-icon"] {
	display: none;
}

[data-type~="menu-icon"] img {
	height: 2rem;
	width: auto;
	cursor: pointer;
}

[data-woo="cart-float"] a {
	font-size: 1.2rem;
	font-weight: 700;
	text-decoration: none;
}

[data-woo="cart-float"] img {
	height: 2rem;
	width: auto;
	cursor: pointer;
}

[data-type="mobile-menu-controls"] {
	display: none;
}

@media only screen and (max-width: 78rem) {
	[data-type~="menu-icon"] {
		display: block;
	}
	
	[data-type="mobile-menu-controls"] {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}	
}

[data-type="mobile-icon"],
[data-type="mobile-main-icon"] {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 1rem;
	text-shadow: -1px -1px 0 var(--bg-color), 1px -1px 0 var(--bg-color), -1px 1px 0 var(--bg-color), 1px 1px 0 var(--bg-color);
}

[data-type="mobile-main-icon"] {
	width: 100%;
}

[data-type="mobile-icon"] a:nth-child(2),
[data-type="mobile-main-icon"] a:nth-child(2) {
	display: block;
	text-align: justify;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

[data-type="mobile-icon"] a:nth-child(2) span,
[data-type="mobile-main-icon"] a:nth-child(2) span {
	display: block;
	width: 100%;
	text-align: justify;
}

[data-type="mobile-icon"] a:nth-child(2) span:nth-child(2),
[data-type="mobile-main-icon"] a:nth-child(2) span:nth-child(2) {
	letter-spacing: 0.25rem;
}

[data-type="mobile-icon"] img {
	width: 6rem;
	height: auto;
	border-radius: 0.5rem;
}

@media only screen and (min-width: 78rem) {
	[data-type="mobile-main-icon"] a:nth-child(2) {
		display: none;
	}
}

[data-type="navigation-content"] {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: 2rem;
}

@media only screen and (max-height: 58rem) {
	[data-type="navigation-content"] {
		position: relative;
		top: 0;
	}
}

[data-type="navigation-logo-container"] {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	z-index: 8888;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 			
}

[data-type="navigation-logo-container"] a,
[data-type="navigation-logo-container"] > a > img {
	width: 100%;
}

@media only screen and (max-width: 78rem) {
[data-type="navigation-logo-container"] a {
	width: unset;
}
}

[data-type="logo-default"] {
	display: block;
}

[data-type="logo-small"],
[data-type="logo-smallest"] {
	display: none;
}

@media only screen and (max-width: 120rem) {
	[data-type="logo-default"] {
		display: none;
	}

	[data-type="logo-small"] {
		display: block;
		max-width: 20rem;
	}
}

@media only screen and (max-width: 78rem) {
	[data-type="logo-small"] {
		display: none;
	}	
	
	[data-type="logo-smallest"] {
		display: block;
		max-width: 6rem;
		border-radius: 0.5rem;
	}
}

[data-type="navbar-main-items"] {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	list-style-type: none;
	padding: 0; 
	margin: 0;	
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 			
}

@media only screen and (max-width: 78rem) {
	[data-type="navbar-main-items"] {
		margin-top: 2rem;
	}
}

[data-type="navbar-main-items"] li {
	width: 100%;
	background-color: var(--surface-color);
	text-align: center;
}

[data-type="navbar-main-items"] li.current-menu-item {
	background-color: var(--surface-alt-color);
}

[data-type="navbar-main-items"] li a {
	display: block;
	width: 100%;
	padding: 0.5rem;
	border: 2px solid var(--primary-font-color);
	text-decoration: none;
	text-transform: uppercase;
}

[data-section="homepage-cta"] {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 2rem;
	width: 100%;
	min-height: 32rem;
	background-color: #3F784C;
	color: var(--secondary-font-color);
	border-radius: 0.5rem;
}

@media only screen and (max-width: 30rem) {
	[data-section="homepage-cta"] {
		border-radius: 0;
	}
}

@media only screen and (max-width: 78rem) {
	[data-section="homepage-cta"] {
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
	}
}

[data-section="homepage-cta"] > div {
	padding: 2rem;
}

[data-section="homepage-cta"] h1 {
	margin-bottom: 0.5rem;
}

[data-section="homepage-cta"] p {
	margin-bottom: 1.5rem;
}

[data-section="homepage-cta"] img {
	width: 60%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 0 0.5rem 0.5rem 0;
}

@media only screen and (max-width: 78rem) {
	[data-section="homepage-cta"] img {
		width: 100%;
		border-radius: 0 0 0.5rem 0.5rem;
	}
}

[data-section="homepage-cta"] [data-type="button-container"] a {
	flex: 1;
}

[data-section="homepage-about"] {
	display: flex;
	align-items: center;
	flex-direction: row;
	width: 100%;
	background-color: var(--surface-color);	
	border-radius: 0.5rem;
}

@media only screen and (max-width: 78rem) {
	[data-section="homepage-about"] {
		flex-direction: column;
	}
}

[data-section="homepage-about"] > div {
	padding: 2rem;
}

[data-section="homepage-about"] img {
	width: 40%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;	
	border-radius: 0.5rem 0 0 0.5rem;
}

@media only screen and (max-width: 78rem) {
	[data-section="homepage-about"] img {
		width: 100%;
		aspect-ratio: 5 / 2;
		border-radius: 0.5rem 0.5rem 0 0;
	}
}

@media only screen and (max-width: 30rem) {
	[data-section="homepage-about"] img {
		aspect-ratio: 4 / 2;
	}
}

@media only screen and (max-width: 30rem) {
	[data-section="homepage-about"],
	[data-section="homepage-about"] img {
		border-radius: 0;
	}
}

[data-type="button-container"] {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1rem;
}

@media only screen and (max-width: 40rem) {
	[data-type="button-container"] {
		flex-direction: column;
	}
}

[data-section="homepage-feedback"] {
	display: flex;
	flex-direction: column;
}

[data-page="home"] [data-section="homepage-feedback"] > div:first-child {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;	
}

[data-section="homepage-feedback"] [data-type="user-feedbacks"] {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}

@media only screen and (max-width: 90rem) {
	[data-section="homepage-feedback"] [data-type="user-feedbacks"] {
		grid-template-columns: 1fr 1fr;
	}
	
	[data-section="homepage-feedback"] [data-type="user-feedbacks"] > div:nth-child(3) {
		grid-column: 1 / span 2;
	}	
}

@media only screen and (max-width: 68rem) {
	[data-section="homepage-feedback"] [data-type="user-feedbacks"] {
		display: flex;
		flex-direction: column;
	}
}

[data-section="homepage-feedback"] [data-type="client-gallery"] {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}

@media only screen and (max-width: 48rem) {
	[data-section="homepage-feedback"] [data-type="client-gallery"] {
		grid-template-columns: 1fr 1fr;
	}
}

[data-section="homepage-feedback"] [data-type="client-gallery"] img {
    display: block;
	width: 100%;
    height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 0.5rem;
}

[data-type="user-feedbacks"] > div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1rem;
	height: 100%;
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;	
}

[data-type="feedback-item"] > img {
	width: 4rem;
}

[data-type="feedback-item"] p {
	margin-bottom: unset;
}

[data-type="feedback-text"] {
	font-style: italic;
}

[data-type="feedback-image"] {
	flex: 1;
  	min-height: 0; 
}

[data-type="feedback-image"] img {
	border-radius: 0.5rem;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

[data-section="homepage-feedback"] [data-type="button-container"] {
	grid-column: 1 / span 2;
}

[data-page] [data-type="readable-area"] {
	width: 100%;
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;
}

[data-type="readable-area"] > div,
[data-type="readable-area"] > [data-type="faq"] {
	max-width: 60rem;
}

[data-type="coupons"] {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
	list-style-type: none;
	padding-inline-start: unset;	
}

@media only screen and (max-width: 90rem) {
	[data-type="coupons"] {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 40rem) {
	[data-type="coupons"] {
		grid-template-columns: 1fr;
	}
}

[data-type="coupons"] figure img {
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 10 / 16;
	border: 2px solid var(--primary-color);
	border-radius: 0.5rem;
}

[data-type="coupon-inner"] {
	position: relative;
}

[data-type="coupon-inner"] a {
	z-index: 1;
}

[data-type="coupon-actions"],
[data-type="coupon-content"] {
	z-index: 2;
}

[data-type="coupon-actions"] {
	position: absolute;
	bottom: 0;
	width: 100%;
}

[data-type="coupon-content"] {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0.5rem;
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	border-radius: 0 0.5rem 0 0.5rem;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 		
}

[data-type="coupon-actions"] a {
	border-radius: 0 0 0.5rem 0.5rem!important;
}

[data-type="coupon-actions"] a:first-child {
	text-decoration: unset;
}

[data-type="coupon-title"] {
	width: 100%;
	padding: 0.9rem 1rem;
	font-size: 1.25rem;
	letter-spacing: 0.075rem;
	text-align: center;
	background-color: var(--surface-alt-color);
	border-top: 2px solid var(--primary-color);
	border-left: 2px solid var(--primary-color);
	border-right: 2px solid var(--primary-color);
}

[data-type="services"] {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2rem;
}

@media only screen and (max-width: 90rem) { 
	[data-type="services"] {	
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 48rem) { 
	[data-type="services"] {	
		display: flex;
		flex-direction: column;
	}
}

[data-type="service"] {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1rem;
	height: 100%;
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;	
}

[data-type="service-image"] {
	flex: 1;
  	min-height: 0; 
}

[data-type="service-image"] img {
	border-radius: 0.5rem;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media only screen and (max-width: 48rem) { 
	[data-type="service-image"] img {
		aspect-ratio: 1;
	}
}

[data-section="homepage-booking"],
[data-section="feedback-form"] {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;		
}

[data-section="homepage-booking"] input,
[data-section="homepage-booking"] textarea,
[data-section="feedback-form"] input,
[data-section="feedback-form"] textarea {
	width: 100%;
}

[data-section="homepage-booking"] input,
[data-section="homepage-booking"] textarea,
[data-section="feedback-form"] input,
[data-section="feedback-form"] textarea,
.cart input {
	padding: 0.5rem;
	margin-top: 0.3rem;
	border: 2px solid var(--bg-color-opposite);
	border-radius: 0.5rem;
}

[data-section="homepage-booking"] form,
[data-section="feedback-form"] form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	max-width: 60rem;
}

[data-type="area"] {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;	
}

[data-type="area"] > figure > img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 1;
	object-fit: cover;
	border-radius: 0.5rem;
	margin-bottom: 2rem;
}

@media only screen and (max-width: 60rem) { 
	[data-type="area"] > figure > img {
		aspect-ratio:  2 / 1;
	}
}

[data-type="area-team"] {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

main section[data-type="area"]:nth-of-type(2) [data-type="area-team"] {
    display: flex;
}

[data-type="team-member"] {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	gap: 1rem;
}

[data-type="team-member"] { 
	padding-bottom: 1.5rem;
	border-bottom: 2px solid var(--primary-color);
}

[data-type="team-member"]:nth-last-child(-n + 2) {
	border-bottom: none;
}

[data-type="team-member"]:nth-child(1):nth-last-child(1),
[data-type="team-member"]:nth-child(3):nth-last-child(1),
[data-type="team-member"]:nth-child(5):nth-last-child(1),
[data-type="team-member"]:nth-child(7):nth-last-child(1),
[data-type="team-member"]:nth-child(9):nth-last-child(1),
[data-type="team-member"]:nth-child(11):nth-last-child(1) {
	padding-bottom: unset;
	border-bottom: none;
}

[data-type="team-member"]:nth-child(2):nth-last-child(2),
[data-type="team-member"]:nth-child(4):nth-last-child(2),
[data-type="team-member"]:nth-child(6):nth-last-child(2),
[data-type="team-member"]:nth-child(8):nth-last-child(2),
[data-type="team-member"]:nth-child(10):nth-last-child(2),
[data-type="team-member"]:nth-child(12):nth-last-child(2) {
	padding-bottom: unset;
	border-bottom: none;
}

@media only screen and (max-width: 60rem) { 
	[data-type="team-member"]:not(:last-of-type) { 
		padding-bottom: 1.5rem;
		border-bottom: 2px solid var(--primary-color);
	}
}

main section[data-type="area"]:nth-of-type(3) [data-type="area-team"] [data-type="team-member"],
main section[data-type="area"]:nth-of-type(4) [data-type="area-team"] [data-type="team-member"] {
	flex-direction: column;
}

[data-type="team-member-description"] {
	flex: 2;
}

[data-type="team-member-description"] hr {
	border-color: var(--bg-color);
	opacity: 0.5;
}

[data-type="team-member"] figure a {
	height: 100%;
}

main section[data-type="area"]:not(:nth-of-type(2)) [data-type="team-member-description"]:has(+ figure) {
    margin-bottom: 0.75rem;
}

main section[data-type="area"]:nth-of-type(3) [data-type="area-team"] [data-type="team-member-description"],
main section[data-type="area"]:nth-of-type(4) [data-type="area-team"] [data-type="team-member-description"] {
	flex: unset;
}

@media only screen and (max-width: 60rem) { 
	[data-type="area-team"] {
		display: flex;
		flex-direction: column;
	}		
	
	[data-type="team-member"] {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}
	
	[data-type="team-member-description"] {
		flex: 1;
		order: 2;
	}	
	
	[data-type="team-member"] figure {
		order: 1;
	}
}

[data-type="team-member"] figure {
	display: flex;
	flex-direction: column;
	flex: 1;
  	min-height: 0; 	
}

[data-type="team-member"] figure img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0.5rem;
	aspect-ratio: 1;
	object-fit: cover;
}

[data-section="pricelist"] {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;		
}

[data-section="training"] {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;		
}

[data-type="trainings-container"] {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-block-start: unset;
	margin-block-end: unset;
	padding-inline-start: unset;
	margin-top: 0.5rem;
}

[data-type="training-item"] {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.5rem;
	width: fit-content;
	padding: 0.5rem;
	border: 2px solid var(--primary-color);
	border-radius: 0.5rem;
	background-color: #FFF;
}

[data-type="training-title"] {
	font-size: 1.25rem;
	letter-spacing: 0.05rem;
	word-spacing: 0.25rem;
}

[data-type="feedback-meta"],
[data-type="training-meta"],
[data-type="team-member-meta"] {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.05rem;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 		
}

[data-type="training-info"] {
	padding: 0.5rem;
	background-color: var(--success-color);
	color: var(--secondary-font-color);
	border-radius: 0.5rem;
}

[data-type="training-participant"],
[data-type="training-date"],
[data-type="team-member-tag"],
[data-type="feedback-tag"] {
	padding: 0.5rem;
	background-color: var(--info-color);
	color: var(--secondary-font-color);
	border-radius: 0.5rem;
}

[data-type="price-category"] {
	max-width: 60rem;
}

[data-type="price-category"],
[data-type="price-subcategory"],
[data-type="price-main-category"] {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

[data-type="price-category"]:not(:last-child),
[data-type="price-subcategory"]:not(:last-child),
[data-type="price-main-category"]:not(:last-child) {
	margin-bottom: 2rem;
}

[data-type="price-category-items"] > h2 {
	margin-bottom: 0.75rem;
}

[data-type="price-category-items"] {
	padding-bottom: 2rem;
	border-bottom: 2px solid var(--primary-color);
}
 
[data-type="price-category"]:last-child [data-type="price-category-items"] {
	padding-bottom: unset;
	border-bottom: unset;
}

[data-type="price-item"] {
	display: flex;
	flex-direction: row;
	gap: 0;
}

[data-type="price-item-service"] {
	flex: 1;
	padding: 0.5rem 1rem;
	border: 2px solid var(--primary-color);
	border-radius: 0.5rem 0 0 0.5rem;
	background-color: #FFF;	
}

[data-type="price-item-price"] {
	flex: 0 0 auto;
	white-space: nowrap;
	padding: 0.5rem 1rem;
	text-align: right;
	background-color: var(--info-color);
	color: var(--secondary-font-color);
	border: 2px solid var(--primary-color);
	border-left: unset;
	border-radius: 0 0.5rem 0.5rem 0;	
}

@media only screen and (max-width: 30rem) {
	[data-type="price-item"] {
		flex-direction: column;
	}
	
	[data-type="price-item-service"] {
		border-radius: 0.5rem 0.5rem 0 0;	
	}	
	
	[data-type="price-item-price"] {
		text-align: left;		
		border-left: 2px solid var(--primary-color);
		border-top: unset;
		border-radius: 0 0 0.5rem 0.5rem;	
	}		
}

[data-section="homepage-shop"] {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;		
}

[data-section="homepage-shop"][data-type="readable-area"] > div {
	margin-bottom: 1rem;
}

[data-type="client-gallery"] {
	padding: 2rem;
	background-color: var(--surface-color);
	border-radius: 0.5rem;		
}

[data-gallery="portrait"] [data-type="gallery-container"],
[data-gallery="landscape"] [data-type="gallery-container"] {
	display: grid;
	gap: 2rem;
}

[data-gallery="portrait"] [data-type="gallery-container"] {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

[data-gallery="landscape"] [data-type="gallery-container"] {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media only screen and (max-width: 100rem) {
	[data-gallery="portrait"] [data-type="gallery-container"] {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}

	[data-gallery="landscape"] [data-type="gallery-container"] {
		grid-template-columns: 1fr 1fr 1fr;
	}	
}

@media only screen and (max-width: 78rem) {
	[data-gallery="portrait"] [data-type="gallery-container"] {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	[data-gallery="landscape"] [data-type="gallery-container"] {
		grid-template-columns: 1fr 1fr;
	}	
}

@media only screen and (max-width: 48rem) {
	[data-gallery="portrait"] [data-type="gallery-container"] {
		grid-template-columns: 1fr 1fr;
	}

	[data-gallery="landscape"] [data-type="gallery-container"] {
		grid-template-columns: 1fr 1fr;
	}	
}

[data-type="gallery-container"] img {
	border-radius: 0.5rem;
}

h2:has(+ [data-type="gallery-container"]) {
    margin-bottom: 1rem;
}

[data-gallery="portrait"] img {
	aspect-ratio: 9 / 16;
	object-fit: cover;
}

[data-gallery="landscape"] img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.sl-image img {
	border-radius: 0.5rem;
}

[data-type="faq"] {
	display: flex;
	flex-direction: column;
	margin-top: 0.5rem;
}

[data-type="faq"] dt {
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 0.25rem;
}

[data-type="faq"] dd:not(:last-of-type) {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 2px solid var(--primary-color);
}

[data-page="product"] [data-type="product-details"] {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

[data-page="product"] [data-type="product-details"] img {
	width: 100%;
	height: auto;
	border: 2px solid var(--primary-color);
}

[data-type="product-gallery"] {
	position: relative;
}

[data-type="product-price"] {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0.5rem;
	font-size: 1.5rem;
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	border-radius: 0 0.5rem 0 0.5rem;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 		
}

[data-type="product-summary"] form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: fit-content;
}

@media only screen and (max-width: 40rem) {
	[data-page="product"] [data-type="product-details"] {
		display: flex;
		flex-direction: column;
	}
	
	[data-type="product-gallery"] {
		order: 2;
	}
	
	[data-type="product-summary"] {
		order: 1;
	}
}

[data-woo="cart-table-container"] {
	display: flex;
	flex-direction: column;
	width: 100%;
}

[data-woo="cart-head-container"],
[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] {
	display: grid;
	grid-template-columns: 3rem 1fr 9rem 6rem 9rem;
	justify-content: center;
	align-items: center;
	width: 100%;
	border: 2px solid var(--primary-color);
}

[data-woo="cart-head-container"] {
	font-weight: 700;
	color: var(--secondary-font-color);
	background-color: var(--primary-color);
	border-top-left-radius: 0.5rem;
	border-top-right-radius: 0.5rem;
}

[data-woo="cart-content-container"] [data-woo="cart-single-product-container"]:nth-of-type(n+2) {
	border-top: unset;
}

[data-woo="cart-content-container"] [data-woo="cart-single-product-container"]:last-of-type {
	border-bottom-left-radius: 0.5rem;
	border-bottom-right-radius: 0.5rem;
}

[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > * {
	width: 100%!important;
	height: 100%!important;
}

[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > *:first-child {
	display: flex;
	justify-content: center;
	align-items: center;
}

[data-woo="cart-head-container"] > div:not(:first-child),
[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > *:not(:first-child) {
	padding: 0.5rem;	
	border-left: 2px solid var(--primary-color);
}

[data-woo="cart-head-container"] > div:nth-child(3),
[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > *:nth-child(3),
[data-woo="cart-head-container"] > div:nth-child(4),
[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > *:nth-child(4),
[data-woo="cart-head-container"] > div:nth-child(5),
[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > *:nth-child(5) {
	text-align: right;
}

[data-woo="cart-options"] {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: fit-content;
	margin-top: 1rem;
}

[data-woo="cart-options"] > div {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

[data-woo="cart-totals-container"] {
	margin-top: 2rem;
}

[data-woo="cart-subtotal"],
[data-woo="cart-total"] {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	max-width: 15rem;
}

[data-woo="cart-subtotal"] > p,
[data-woo="cart-total"] > p {
	border: 2px solid var(--primary-color);
	border-radius: 0.5rem;
	padding: 0.5rem;
	margin-bottom: unset;
}

[data-woo="cart-subtotal"] > p:first-of-type,
[data-woo="cart-total"] > p:first-of-type {
	text-align: right;
	border-top-right-radius: unset;
	border-bottom-right-radius: unset;
	border-right: unset;
}

[data-woo="cart-subtotal"] > p:nth-child(2),
[data-woo="cart-total"] > p:nth-child(2) {
	border-top-left-radius: unset;
	border-bottom-left-radius: unset;
}

[data-woo="cart-subtotal"] p {
	border-bottom-left-radius: unset;
	border-bottom-right-radius: unset;
}

[data-woo="cart-total"] p {
	border-top: unset;
	border-top-left-radius: unset;
	border-top-right-radius: unset;
}

[data-woo="cart-proceed-to-checkout-button"] {
	margin-top: 2rem;
}

@media only screen and (max-width: 42rem) { 
	[data-woo="cart-head-container"] {
		display: none;
	}
	
	[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] {
		display: flex;
		flex-direction: column;
		border-top: 2px solid var(--primary-color);	
		border-radius: 0.5rem;
	}
	
	[data-woo="cart-content-container"] [data-woo="cart-single-product-container"] > * {
		text-align: center!important;
		border-left: unset!important;
	}
	
	[data-woo="cart-content-container"] > *:not(:last-child) {
		border-bottom: 2px solid var(--primary-color);	
	}
}

#order_review_heading {
	margin-top: 1rem;
}

.woocommerce-error::before {
	display: none;
}

.woocommerce-error:focus-visible {
	background-color: unset;
}

.wcpay-express-checkout-wrapper {
	margin-top: 1rem;
	width: fit-content!important;
}

.ui-menu {
	list-style-type: none!important;
	padding-inline-start: 0!important;
	margin-bottom: var(--spacing-small)!important;
}

.ui-menu:last-child {
	margin-bottom: unset!important;
}

.ui-widget.ui-widget-content {
	border: unset;
}

.ui-tabs .ui-tabs-nav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem;
	padding: unset;
	margin-bottom: 1rem;
	background-color: unset;
	border: unset;
	border-radius: 0.3rem;
	width: fit-content;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 		
}

.ui-helper-clearfix:before, 
.ui-helper-clearfix:after {
	display: none;
}

.ui-tabs .ui-tabs-nav li {
	margin: unset;
	border: 2px solid var(--bg-color-opposite);
	border-radius: 0.3rem;
}

.ui-state-active, 
.ui-widget-content .ui-state-active, 
.ui-widget-header .ui-state-active {
	background-color: var(--info-color);
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
	margin-bottom: unset;
	padding-bottom: unset;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li a {
	cursor: pointer;
}

.ui-tabs .ui-tabs-nav li a:focus-visible {
	border-radius: 0.15rem;
}

.ui-tabs .ui-tabs-panel {
	padding: unset;
}

#closeAccessibility {
	width: var(--spacing-medium);
	height: auto;
	padding: unset;
	position: absolute;
	top: var(--spacing-medium);   
	right: var(--spacing-medium);
	background-color: unset;
	cursor: pointer;
	border: none;
}

[data-type="accessibility"] [data-type="logo-image"] {
	height: 50px;
	width: auto;
}

@media only screen and (max-width: 48rem) {
	[data-type="accessibility"] [data-type="logo-image"] {
		width: calc(100% - var(--spacing-xx-large));
		height: auto;
	}
	
	#closeAccessibility	{
		width: var(--spacing-normal);
	}
}

[data-type="accessibility"] {
	display: none;
	position: fixed;
	z-index: 9998;
	background-color: var(--bg-color);
	overflow: auto;
}

[data-type="accessibility"] #accessibility-heading {
	display: block;
	font-size: var(--title-2-size);
	font-weight: 700;
	line-height: var(--title-2-line);
	margin-bottom: var(--spacing-x-small);
}

[data-accessibility~="navbar"] [data-type="accessibility"] {
	bottom: 0;
	left: 0;
	width: 100%;
	height: fit-content;
	max-height: 100vh;
	border-top: calc(var(--spacing-xx-small) / 2) solid var(--primary-color);
}

[data-accessibility~="sidebar"] [data-type="accessibility"] {
	top: 0;
	right: 0;
	width: fit-content;
	max-width: 790px;
	height: 100vh;
	max-height: 100vh;
	border-left: calc(var(--spacing-xx-small) / 2) solid var(--primary-color);
}

#accessibilityContent:focus,
#accessibilityContent:focus-visible {
	outline: none;
	background-color: var(--bg-color)!important;
	color: var(--primary-font-color)!important;
}

#resetSettings {
	margin-top: 1.5rem;
}

.accessibility-container {
	display: flex;
	gap: 1rem;
	flex-direction: row;
	flex-wrap: wrap;
}

[data-type="accessibility"] {
	z-index: 9999;
}

[data-type="accessibility"] > div {
	width: 100%;
	max-width: var(--content-width);
	padding: 0 var(--spacing-large);
}

[data-type="accessibility"] > div > div {
	height: 100%;
	margin-bottom: calc(var(--spacing-medium) + 0.5rem);
}

[data-type="accessibility"] > div > a {
	display: inline-block;
	padding-top: var(--spacing-normal);
	padding-bottom: var(--spacing-normal);
	width: fit-content;
}

[data-type="accessibility"] label {
	font-family: "ApfelGrotezk", sans-serif;
	font-size: var(--font-size);
	letter-spacing: 1px;
	padding: 0.75rem 1rem;
}

[data-type="accessibility"] label:focus,
[data-type="accessibility"] label:focus-visible {
	outline: 0.25rem solid var(--focus-color);
	outline-offset: 0.25rem;
	border-radius: 0.25rem;
}

[data-type="accessibility"] .accessibility-content > span,
[data-type="accessibility"] .accessibility-category > span {
	display: block;
	font-size: var(--font-size);
	font-weight: 400;
	letter-spacing: var(--letter-spacing-normal);
	margin-top: var(--spacing-small);
	margin-bottom: var(--spacing-x-small);
}

[data-type~="cookie"] {
	position: fixed;
	right: 2rem;
	bottom: 2rem;
	width: 30rem;
	z-index: 1000;
	padding: 2rem;
	background-color: var(--bg-color-opposite);
	color: var(--secondary-font-color);
	border-radius: 0.5rem;
}

[data-type~="cookie"] > div {
	display: flex;
	flex-direction: row;
	gap: 1.5rem;
	justify-content: flex-start;
}

[data-type~="cookie"] > div > button {
	width: 100%;
}

@media only screen and (max-width: 48rem) {
	[data-type~="cookie"] {
		left: 0;
		bottom: 0;
		width: 100%;
		border-radius: 0;
	}
}

[data-type~="cookie"] p {
	margin-bottom: 1.5rem;
}

[data-type~="cookie"] a {
	color: var(--secondary-font-color);
}

#cookie-banner[data-type*="disabled"] {
    display: none;
}

#cookie-banner[data-type*="available"] {
    display: block;
}

#change-cookie-decision:hover {
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: var(--spacing-tiny);
}

.ui-tooltip {
    background-color: var(--surface-color);
    color: var(--primary-font-color);
    border: 3px solid var(--primary-color);
    border-radius: 0.5rem;
    font-size: 1rem;
    padding: 0.5rem 1rem;
	box-shadow: unset;
}

.ui-tooltip-content {
    white-space: nowrap;
}

footer {
	align-self: end;
	width: 100%;
	background-color: var(--primary-color);
	color: var(--secondary-font-color);
	padding: 2rem;
	border-radius: 0.5rem;
}

footer a,
footer a:hover {
	color: var(--secondary-font-color);
}

footer a::after {
	display: none;
}

@media only screen and (max-width: 30rem) {
	footer {
		border-radius: unset;
	}
}

footer [data-type="footer-social"] {
	display: flex;
	flex-direction: row;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 2rem;
	-webkit-user-select: none; 
	-ms-user-select: none;
	user-select: none; 			
}

footer [data-type="footer-social"] a {
	width: fit-content;
}

footer [data-type="footer-social"] a img {
	width: 3rem;
}

:root {
  --wp--preset--color--primary-color: #2D2C71;
  --wp--preset--color--primary-font-color: #1D1919;
  --wp--preset--color--surface-color: #FCF8FB;
  --wp--preset--color--muted-color: #A19F9F;
  --wp--preset--color--surface-alt-color: #F1E6F5;
  --wp--preset--color--secondary-font-color: #FDFEFE;
  --wp--preset--color--alt-font-color: #F0C8DC;
  --wp--preset--color--bg-color: #E9EBF8;
  --wp--preset--color--bg-color-alt: #FDFEFE;
  --wp--preset--color--bg-color-opposite: #8180BC;
  --wp--preset--color--bg-color-opposite-alt: #1D1919;
  --wp--preset--color--bg-color-transparent: rgba(188, 228, 231, 0.95);
  --wp--preset--color--shadow-color: #AAAAAA;
  --wp--preset--color--highlight-color: #FFCD00;
  --wp--preset--color--error-color: #BB4430;
  --wp--preset--color--warning-color: #FDCA40;
  --wp--preset--color--info-color: #7189FF;
  --wp--preset--color--success-color: #6CAE75;
  --wp--preset--color--focus-color: #8180BC;
}

/* Background classes */
.has-primary-color-background-color        { background-color: var(--wp--preset--color--primary-color) !important; }
.has-primary-font-color-background-color   { background-color: var(--wp--preset--color--primary-font-color) !important; }
.has-surface-color-background-color        { background-color: var(--wp--preset--color--surface-color) !important; }
.has-muted-color-background-color          { background-color: var(--wp--preset--color--muted-color) !important; }
.has-surface-alt-color-background-color    { background-color: var(--wp--preset--color--surface-alt-color) !important; }
.has-secondary-font-color-background-color { background-color: var(--wp--preset--color--secondary-font-color) !important; }
.has-alt-font-color-background-color       { background-color: var(--wp--preset--color--alt-font-color) !important; }
.has-bg-color-background-color             { background-color: var(--wp--preset--color--bg-color) !important; }
.has-bg-color-alt-background-color         { background-color: var(--wp--preset--color--bg-color-alt) !important; }
.has-bg-color-opposite-background-color    { background-color: var(--wp--preset--color--bg-color-opposite) !important; }
.has-bg-color-opposite-alt-background-color{ background-color: var(--wp--preset--color--bg-color-opposite-alt) !important; }
.has-bg-color-transparent-background-color { background-color: var(--wp--preset--color--bg-color-transparent) !important; }
.has-shadow-color-background-color         { background-color: var(--wp--preset--color--shadow-color) !important; }
.has-highlight-color-background-color      { background-color: var(--wp--preset--color--highlight-color) !important; }
.has-error-color-background-color          { background-color: var(--wp--preset--color--error-color) !important; }
.has-warning-color-background-color        { background-color: var(--wp--preset--color--warning-color) !important; }
.has-info-color-background-color           { background-color: var(--wp--preset--color--info-color) !important; }
.has-success-color-background-color        { background-color: var(--wp--preset--color--success-color) !important; }
.has-focus-color-background-color          { background-color: var(--wp--preset--color--focus-color) !important; }

/* Text (font color) classes */
.has-primary-color-color        { color: var(--wp--preset--color--primary-color) !important; }
.has-primary-font-color-color   { color: var(--wp--preset--color--primary-font-color) !important; }
.has-surface-color-color        { color: var(--wp--preset--color--surface-color) !important; }
.has-muted-color-color          { color: var(--wp--preset--color--muted-color) !important; }
.has-surface-alt-color-color    { color: var(--wp--preset--color--surface-alt-color) !important; }
.has-secondary-font-color-color { color: var(--wp--preset--color--secondary-font-color) !important; }
.has-alt-font-color-color       { color: var(--wp--preset--color--alt-font-color) !important; }
.has-bg-color-color             { color: var(--wp--preset--color--bg-color) !important; }
.has-bg-color-alt-color         { color: var(--wp--preset--color--bg-color-alt) !important; }
.has-bg-color-opposite-color    { color: var(--wp--preset--color--bg-color-opposite) !important; }
.has-bg-color-opposite-alt-color{ color: var(--wp--preset--color--bg-color-opposite-alt) !important; }
.has-bg-color-transparent-color { color: var(--wp--preset--color--bg-color-transparent) !important; }
.has-shadow-color-color         { color: var(--wp--preset--color--shadow-color) !important; }
.has-highlight-color-color      { color: var(--wp--preset--color--highlight-color) !important; }
.has-error-color-color          { color: var(--wp--preset--color--error-color) !important; }
.has-warning-color-color        { color: var(--wp--preset--color--warning-color) !important; }
.has-info-color-color           { color: var(--wp--preset--color--info-color) !important; }
.has-success-color-color        { color: var(--wp--preset--color--success-color) !important; }
.has-focus-color-color          { color: var(--wp--preset--color--focus-color) !important; }

.ui-selectmenu-button.ui-button {
	border: 2px solid var(--primary-font-color);
	border-radius: 0.5rem;
	background-color: #FFF;
	width: 100%;
	padding: 0.75rem;
}