/* Main */
:root {
    color-scheme: dark;
    --offsets: 20px;
    --wrapper: 1440px;
    --width-container: 1040px;
}

* {
    box-sizing: border-box;
}

body,
html {
    scroll-behavior: smooth;
    margin: 0;
}

body {
    background-color: #232939;
    color: #b0a4a4;
    font-size: 16px;
    line-height: 1.5;
}

html {
    accent-color: #008b8b;
    color-scheme: dark;
}


.wp-full-overlay {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

hr {
    border: 0;
    height: 1px;
    margin: 16px 0;
    width: 100%
}

main {
    position: relative;
    padding: 0;
}

.section {
    position: relative;
    width: 100%
}

button, label{
    cursor: pointer;
}

.space-around {
    justify-content: space-around !important;
}

.space-evenly {
    justify-content: space-evenly !important;
}

.flex-wrap {
    flex-wrap: wrap;
}

.min-vh {
    min-height: 100vh;
}

.wp-block-list {
    padding-left: 20px;
}

.wp-block-list li {
    margin-bottom: 20px;
}

.post-type-member .wp-block-post-content a,
.post-content p a {
    text-decoration: underline;
    color: #008b8b;

    &:hover {
        text-decoration: none;
    }
}


/* */

.wrapper{
    width: 100%;
    max-width: var(--wrapper);
    margin: 0 auto;
}

.container {
    margin: 0 auto;
    padding: 0 20px;
    max-width: calc(var(--width-container) + 40px);
}

@media (max-width:991px) {
    .container{
       max-width: initial;
        padding: 0;
    }

}



body a {
    text-decoration: none;
    color: #00cfa6;
}

body a:hover {
    color: #008b8b;
    text-decoration: underline;
}

a:where(:not(.wp-element-button)){
    color: #008b8b;
    transition: .2s ease;
}

body .wp-block-button__link{

    &:hover{
        color: #000;
        text-decoration: none;
    }
}

.wp-block-heading{
    line-height: 1.2;
}


::selection {
    background-color: #008b8b;
    color: #fff;
}

::-moz-selection {
    background-color: #008b8b;
    color: #fff;
}


.btn a {
    display: block;
    width: 100%;
    height: 100%;
    background: none;
    color: inherit;
    text-decoration: none;
    padding: 0;
}


.btn-prime a {
    color: #fff;
    border: 1px solid #3ccc87;
    background: transparent;
    transition: .2s ease;

    &:hover {
        border-color: #3ccc87;
        background: #3ccc87;
    }
}


.wp-block-quote {
    position: relative;
    padding: 10px 10px 10px 20px;
    margin: 15px 0;
    font-size: 3em;

    &:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 2px;
        height: 100%;
        background-color: #008b8b;
    }
}





#front-page {
    position: relative;
    z-index: 10;
}

.wp-site-blocks {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: calc(100dvh);
}

.wp-site-blocks p {
    line-height: 1.6;
}


.wp-block-post-content {
    padding: 20px;
}


@media (max-width:768px) {
    .wp-block-post-content{
        padding: 0;
    }
}

.single_picture {
    position: relative;
    width: 100%;

}
/* LISTS */


.wp-block-list p:not(:last-child) {
    margin-bottom: 10px;
}

ul.wp-block-list ,
ol.wp-block-list  {
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

ul.wp-block-list:not(:first-child),
ol.wp-block-list:not(:first-child) {
    margin-top: 15px;
}

ol.wp-block-list,
ul.wp-block-list {
    counter-reset: wp-counter;
}

.wp-block-list li {
    position: relative;
    min-height: 32px;
    padding-left: 35px;
    line-height: 24px;
    margin-bottom: 5px;
    font-size: 15px;
}

.wp-block-list li p{
    font-size: 15px;
}

.wp-block-list li:not(:last-child) {
    margin-top: 10px;
}

ol.wp-block-list li::before {
    content: counter(wp-counter);
    counter-increment: wp-counter;
    position: absolute;
    top: 2px;
    left: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid #00CFA6FF;
    border-radius: 50%;
    color: #00CFA6FF;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-shadow: 0 0 8px #00CFA6FF;
}

ul.wp-block-list li::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 8px;
    width: 10px;
    height: 10px;
    border: 1px solid #00CFA6FF;
    border-radius: 50%;
    background: #00CFA6FF;
    box-shadow: 0 0 10px rgb(0 207 166 / 0.8), inset 0 0 0 2px transparent;
}

/* Table */

.wp-block-table table {
    width: 100%;
    border-spacing: 1px;
    height: auto;
    overflow: auto;
}
.wp-block-table table td, .wp-block-table table th {
    padding: 12px;
    text-align: left;
}
.wp-block-table  table th {
    background:  #13171f;
    color:  #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
}

.wp-block-table table tr td {
    background: #1b1f28;
    position: relative;
    color:  #b0a4a4;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
}

.wp-block-table table {
    width: 100%;
    table-layout: auto;
}

.wp-block-table table tr > :first-child {
    width: clamp(130px, 28%, 160px);
    padding-inline: 10px;
    overflow-wrap: break-word;
    hyphens: auto;
}



/* Breadcrumbs */

.admin-bar .wp-block-breadcrumbs{
    margin-top: 40px;
}

.wp-block-breadcrumbs{
    margin-top: 20px;
    padding-left: 20px;
}



@media (max-width:782px) {
     .wp-block-breadcrumbs{
        margin-top: 20px;
    }
}


.wp-block-breadcrumbs li:not(:last-child):after{
    color: #00cfa6;
    opacity: 1;
}

/* CART */
.cart{
    width: 100%;
    padding: 24px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: radial-gradient(44.23% 100% at 0 0, rgba(0, 207, 166, .1) 0, rgba(0, 207, 166, 0) 100%), radial-gradient(44.23% 100% at 100% 100%, rgba(255, 0, 0, .1) 0, rgba(255, 0, 0, 0) 100%), linear-gradient(95deg, #242424 0, #1c1c1c 100%);
 }



.cart-dark{
    padding: 16px;
    border-radius: 12px;
    background: 50px 50px repeat, #13171f;
}
.cart-dark p{
    margin: 0 0 5px;
}

.cart h1,
.cart h2{
    color: #fff;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: 48px;
}

@media (max-width: 781px) {

    .cart{
        padding: 12px;
    }

    .wp-block-columns.reverse-columns-mobile {
        > .wp-block-column:first-child {
            order: 2;
        }

        > .wp-block-column:last-child {
            order: 1;
        }
    }
}

@media (max-width: 615px) {

    .mob-flex-wrap{
        flex-wrap: wrap;
    }
    .cart-dark{
        padding: 5px;
    }
    .cart-dark .button-with-icon{
        width: 100%;
        max-width: 100%;
        justify-content: center;
    }
    .cart-dark .button-with-icon .button-with-icon__texts{
        flex: initial;
    }


}

/* WYSIWYG CTA button. */
.bom-wysiwyg-cta-wrap {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.bom-wysiwyg-cta-wrap.has-text-align-left {
    text-align: left;
}

.bom-wysiwyg-cta-wrap.has-text-align-center {
    text-align: center;
}

.bom-wysiwyg-cta-wrap.has-text-align-right {
    text-align: right;
}

.bom-wysiwyg-cta.wp-element-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    text-decoration: none;
    border: 0;
    font: inherit;
    font-weight: 700;
    line-height: 1.2;
}

.bom-wysiwyg-cta.wp-element-button:hover{
    color: #000;
}

.bom-wysiwyg-cta.wp-element-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}


/* Global block spacing fix */

.wp-site-blocks > main {
    margin-block-start: 0;
}


/* FOOTER */
footer {
    margin-top: auto;
    width: 100%;
    /*background: linear-gradient(180deg, #2d2d2d 0%, #050505 100%);;*/
}

footer a:hover {
    color: #d3d3d3;
}

.site-footer__downloads.wp-block-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0;
    width: min(100%, 520px);
    max-width: 100%;
    margin-left: auto;
}

.site-footer__downloads > .button-with-icon {
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 0;
}

@media (max-width: 600px) {
    .site-footer__downloads.wp-block-group {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }
}

.footer-navigation,
.footer-navigation .block-editor-block-list__layout {

    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 90px;
    row-gap: 16px;

    a {
        font-size: 14px;
        font-weight: 500;
        line-height: 20px;
    }

    a:hover {
        text-decoration: underline;
    }
}

@media (max-width: 390px) {
    .footer-navigation {
        grid-template-columns: 1fr;
    }
}


.footer-copywrite {
    position: relative;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    margin-top: 0;
    color: #b0a4a4;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 20px;
}


.scroll-top {
    position: fixed;
    bottom: var(--offsets);
    right: var(--offsets);
    border-radius: 100%;
    z-index: 999;
}
.scroll-top__button {
    border: none;
    outline: 0;
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #008b8b;
}
.scroll-top__button svg {
    transition:transform .3s ease-in-out;
    transform:translateZ(0)
}

.bom-wysiwyg-cta.footer-button{
    display: none;
    position: fixed;
    bottom: 5px;
    width: 100%;
    text-align: center;
    max-width: 95vw;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1400;
}


@media (max-width:767px) {
    .footer._has-mobile-button .scroll-top {
        bottom:80px
    }
}
@media (max-width:400px) {
    .scroll-top {
        bottom:56px;
        right: 10px;
    }

    .bom-wysiwyg-cta.footer-button{
        display: block;
    }
}




footer .wp-block-navigation .wp-block-navigation-item__content[aria-current]{
    color: #008b8b;
    text-decoration: underline;
}



.bom-mt-0 { margin-top: 0; }
.bom-mt-5 { margin-top: 5px; }
.bom-mt-8 { margin-top: 8px; }
.bom-mt-10 { margin-top: 10px; }
.bom-mt-16 { margin-top: 16px; }
.bom-mt-24 { margin-top: 24px; }
.bom-mt-30 { margin-top: 30px; }
.bom-mt-40 { margin-top: 40px; }
.bom-mt-48 { margin-top: 48px; }
.bom-mt-64 { margin-top: 64px; }
.bom-mb-0 { margin-bottom: 0; }
.bom-mb-5 { margin-bottom: 5px; }
.bom-mb-8 { margin-bottom: 8px; }
.bom-mb-10 { margin-bottom: 10px; }
.bom-mb-15 { margin-bottom: 15px; }
.bom-mb-16 { margin-bottom: 16px; }
.bom-mb-20 { margin-bottom: 20px; }
.bom-mb-24 { margin-bottom: 24px; }
.bom-mb-30 { margin-bottom: 30px; }
.bom-mb-40 { margin-bottom: 40px; }
.bom-mb-48 { margin-bottom: 48px; }
.bom-mb-64 { margin-bottom: 64px; }

/* 404 template */
.page_404 {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    margin: 0 auto;
}

.page_404__title {
    padding-top: 40px;
    margin: 0;
    font-size: 28px;
    line-height: 1.3;
    text-align: center;
}

.page_404__figure {
    margin: 0;
}

.page_404__figure img {
    max-height: 50dvh;
    object-fit: contain;
}

.page_404__actions {
    margin-block-start: 0;
}

.page_404__link .wp-block-button__link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 12px 26px;
    overflow: hidden;
    color: #101010;
    background: linear-gradient(135deg, #ffe000 0%, #ffc400 100%);
    border: 2px solid transparent;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(255, 204, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.45);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.page_404__link .wp-block-button__link::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #000;
    transform: translateX(-102%);
    transition: transform 0.35s ease;
}

.page_404__link .wp-block-button__link::after {
    content: "→";
    display: inline-block;
    font-size: 22px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.page_404__link .wp-block-button__link:hover,
.page_404__link .wp-block-button__link:focus-visible {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow: 0 12px 30px rgba(0, 224, 192, 0.28), 0 0 0 5px rgba(0, 224, 192, 0.08);
    text-decoration: none;
}

.page_404__link .wp-block-button__link:hover::before,
.page_404__link .wp-block-button__link:focus-visible::before {
    transform: translateX(0);
}

.page_404__link .wp-block-button__link:hover::after,
.page_404__link .wp-block-button__link:focus-visible::after {
    transform: translateX(5px);
}
