/*
Theme Name: O.A.P. Records
Theme URI: https://oaprecords.com/
Author: O.A.P. Records
Description: Catalogue and webshop theme for O.A.P. Records, an independent jazz and world-music label in The Hague. Bilingual (en/nl) through qTranslate-XT, with a REST-backed product search overlay.
Version: 3.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
WC requires at least: 8.0
WC tested up to: 11.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oaprecords
Domain Path: /languages
*/

:root {
    --oap-touch-min: 44px;
}

* {
    color: #B7B7B5;
}

iframe {
    border: 0;
}

select {
    background-color: #2B2B29;
    border: 1px solid #B7B7B5;
    color: #B7B7B5;
    font-family: inherit;
    font-size: 17px;
    padding: 6px 8px;
}

html {
    margin: 0px;
    padding: 0px;
    height: 100%;
    width: 100%;
    background-color: #3C3D3A;
}

body {
    margin: 0px;
    padding: 0px;
    font-family: Verdana, arial, sans-serif;
}

h1 {
	font-size: 22px;
}

h2 {
	font-size: 20px;
}

p, my-email {
	color: #00A7EC;
	font-size: 17px;
}

a {
	color: #00A7EC;
}

.woocommerce-breadcrumb a,
.page-numbers,
.search-title,
.price,
.products .button {
	color: #B7B7B5;
}

a, h3 {
	font-size: 17px;
}

contact-email {
	display: flex;
}

nav, nav > a {
	font-size: 13pt;
}

my-email::after {
	content: attr(data-domain);
}
my-email::before {
	content: attr(data-user) "\0040";
}

a:active, a:visited, a {
    text-decoration: none;
}

.woocommerce a.remove {
	color: inherit!important;
}

.page-container-theme {
    width: 80vw;
    min-height: 100vh;
    margin: auto;
	max-width: 1200px;
}

.navbar-header {
    width: 100%;
	position: relative;
    background-color: #1E1E1C;
}

.navbar-header > img {
	width: 100%;
	height: calc(80vw * 0.197);
	max-height: calc(1200px * 0.197);
}

.cart-icon {
    height: 20px!important;
    width: 20px;
    background: url("assets/img/icon-cart.png") no-repeat center;
    background-size: contain;
    color: #B7B7B5;
    position: absolute;
    right: 45px;
}

.cart-icon-small {
    height: 20px;
    width: 20px;
    background: url("assets/img/icon-cart.png") no-repeat center;
    background-size: contain;
    color: #B7B7B5;
}

.cart-container-span {
    position: relative;
}

.cart-head {
    bottom: 0px;
    left: 5px;
    position: absolute;
}

.cart-icon-small-container {
    height: 100%;
    display: flex;
    align-items: center;
    float: right;
    margin-right: 3vw;
    position: relative;
}

.cart-c {
    position: absolute;
    top: 1px;
    left: 20px;
}

.navbar-img {
	z-index: 3;
    height: 85%;
    width: 100%;
}

#fixed-nav {
	transition: 0.3s;
}

.navbar-menu {
	z-index: 200;
    height: 40px;
    width: 80vw;
	max-width: 1200px;
    background-color: #1E1E1C;
	top: 0;
}

ul {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}

.navbar-menu ul {
    text-align: center;
}

.navbar-menu > ul {
    display: flex;
    height: 100%;
    align-items: center;
    margin-left: 28px;
    position: relative;
}

.navbar-menu > ul > li {
    height: 100%;
    display: flex;
    align-items: center;
	margin-bottom: 4px;
}

.navbar-menu > ul > li:hover {
    background-color: #3C3C3A;
}

.navbar-menu > ul > li > a {
    padding: 7px 17px 7px 17px;
	font-size: 13pt;
	color: #B7B7B5;
}

.oap-nav-link {
	text-transform: uppercase;
}

.hidden-nav {
	display: none;
}

footer {
    position: relative;
    height: 8vh;
}

footer > p {
    position: absolute;
    right: 30px;
}

footer > p > a, .footer-left > p > a {
    color: #00A7EC;
}

.footer-left {
    position: absolute;
    left: 30px;
}

.footer-left > p {
    color: black;
}

.nav-small {
    display: none;
}

.nav-dropmenu {
    display: none;
}

.nav-dropmenu > li > a {
    color: #B7B7B5;
}

.nav-dropmenu > li:hover {
    background-color: #1E1E1C;
}

.nav-dropbtn:hover {
    background-color: #3C3D3A;
}

.woocommerce-error, .woocommerce-notices-wrapper {
    display: flex;
    flex-direction: column;
    background-color: #3C3D3A;
}

.woocommerce-message {
    margin-left: 10px;
}

@media all and (max-width: 1000px) {
    .page-container-theme, .navbar-menu {
        width: 90vw;
    }
	
	.navbar-header > img {
		height: calc(90vw * 0.197);
	}

    .albums-frontpage-info {
        margin-right: 30px;
    }
}

.prod-link-front {
    margin: 0;
}


.oap-bottom-logo {
    margin-top: 3vh;
    width: auto!important;
    height: 113px!important;
    object-fit: contain;
}

.foot-img-container {
    margin-left: 5%;
}

body.search .foot-img-container {
    margin-left: 10%;
}
.woocommerce-info, .woocommerce-message {
	background-color: #3C3D3A;
	color: #B7B7B5;
}

@keyframes fadeInAni {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


.search-window {
    display: none;
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.6);
    animation: fadeInAni ease 0.15s both;
}

.search-window > div {
    position: relative;
    height: 100%;
    width: 100%;
}

.search-content-window {
    position: absolute;
    top: 10vh;
    left: 50%;
}

.search-content-window > div {
    margin-left: -50%;
}

.search-content-container,
.search-content-container *,
.search-content-container *::before,
.search-content-container *::after {
    box-sizing: border-box;
}

.search-content-container {
    --oap-panel-pad: 3vw;
    --oap-close-size: 40px;
    --oap-close-gap: 12px;
    padding:
        calc(var(--oap-panel-pad) + var(--oap-close-size) + var(--oap-close-gap))
        var(--oap-panel-pad)
        var(--oap-panel-pad);
    max-width: 1000px;
    width: 70vw;
    max-height: 70vh;
    background-color: #1E1E1C;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #B7B7B5 #3C3D3A;
    position: relative;
}

#positioning-search {
    position: relative;
}

.search-header {
    text-align: center;
}

.content-search-container {
    width: 80%;
    margin: auto;
    display: grid;
    grid-template-columns: 50% 50%;
    margin-top: 15px;
}

.search-img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    max-width: 300px;
}

.search-info {
    margin-left: 10px;
}

.search-read {
    color: #00A7EC;
}

.encapsulate-input {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 0;
}

#oapsearch-input {
    border: none;
    outline: none;
    background-color: #1E1E1C;
    color: #B7B7B5;
    font-size: 17pt;
    border-bottom: 1px solid #B7B7B5;
    width: 100%;
}

.close-search {
    position: absolute;
    right: var(--oap-panel-pad);
    top: var(--oap-panel-pad);
	background: url('assets/img/icon-close.jpg') no-repeat center;
	background-size: 100% 100%;
	width: var(--oap-close-size);
	height: var(--oap-close-size);
}

.open-search-container {
    cursor: pointer;
    height: 20px;
    width: 20px;
    background: url("assets/img/icon-search.png") no-repeat center;
    background-size: contain;
    color: #B7B7B5;
    position: absolute;
    right: 85px;
}

.open-search-container-small {
	cursor: pointer;
	height: 20px;
    width: 20px;
    background: url("assets/img/icon-search.png") no-repeat center;
    background-size: contain;
    color: #B7B7B5;
	position: absolute;
	margin-top: 10px;
	right: 80px;
}

#oapsearch-status {
	color: #B7B7B5;
	font-size: 12pt;
	margin-top: 20px;
	min-height: 1.4em;
	text-align: center;
}

#oapsearch-status[data-state="error"] {
	color: #FF8A80;
	border: 1px solid #FF8A80;
	padding: 8px;
}

#oapsearch-results {
	list-style: none;
	margin: 10px 0 0 0;
	padding: 0;
}

#oapsearch-results > li {
	--oap-thumb-size: 80px;
	border-bottom: 1px solid #3C3D3A;
	column-gap: 15px;
	display: grid;
	grid-template-columns: var(--oap-thumb-size) minmax(0, 1fr) max-content;
	grid-template-rows: auto auto auto 1fr;
	padding: 12px 0;
}

.oap-result {
	align-items: start;
	color: #B7B7B5;
	display: grid;
	grid-column: 1 / -1;
	grid-row: 1 / -1;
	grid-template-areas:
		"thumb title   price"
		"thumb excerpt price"
		"thumb sku     price"
		"thumb .       .";
	grid-template-columns: subgrid;
	grid-template-rows: subgrid;
	text-decoration: none;
}

#oapsearch-results > li > .iframe-spotify-btn {
	align-self: end;
	grid-column: 3;
	grid-row: 4;
	justify-self: end;
}

.oap-result > img {
	aspect-ratio: 1 / 1;
	grid-area: thumb;
	object-fit: cover;
	width: var(--oap-thumb-size);
	height: auto;
}

.oap-result > .title {
	color: #00A7EC;
	font-size: 14pt;
	grid-area: title;
}

.oap-result > .excerpt {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	grid-area: excerpt;
	overflow: hidden;
}

.oap-result > .sku {
	font-size: 10pt;
	grid-area: sku;
	opacity: 0.7;
}

.oap-result > .price {
	grid-area: price;
	text-align: right;
	white-space: nowrap;
}

.oap-result > .thumb-placeholder {
	aspect-ratio: 1 / 1;
	background-color: #3C3D3A;
	grid-area: thumb;
	width: var(--oap-thumb-size);
}

.spotify-window-container {
	position: absolute;
	display: flex;
	flex-direction: column;
	bottom: 0;
	right: 0;
	height: 0px;
	width: 0px;
	z-index: 3;
	transition: 0.5s;
	background: black;
}

.top-right-corner {
	display: none;
	flex: 0 0 auto;
}

.spotify-window-container > iframe {
	flex: 1 1 auto;
	min-height: 0;
}

.iframe-close-btn {
	align-items: center;
	background: transparent;
	border: none;
	box-sizing: border-box;
	color: #B7B7B5;
	cursor: pointer;
	display: flex;
	gap: 4px;
	justify-content: center;
	margin-left: auto;
	min-height: var(--oap-touch-min);
	min-width: var(--oap-touch-min);
	padding: 0 8px;
}

.iframe-close-btn .dashicons {
	color: inherit;
}

.iframe-close-btn:hover,
.iframe-close-btn:focus-visible {
	color: #00A7EC;
}

.iframe-spotify-btn {
	background: rgba(43, 43, 41, 0);
	border: none;
	cursor: pointer;
	outline: none;
	font-size: 15pt;
	filter: brightness(1.5)
}

#oapsearch-results .spotify-window-container {
	position: fixed;
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	transform: translate(-50%, -50%);
	overflow: hidden;
	max-width: 100vw;
	max-height: 100vh;
}

.language-container {
	position: absolute;
	right: 2%;
}

.language-container > p > a {
	color:#B7B7B5;
}


.search-title {
	font-size: 17pt;
}

.multine-ellipsis {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.fiveline-ellipsis {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

@media all and (max-width: 900px) {
	.navbar-menu > ul {
        display: none;
    }

    .navbar-menu {
        height: var(--oap-touch-min);
    }

    .nav-small {
        --oap-nav-offset: 7vw;
        display: block;
        height: 100%;
        position: relative;
		width: 85vw;
    }

    .nav-dropbtn {
        background-color: #1E1E1C;
        height: 100%;
        min-width: var(--oap-touch-min);
        border: none;
        float: left;
        outline: none;
        margin-left: var(--oap-nav-offset);
        z-index: 10;
        font-size: large;
        position: relative;
    }

    .nav-dropmenu {
        position: absolute;
        left: var(--oap-nav-offset);
        z-index: 9;
        background-color: #3C3D3A;
        animation: fadeInAni ease 1s;
    }

    .navbar-menu ul.nav-dropmenu {
        text-align: left;
    }

    .nav-dropmenu > li {
        padding: 0 5vw;
    }

    .nav-dropmenu > li > a {
        display: block;
        min-height: var(--oap-touch-min);
        line-height: var(--oap-touch-min);
    }

    .nav-dropmenu > li:first-of-type {
        padding: 0;
        height: 40px;
    }

    .nav-dropmenu > li:hover:first-of-type, .nav-dropmenu > li:hover:last-of-type {
    background-color: #3C3D3A;
    }

    .nav-dropmenu > li:last-of-type {
        padding: 0;
        height: 40px;
    }

    .open-search-container-small {
        height: var(--oap-touch-min);
        width: var(--oap-touch-min);
        background-position: center;
        background-size: 20px auto;
        margin-top: 0;
    }

    .cart-icon-small {
        height: var(--oap-touch-min);
        width: var(--oap-touch-min);
        background-position: center;
        background-size: 20px auto;
    }

    .cart-c {
        left: 32px;
    }

    .language-container > p > a {
        display: inline-block;
        min-width: var(--oap-touch-min);
        min-height: var(--oap-touch-min);
        line-height: var(--oap-touch-min);
        text-align: center;
    }

	.search-content-container {
		width: 80vw;
		max-height: 80vh;
	}
	
	.content-search-container {
		width: 95%;
	}

	body.search .foot-img-container {
		margin-left: 2.5%;
	}
	
	.search-title {
		font-size: 14pt;
	}
	
	.search-content-window {
		top: 3vh;
	}

	#oapsearch-results > li {
		--oap-thumb-size: 56px;
	}
}

@media all and (max-width: 500px) {
    #oapsearch-input {
        font-size: 16pt;
    }
}

.hidden {
	display: none;
}