/*
Theme Name: Demetra Art Gallery
Theme URI: http://stashevsky.loc
Author: Antigravity
Author URI: http://stashevsky.loc
Description: Custom WordPress theme for Demetra Art Gallery.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stashevsky
*/

/* Normalization */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

li {
    list-style: none;
}

button,
input,
textarea,
select {
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
    border: none;
}

input {
    background-color: var(--blue);
    color: var(--white);
    font-size: 16px;
    padding: 8px;
    outline: none;
}

input:placeholder {
    color: var(--white);
}

a {
    text-decoration: none;
    color: inherit;
}

:root {
    --blue: #212E48;
    --gold: #C89E42;
    --white: #FFFFFF;
    --natural-brown: #5B4B29;
}

@font-face {
    font-family: 'Montserrat';
    src: url('fonts/Montserrat-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'El Messiri';
    src: url('fonts/ElMessiri-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--blue);
    color: var(--white);
    line-height: 125%;
    font-weight: 400;
    font-size: 16px;
}

.font-i {
    font-family: 'El Messiri';
}



header {
    border-bottom: 1px solid var(--natural-brown);
}

.h1,
h1 {
    font-family: El Messiri;
    line-height: 90%;
    letter-spacing: -4%;
    text-transform: uppercase;
    color: var(--gold);
}

.h2,
h2 {
    font-family: El Messiri;
    font-size: clamp(3.5rem, 8vw, 82px);
    line-height: 0.8;
    color: var(--gold);
    margin-bottom: 0;
    font-weight: 400;
}

.h2-modal {
    font-size: clamp(2.5rem, 6vw, 75px);
}

.post,
h3 {
    font-size: 17px;
    line-height: 125%;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 36px;
}


p {
    font-size: 16px;
    line-height: 133%;
    letter-spacing: 0%;
    margin-bottom: 20px;
}

.active {
    position: relative;
    &::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 0;
        right: 0;
        height: 2px;
        background-color: var(--white);
    }
}

.menu-link {
    position: relative;
    display: inline-block;
}

.menu-link.active {
    position: relative;
}

.menu-link.active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 2px;
    background-color: var(--white);
}

.btn {
    width: 209px;
    height: 43px;
    padding: 10px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background-color: var(--gold);
    color: var(--blue);
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 1;
    /* Основа для z-index псевдоэлемента */
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn::after {
    content: '';
    position: absolute;
    top: -6px;
    left: -6px;
    right: -6px;
    bottom: -6px;
    border: 1.5px solid var(--gold);
    border-radius: 100px;
    pointer-events: none;
    z-index: -1;
    /* Прячем под кнопку, чтобы закрашивалось только пространство в зазоре */
    transition: all 0.3s ease;
    box-shadow: inset 0 0 0 0 rgba(200, 158, 66, 0);
}

/* Hover state: Закрашиваем пространство между кнопкой и бордером */
.btn:hover::after {
    box-shadow: inset 0 0 0 10px rgba(200, 158, 66, 0.4);
    /* Внутренняя тень заполняет зазор */
    border-color: rgba(200, 158, 66, 0.6);
}

.btn:hover {
    background-color: #d4a94e;
}

/* Active state */
.btn:active {
    background-color: #8c6e2e;
    transform: translateY(1px) scale(0.98);
}

/* Modifier for modal buttons: smaller and without offset border */
.btn--modal {
    width: 174px;
    height: 36px;
    font-size: 14px;
    padding: 0;
    letter-spacing: 10%;
}

.btn--modal::after {
    display: none;
}

.btn--modal:hover {
    background-color: #d4a94e;
    transform: none;
    /* No lifting effect */
}

.btn--modal:active {
    background-color: #8c6e2e;
    transform: scale(0.96);
}

.btn--transparent {
    background-color: transparent;
    border: none;
    color: var(--gold);
    cursor: pointer;
}

.event-item {
    border-bottom: 2px solid var(--natural-brown);
}

.event-item:last-child {
    border-bottom: none;
    margin-bottom: 0 !important;
}

footer {
    border-top: 2px solid var(--natural-brown);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
    background-color: var(--blue);
}

picture {
    display: block;
    width: 100%;
    height: 100%;
}

picture img {
    display: block;
    width: 100%;
    height: 100%;
}

.border-bottom-1 {
    border-bottom: 1px solid var(--natural-brown);
}

.border-def {
    border: 2px solid var(--natural-brown);
}

@media (max-width: 768px) {

    .post,
    h3 {
        margin-bottom: 28px;
    }
}