/*
Theme Name: Weizengaming
Author: Weizengaming
Version: 1.16
Text Domain: weizengaming
*/

:root {
    --my-sin: #ffb52b;
    --dairy-cream: #f9e4bd;
    --cocoa-brown: #291d1d;
    --gamboge: #d38e0d;
    --alabaster: #ffffff;
    --woody-brown: #4e3737;
    --mine-shaft: #3c3c3c;
    --silver: #bebebe;
    --persian-red: #cc3333;

    --golden-ratio: 1.618;
    --base-font-size: 1rem;
}

* {
    box-sizing: border-box;
}

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    min-height: 100%;
}

body {
    background-color: var(--alabaster);
    color: var(--cocoa-brown);

    font-family: "laca-text", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1rem;

    -webkit-font-smoothing: antialiased;

    padding: 0; 
    margin: 0;

    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem 1rem 20% 1rem;
    background: url('img/waves.svg') no-repeat bottom center;
    background-size: 100% auto;
}

#cookie-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: var(--cocoa-brown);
  color: var(--dairy-cream);
  padding: 0.618rem 1rem;
  text-align: center;
  z-index: 1000;
}

#cookie-banner .row-small {
    width: fit-content;
    margin: 0 auto;
}


/* Text */

p{
    font-size: var(--base-font-size);
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "barricada-pro", sans-serif;
    font-weight: normal;
    font-style: normal;
    margin: 0;
    line-height: 1;
}

h1 {
  font-size: calc(var(--base-font-size) * pow(var(--golden-ratio), 4));
}

h2 {
  font-size: calc(var(--base-font-size) * pow(var(--golden-ratio), 3));
}

h3 {
  font-size: calc(var(--base-font-size) * pow(var(--golden-ratio), 2));
}

h4 {
  font-size: calc(var(--base-font-size) * var(--golden-ratio));
}

h5 {
  font-size: calc(var(--base-font-size) * pow(var(--golden-ratio), 0.5));
}

h6 {
  font-size: var(--base-font-size);
}

.heading {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.heading p {
    font-size: 1.618rem;
}

a {
    color: var(--my-sin);
    text-decoration: none;
}

a:hover,
a:focus {
    color: var(--gamboge)
}

/* Utility */

.v-center {
    margin-left: auto; 
    margin-right: auto;
}

.h-center {
    justify-items: center;
    align-items: center;
}

/* hr Elements */

hr{
    background-color: var(--cocoa-brown);
    height: 1px;
    max-width: 1000px;
    width: 100%;
    border: none;
}

/* Container Elements */

.site-main,
.wrapper,
.wrapper-small {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.site-main,
.wrapper {
    gap: 1rem;
}

.site-main {
    max-width: 1000px;
    margin: 0 auto;
}

.wrapper-small {
    gap: 0.618rem;
}

.row,
.row-small,
.row-flex-between {
    display: flex;
    flex-direction: row;
}

.row {
    gap: 1rem;
}

.row-small,
.row-flex-between {
    gap: 0.618rem;
}

.row-flex-between {
    justify-content: space-between;
}

.col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.flex-1{
    flex: 1;
}

.flex-2 {
    flex: 2;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

@media (max-width: 900px) {
    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .row-responsive{
        flex-direction: column;
    }

    .grid {
        grid-template-columns: 1fr;
    }
}

/* Sizing */

.w-100 {
    width: 100%;
}

/* Form Inputs */ 

input,
textarea,
select,
.select2-container .select2-dropdown, 
.select2-container .select2-selection {
    color: var(--cocoa-brown) !important;
    border: 1px solid var(--cocoa-brown) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0.618rem 1rem !important;
    font-family: inherit !important;
    font-size: inherit !important;
    box-sizing: border-box !important;
}

textarea {
    resize: none !important;
}

input::placeholder,
textarea::placeholder {
    color: var(--silver) !important;
}

input:focus,
input:hover,
textarea:focus,
textarea:hover,
select:focus,
select:hover,
.select2-container .select2-selection:focus
.select2-container .select2-selection:hover  {
    border-color: var(--my-sin) !important;
    outline: none !important;
}

input[type="radio"],
input[type="checkbox"] {
    accent-color: var(--cocoa-brown) !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

input[type="radio"]:hover,
input[type="checkbox"]:hover,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
    accent-color: var(--my-sin) !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 1;
    box-sizing: border-box;
    color: var(--cocoa-brown);
    font-weight: normal;
}

select option:checked,
.select2-container--default .select2-results__option[aria-selected=true], 
.select2-container--default .select2-results__option[data-selected=true] {
    background-color: var(--dairy-cream);
}

.select2-container--default .select2-results__option--highlighted[aria-selected], 
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: var(--my-sin) !important;
    color: var(--cocoa-brown) !important;
}

.woocommerce form .form-row.woocommerce-invalid label,
.woocommerce form .form-row .required{
    color: var(--persian-red) !important;
    font-weight: normal !important;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text, 
.woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--persian-red) !important;
}

.woocommerce form .form-row {
    padding: 0;
    margin: 0;
    width: 100%;
}

.woocommerce form .form-row label {
    line-height: 2;
}

/* Buttons */

.button {
    font-family: "barricada-pro", sans-serif !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    padding: 0.618rem 1rem !important;
    border-radius: 0 !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: normal  !important;
    font-style: normal  !important;
    margin: 0 !important;
    text-align: center !important;
    background-color: var(--my-sin) !important;
    color: var(--cocoa-brown) !important;
}

.button-primary {
    background-color: var(--my-sin) !important;
    color: var(--cocoa-brown) !important;
}

.button:hover,
.button:focus,
.button-primary:hover,
.button-primary:focus {
    background-color: var(--gamboge) !important;
}

button[disabled],
button[disabled]:hover
button[disabled]:focus,
button:disabled[disabled]:hover,
button:disabled[disabled]:focus {
    background: var(--silver) !important;
    color: var(--mine-shaft) !important;
    opacity: 1 !important;
}

.remove,
.woocommerce a.remove {
    color: var(--persian-red) !important;
}

.remove:hover,
.remove:focus {
    background-color: var(--persian-red) !important;
}

/* List Elements */

main ul{
    display: flex;
    flex-direction: column;
    gap: 0.618rem;
    padding: 0; 
    margin: 0;
}

main li {
    padding: 0;
    margin: 0 !important;
    list-style: none;
}

/* Woocommerce Notices */ 

.woocommerce-notices-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.618rem;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    padding: 0.618rem 1rem 0.618rem 3rem;
    margin: 0;
    background-color: var(--alabaster);
    color: var(--cocoa-brown);
    border-top: 3px solid var(--my-sin);
}

.woocommerce-message::before {
    color: var(--my-sin);
}

.woocommerce-info {
    border-top-color: var(--cocoa-brown);
}

.woocommerce-info::before {
    color: var(--cocoa-brown);
}

.woocommerce-error {
    border-top-color: var(--persian-red);
}

.woocommerce-error::before {
    color: var(--persian-red);
}

/* Navbar */

.navbar-default,
.navbar-mobile {
    align-items: center;
    justify-content: space-between;
    padding: 0 1.618rem;
    background: var(--my-sin);
    min-height: 64px;
    font-family: 'barricada-pro', sans-serif;
}

.navbar-default {
    display: flex;
}

.navbar-mobile {
    display: none;
}

.navbar-left {
    display: flex;
    align-items: center;
}

.navbar-default .custom-logo-link,
.navbar-mobile .custom-logo-link {
    padding: 0.618rem 1rem;
}

.custom-logo-link .custom-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
}

.navbar-left-list,
.navbar-right-menu {
    display: flex;
    align-items: center;
    gap: 0.618rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.navbar-default a {
    color: var(--cocoa-brown);
    text-decoration: none;
    padding: 0.618rem 1rem;
}

.navbar-default a:hover {
    background: var(--gamboge);
    color: var(--cocoa-brown);
}

.navbar-burger {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.618rem;
    padding: 0.618rem 1rem;
}

.navbar-burger span {
    display: block;
    width: 2rem;
    height: 3px;
    background: var(--cocoa-brown);
    border-radius: 2px;
}

.navbar-mobile-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 64px;
    left: 0;
    width: 100%;
    background: var(--alabaster);
    z-index: 100;
    border-bottom: 2px solid var(--my-sin);
}

.navbar-mobile-menu.open {
    display: flex;
}

.navbar-mobile-menu a {
    color: var(--cocoa-brown);
    text-decoration: none;
    padding: 0.618rem 1rem;
    font-family: 'barricada-pro', sans-serif;
}

.navbar-mobile-menu a:hover {
    background: var(--dairy-cream);
}

.navbar-mobile-menu hr {
    border: none;
    border-top: 1px solid var(--silver);
    margin: 0.618rem 0;
}

/* Cart Icon (Desktop) */

.cart-link,
.mobile-cart-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: inherit;
    font-family: 'barricada-pro', sans-serif;
}

.cart-icon {
    width: 1.6rem;
    height: 1.6rem;
    display: inline-block;
    vertical-align: middle;
    filter: invert(8%) sepia(10%) saturate(4000%) hue-rotate(340deg) brightness(90%) contrast(90%);
    transition: filter 0.2s ease;
}

.cart-link:hover .cart-icon {
    filter: none;
}

.cart-count,
.mobile-cart-count {
    font-size: 1rem;
    text-align: center;
}

/* Breakpoint: Mobile Layout */

@media (max-width: 900px) {
    .navbar-default {
        display: none;
    }

    .navbar-mobile {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 2rem;
        background: var(--my-sin);
        min-height: 64px;
    }

    .navbar-mobile .custom-logo-link {
        display: flex;
        align-items: center;
    }

    .navbar-mobile .cart-link {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-left: auto;
        margin-right: 0.5rem;
        text-decoration: none;
        color: inherit;
    }

    .navbar-mobile .cart-icon {
        width: 1.6rem;
        height: 1.6rem;
        filter: invert(8%) sepia(10%) saturate(4000%) hue-rotate(340deg) brightness(90%) contrast(90%);
    }

    .navbar-mobile .cart-link:hover .cart-icon {
        filter: none;
    }

    .navbar-mobile-menu ul,
    .navbar-mobile-menu li {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .navbar-mobile-menu a {
        display: block;
        padding: 0.618rem 1rem;
    }
}

/* Footer */

footer {
    background: var(--woody-brown);
    color: var(--alabaster);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.618rem;
    padding: 1rem 0;
    width: 100%;
}

.footer-logo-container .custom-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
}

/* Social Icons */

.social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

footer .social-icons a img {
    height: 1.618rem;
    width: auto;
    filter: brightness(0) invert(86%) sepia(12%) saturate(749%) hue-rotate(330deg) brightness(1.1);
    transition: 0.2s ease;
}

footer .social-icons a:hover img {
    filter: brightness(0) invert(1);
}

/* Footer Links */

.footer-menu a {
    color: var(--dairy-cream);
    text-decoration: none;
    font-size: var(--base-font-size);
}

.footer-menu a:hover {
    color: var(--alabaster);
}

/* Copyright */

.copyright {
    background-color: var(--cocoa-brown);
    color: var(--dairy-cream);
    padding: 0.618rem 1rem;
    text-align: center;
}

/* Footer Nav */ 

.footer-nav {
    padding: 0; 
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 0.618rem;
}

.footer-nav li {
    list-style: none;
}

/* Review Order */

.border-bottom,
.review-order-item {
    border-bottom: 1px solid var(--silver);
}

/* Cart */

.cart-item-thumbnail > a > img{
    height: 4rem;
    width: auto;
    display: block;
}

.wc-proceed-to-checkout {
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .cart-item-thumbnail > a > img{
        display: none;
    }
}

/* Payment */

#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment {
    background: none;
    border-radius: 0;
}

.woocommerce #payment #place_order, 
.woocommerce-page #payment #place_order {
    max-width: 500px;
    width: 100%;
    margin: 0 auto !important;
}

#add_payment_method #payment ul.payment_methods, 
.woocommerce-cart #payment ul.payment_methods, 
.woocommerce-checkout #payment ul.payment_methods {
    text-align: left;
    padding: 0;
    border: none;
    margin: 0;
    list-style: none outside;
}

#add_payment_method #payment div.payment_box, 
.woocommerce-cart #payment div.payment_box, 
.woocommerce-checkout #payment div.payment_box {
    padding: 0.618rem 1rem;
    margin: 0.618rem 0 0 0;
    font-size: 1rem;
    border-radius: 0;
    line-height: 1;
    background-color: var(--dairy-cream);
    color: var(--cocoa-brown);
}

#add_payment_method #payment div.payment_box::before, 
.woocommerce-cart #payment div.payment_box::before, 
.woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: block;
    border: 1rem solid var(--dairy-cream);
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: -1rem;
    left: 0;
    margin: -0.618em 0 0 2em;
}

fieldset {
    border: none !important;
    margin: 0;
    padding: 0;
}

#add_payment_method #payment ul.payment_methods li img, 
.woocommerce-cart #payment ul.payment_methods li img, 
.woocommerce-checkout #payment ul.payment_methods li img {
    margin: 0;
    margin-left: 0.618rem;
    height: 1.618rem;
}

.paylpal-button-row {
    margin: 0 !important;
}

.woocommerce .type-product .wcpay-express-checkout-wrapper, 
.wp-block-add-to-cart-form .wcpay-express-checkout-wrapper, 
.wc-proceed-to-checkout .wcpay-express-checkout-wrapper {
    margin-top: 0;
    margin-bottom: 0;
}

.paypal-button-container {
    display: flex;
    flex-direction: column;
    gap: 0.618rem;
}

.paypal-button-container.paypal-autoresize-container.paypal-button-layout-vertical.paypal-button-shape-rect.paypal-button-number-multiple.paypal-button-env-production {
    max-width: none;
}

.paypal-button-row.paypal-button-layout-vertical {
    margin-bottom: 0 !important;
}

#ppc-button-ppcp-gateway {
    display: flex;
    flex-direction: column;
    gap: 0.618rem;
}

#ppc-button-ppcp-gateway > *{
    margin: 0 !important;
}

.ppc-button-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

#ppc-button-ppcp-gateway {
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}

#ppc-button-ppcp-gateway > div {
    width: 100% !important;
}

/* Shop Loop */

.woocommerce .woocommerce-ordering, 
.woocommerce .woocommerce-result-count {
    margin: auto  0 0 0 !important;
}

.woocommerce .woocommerce-ordering select {
    vertical-align: top;
    width: 100%;
}

/* Pagination */ 

.woocommerce nav.woocommerce-pagination ul{
    border: none;
    margin: auto;

    display: flex;
    flex-direction: row;
    gap: calc(0.618rem * 0.618);
}

.woocommerce nav.woocommerce-pagination ul li {
    border-right: none;
}

.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span {
    color: var(--cocoa-brown) !important;
    font-size: 1rem;
    font-family: "barricada-pro", sans-serif;
    background-color: var(--dairy-cream);
}

.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--cocoa-brown) !important;
    background-color: var(--my-sin);
}

/* Sale */

.onsale {
    position: absolute;
    top: 0.618rem !important;
    left: 0.618rem !important;
    background: var(--persian-red) !important;
    color: var(--alabaster) !important;
    padding: 0.2rem 0.5rem !important;
    font-size: 1rem !important;
    z-index: 10 !important;
    width: fit-content !important;
}

/* Content Product */

.grid.products.columns-3 > a {
    background-color: var(--dairy-cream);
    color: var(--cocoa-brown);
}

.product-thumbnail {
    position: relative;
    width: 100%;
    overflow: hidden;  
}

.product-thumbnail img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.product-desc {
    padding: 0 1rem 1rem 1rem;
}

/* Price */

.price {
    font-size: 1rem !important;
    color: var(--cocoa-brown) !important;
}

.product-desc .price {
    text-align: end;
}

.price del,
.price ins {
    color: var(--persian-red);
}

.price ins {
    text-decoration: none;
}

.woocommerce div.product p.price del, 
.woocommerce div.product span.price del {
    opacity: 1;
}

.woocommerce div.product p.price ins, 
.woocommerce div.product span.price ins {
    font-weight: normal;
}

/* Product Image */

.wc-gallery-wrapper {
    position: relative;
}

.woocommerce-product-gallery {
    position: relative;
    margin: 0 !important;
    position: relative;
}

.wc-gallery-nav-buttons {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    z-index: 10;
    pointer-events: none;
    padding: 0 0.618rem;
    box-sizing: border-box;
}

.woocommerce-product-gallery--single-image .wc-gallery-nav-buttons {
    display: none;
}

.wc-gallery-arrow,
.wc-gallery-arrow:focus {
    background: var(--cocoa-brown);
    border: none;
    padding: 0.618rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: all;
    font-size: 1.618rem;
    font-weight: bold;
    color: var(--dairy-cream);
    line-height: 1;
}

.wc-gallery-arrow:hover {
    background: var(--woody-brown);
}

.wc-gallery-prev { 
    left: 0.618rem; 
}

.wc-gallery-next {
    right: 0.618rem; 
}

.woocommerce div.product div.images .flex-control-thumbs {
    display: flex;
    flex-direction: row;
    gap: 0.618rem;
}

/* Single Product */

.woocommerce div.product div.summary,
.woocommerce div.product form.cart,
.variations {
    margin: 0 !important;
}

.woocommerce div.product form.cart .variations label {
    font-weight: normal;
}

.woocommerce div.product form.cart::after, 
.woocommerce div.product form.cart::before {
    content: none;
}

/* Accordion */

.wc-accordion-title,
.wc-accordion-title:focus {
    background-color: var(--alabaster);
    color: var(--cocoa-brown);
    border: none;
    border-bottom: 1px solid var(--silver);
    box-shadow: none;
    padding: 0.618rem 0;
}

.wc-accordion-title:hover {
    cursor: pointer;
}

.wc-accordion-content {
    padding-left: 1rem;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: 
        max-height 0.35s ease,
        opacity 0.25s ease;
}

.wc-accordion-content.open {
    opacity: 1;
}

/* Additional Information */ 

.woocommerce table.shop_attributes {
    border: none;
    margin-bottom: 0;
    width: 100%;
}

p.hostinger-reach-optin.form-row {
    display: none;
}

/* Categories Overlay */

#category-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.75);
    backdrop-filter: blur(3px);
    display: none;
    z-index: 9999;
}

#category-overlay.active {
    display: flex;
    justify-content: center;
    align-items: center;
}

.overlay-inner {
    width: 80%;
    max-width: 1000px;
    height: 70%;
    background: var(--alabaster);
    padding: 1rem;
    position: relative;
}

.cat-close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 1.618rem;
    cursor: pointer;
}

.subcategory-list {
    padding-left: 0.618rem;
}

.main-cat-title a,
.main-cat-title a:hover,
.main-cat-title a:focus,
.subcategory-list li a, 
.subcategory-list li a:hover,
.subcategory-list li a:focus{
    color: var(--cocoa-brown) !important;
}