/* ==========================================
Клуб "Царская горка"
Основной стиль проекта
Версия 42
========================================== */

:root{
    --gold:#c6a96b;
    --dark:#141312;
    --dark-soft:#1b1a19;
    --text:#eaeaea;
    --gray:#9a9a9a;
}

/* ===== БАЗА ===== */

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

html,body{
    font-family:'Segoe UI', Arial, sans-serif;
    background:var(--dark);
    color:var(--text);
}

a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

.container{width:90%;max-width:1200px;margin:0 auto;}

/* ================================================= HEADER ================================================= */

header{
    background:var(--dark);
    border-bottom:1px solid rgba(198,169,107,0.2);
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
}

body{padding-top:120px;}

.header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 0;
    gap:20px;
}

.left-block{display:flex;align-items:center;gap:15px;}
.logo-wrap{display:flex;align-items:center;text-decoration:none;}
.logo-wrap img{height:100%;width:auto;}

.logo-text{
    display:flex;
    flex-direction:column;
    line-height:1.1;
    font-size:21px;
    font-weight:600;
    color:var(--text);
}

.logo-text div:first-child{font-size:19px;}
.logo-text div:last-child{font-size:23px;}

.right-block{
    text-align:right;
    font-size:16px;
    color:var(--gray);
    line-height:1.5;
    display:flex;
    justify-content:space-between;
    width:auto;
    gap:15px;
}

.right-block a:hover{color:var(--gold);}

/* МЕНЮ */

.nav{display:flex;align-items:center;gap:30px;}
.nav-sep{color:var(--gold);}
.nav a{font-size:17px;text-align:center;display:block;}
.nav a.active{color:var(--gold);font-weight:600;}

/* БУРГЕР ПО УМОЛЧАНИЮ СКРЫТ */
.burger{display:none;}

/* ================= HERO ================= */

.hero{
    width:100%;
    height:55vh;
    min-height:340px;
    max-height:600px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

/* ================= SECTION ================= */

.section{padding:70px 0;}

.section h2{
    text-align:center;
    color:var(--gold);
    font-size:28px;
    margin-bottom:45px;
    letter-spacing:2px;
}

/* ================================================= MAIN GRID ================================================= */

.objects-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    max-width:1200px;
    margin:0 auto;
}

.object-card{
    background:var(--dark-soft);
    border-radius:14px;
    overflow:hidden;
    text-align:center;
    position:relative;
}

.object-card img{height:220px;object-fit:cover;}
.card-overlay-title{display:none !important;}

.object-card h3{
    margin-top:20px;
    font-size:20px;
    color:var(--gold);
}

.object-card p{
    font-size:20px;
    color:#fff;
    padding:10px 20px 20px;
}

/* ================================================= GRID ================================================= */

.grid-4{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    max-width:1100px;
    margin:0 auto;
}

.grid-4 .card{
    background:var(--dark-soft);
    padding:30px 20px;
    border-radius:12px;
    text-align:center;
    line-height:1.6;
    font-size:18px;
}

.grid-4 .card span{
    display:block;
    font-size:34px;
    margin-bottom:15px;
    color:var(--gold);
}

/* ================================================= GALLERY ================================================= */

.gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    max-width:1200px;
    margin:0 auto;
}

.gallery img{
    height:230px;
    object-fit:cover;
    border-radius:8px;
}

/* ================= FOOTER ================= */

footer{
    background:var(--dark);
    border-top:1px solid rgba(198,169,107,0.2);
    padding:40px 0;
    text-align:center;
    font-size:14px;
    color:var(--gray);
}

/* ================= ПЛАНШЕТ ================= */

@media (max-width:1100px){

body{padding-top:90px;}
.header-inner{padding:12px 0;}
.logo-text{font-size:19px;}
.hero{height:42vh;min-height:260px;}
.hero-page{height:420px;min-height:420px;}

/* --- ВКЛЮЧАЕМ БУРГЕР --- */

.burger{
display:flex;
flex-direction:column;
gap:6px;
cursor:pointer;
}

.burger span{
width:26px;
height:2px;
background:var(--gold);
}

/* --- СКРЫВАЕМ СТРОЧНОЕ МЕНЮ --- */

.nav{
display:none;
flex-direction:column;
position:absolute;
top:100%;
left:0;
width:100%;
background:var(--dark);
padding:10px 0;
}

.nav.open{display:flex;}
.nav-sep{display:none;}

.nav a{
padding:8px 0;
font-size:18px;
}

.objects-grid{grid-template-columns:repeat(2,1fr);}
.grid-4{grid-template-columns:repeat(2,1fr);}
.gallery{grid-template-columns:repeat(2,1fr);}
}

/* ================= МОБИЛЬНАЯ ВЕРСИЯ ================= */

@media (max-width:768px){

body{padding-top:120px;}
.hero{height:40vh;min-height:260px;}
.section{padding:28px 0;}

.objects-grid,.grid-4,.gallery{grid-template-columns:1fr;}

.logo-wrap img{height:44px;width:auto;}

.header-inner{position:relative;}
.left-block{flex:1 1 auto;min-width:0;}
.logo-wrap{max-width:100%;}

.logo-text{font-size:16px;}
.logo-text div:first-child{font-size:15px;}
.logo-text div:last-child{font-size:17px;}

.burger{
display:flex;
flex-direction:column;
position:absolute;
right:15px;
top:50%;
transform:translateY(-50%);
z-index:5;
gap:6px;
cursor:pointer;
}

.burger span{
width:26px;
height:2px;
background:var(--gold);
}

.nav{
display:none;
flex-direction:column;
position:absolute;
top:100%;
left:0;
width:100%;
background:var(--dark);
padding:10px 0;
}

.nav.open{display:flex;}
.nav-sep{display:none;}

.nav a{
padding:8px 0;
text-align:center;
font-size:18px;
line-height:1.2;
}

.right-block{
flex-direction:row;
justify-content:space-between;
gap:10px;
width:auto;
}

.grid-4{gap:10px;}

.grid-4 .card{
display:flex;
align-items:center;
text-align:left;
padding:8px 12px;
font-size:17px;
gap:10px;
line-height:1.3;
}

.grid-4 .card span{
font-size:24px;
margin:0;
flex-shrink:0;
}

}

/* ==========================================
HERO внутренних страниц
1900×600
========================================== */

.hero-page{
    height:600px;
    min-height:600px;
    max-height:600px;

    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}

@media (max-width:768px){
.hero-page{
    height:380px;
    min-height:380px;
    max-height:none;

    background-size:contain;
}
}
.hero.hero-page{
    background-size:contain !important;
}