sozday-priglasitelnoe-na-moe/style.css

268 lines
4.8 KiB
CSS

:root {
--wine: #722F37;
--wine-dark: #4A1C23;
--gold: #D4AF37;
--gold-light: #F5E6A3;
--cream: #FFF8E7;
--cream-dark: #F0E4CC;
--ink: #1A1410;
--green: #2D5016;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Open Sans', sans-serif;
color: var(--ink);
background: var(--cream);
line-height: 1.6;
}
/* Hero */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background:
linear-gradient(135deg, var(--wine-dark) 0%, var(--wine) 50%, #8B3A44 100%);
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
inset: 0;
background:
url('https://picsum.photos/seed/georgian-feast/1920/1080') center/cover no-repeat;
opacity: 0.15;
}
.hero-overlay {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, transparent 40%, rgba(26,20,16,0.6) 100%);
}
.hero-content {
position: relative;
z-index: 2;
padding: 40px 24px;
}
.logo-icon {
font-size: 48px;
color: var(--gold);
margin-bottom: 16px;
letter-spacing: 4px;
}
.hero h1 {
font-family: 'Playfair Display', serif;
font-size: clamp(48px, 10vw, 90px);
font-weight: 900;
color: #fff;
text-shadow: 0 4px 30px rgba(0,0,0,0.4);
letter-spacing: 6px;
margin-bottom: 12px;
}
.subtitle {
font-size: clamp(18px, 3vw, 28px);
color: var(--gold-light);
font-weight: 400;
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 32px;
}
.hero-deco {
font-size: 36px;
color: var(--gold);
opacity: 0.7;
}
.scroll-hint {
position: absolute;
bottom: 30px;
left: 50%;
transform: translateX(-50%);
color: var(--gold-light);
font-size: 14px;
animation: bounce 2s infinite;
z-index: 2;
opacity: 0.8;
}
@keyframes bounce {
0%, 100% { transform: translateX(-50%) translateY(0); }
50% { transform: translateX(-50%) translateY(10px); }
}
/* Навигация категорий */
.cat-nav {
position: sticky;
top: 0;
z-index: 100;
background: var(--wine);
padding: 14px 16px;
display: flex;
gap: 8px;
overflow-x: auto;
scrollbar-width: none;
box-shadow: 0 4px 20px rgba(0,0,0,0.25);
-webkit-overflow-scrolling: touch;
}
.cat-nav::-webkit-scrollbar { display: none; }
.cat-btn {
flex-shrink: 0;
padding: 10px 20px;
border: 1px solid var(--gold);
background: transparent;
color: var(--gold-light);
font-family: 'Open Sans', sans-serif;
font-size: 14px;
font-weight: 600;
border-radius: 30px;
cursor: pointer;
transition: all 0.3s ease;
white-space: nowrap;
}
.cat-btn:hover,
.cat-btn.active {
background: var(--gold);
color: var(--wine-dark);
}
/* Меню */
.menu-main {
max-width: 1140px;
margin: 0 auto;
padding: 48px 20px 80px;
}
.menu-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 28px;
}
/* Карточка блюда */
.dish-card {
background: #fff;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 2px 12px rgba(0,0,0,0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.dish-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}
.dish-card.hidden {
display: none;
}
.dish-card img {
width: 100%;
height: 200px;
object-fit: cover;
display: block;
}
.dish-info {
padding: 20px;
}
.dish-info h3 {
font-family: 'Playfair Display', serif;
font-size: 20px;
font-weight: 700;
color: var(--wine-dark);
margin-bottom: 6px;
}
.desc {
font-size: 14px;
color: #666;
line-height: 1.5;
margin-bottom: 12px;
}
.price {
display: inline-block;
font-size: 20px;
font-weight: 700;
color: var(--wine);
background: linear-gradient(135deg, var(--cream), var(--cream-dark));
padding: 6px 16px;
border-radius: 20px;
border: 1px solid var(--gold);
}
/* Анимация появления */
.reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.in {
opacity: 1;
transform: none;
}
/* Footer */
.footer {
background: var(--wine-dark);
color: var(--gold-light);
text-align: center;
padding: 48px 24px;
}
.service-note {
margin-bottom: 24px;
}
.service-note strong {
font-size: 22px;
color: var(--gold);
display: block;
margin-bottom: 4px;
}
.service-note p {
font-size: 15px;
opacity: 0.85;
}
.footer-deco {
font-size: 28px;
color: var(--gold);
opacity: 0.5;
margin: 16px 0;
letter-spacing: 8px;
}
.copyright {
font-size: 14px;
opacity: 0.7;
}
/* Адаптив */
@media (max-width: 640px) {
.hero h1 { letter-spacing: 3px; }
.logo-icon { font-size: 36px; }
.cat-nav { padding: 10px 12px; gap: 6px; }
.cat-btn { padding: 8px 14px; font-size: 13px; }
.menu-grid { grid-template-columns: 1fr; gap: 20px; }
.menu-main { padding: 32px 16px 60px; }
}