/* Цветовая схема (мягкая палитра) */
:root {
	--nur-linen: #F5F1E9;
	--nur-beige: #DED5C9;
	--nur-text: #3A3A3A;
	--nur-terracotta: #2F3A3D;
	--nur-terracotta-hover: #233033;
	--nur-sand: #EAE3D9;
	--nur-olive: #7B8A7E;
	--nur-ink: #2F3A3D;
}

/* Global styles */
body {
	background: #FAF8F5;
	font-family: 'Montserrat', sans-serif;
	color: var(--nur-text);
}

/* Add padding for mobile bottom navigation */
@media (max-width: 768px) {
	main {
		padding-bottom: 5rem;
	}
}

/* Header styles */
header { background-color: var(--nur-linen); }
/* Footer styles */
footer { background-color: var(--nur-linen); }

/* Common components */
.nav-link { color: var(--nur-text); transition: color 0.2s ease; }
.nav-link:hover { color: var(--nur-terracotta); }

/* Form elements */
input, textarea {
	border: 1px solid var(--nur-beige);
	border-radius: 0.5rem;
	padding: 0.6rem 0.75rem;
	width: 100%;
	background: #fff;
}
input:focus, textarea:focus {
	outline: none;
	border-color: var(--nur-terracotta);
	box-shadow: 0 0 0 2px rgba(35, 48, 51, 0.18);
}

/* Navigation button for designer - should look like nav links */
.nav-button { background: transparent; border: none; padding: 0; color: inherit; font-family: inherit; cursor: pointer; }
.nav-button:hover { background: transparent; color: var(--nur-terracotta); }

/* Regular form buttons – outline by default (no fill) */
button:not(.nav-button):not(.slider-nav):not(.slider-dot):not(.icon-btn) {
	transition: all 0.2s ease;
	color: var(--nur-terracotta);
	background-color: transparent;
	padding: 0.75rem 1.25rem;
	border: 1px solid var(--nur-terracotta);
	border-radius: 0.6rem;
	font-weight: 600;
	cursor: pointer;
}
button:not(.nav-button):not(.icon-btn):hover { color: #fff; background-color: var(--nur-terracotta); }
button:not(.nav-button):not(.icon-btn):focus { outline: none; box-shadow: 0 0 0 2px rgba(35, 48, 51, 0.2); }

.btn-outline { background-color: transparent; border: 2px solid var(--nur-terracotta); color: var(--nur-terracotta); }
.btn-outline:hover { background-color: var(--nur-terracotta); color: #fff; }

/* Utility classes */
.bg-nur-linen { background-color: var(--nur-linen); }
.bg-nur-beige { background-color: var(--nur-beige); }
.text-nur-terracotta { color: var(--nur-terracotta); }
.hover\:text-nur-terracotta:hover { color: var(--nur-terracotta); }
.bg-nur-terracotta { background-color: var(--nur-terracotta); }
.hover\:bg-nur-terracotta:hover { background-color: var(--nur-terracotta-hover); }

/* Container max-widths */
.container { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .container { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container { padding: 0 2rem; } }

/* Mobile menu styles */
#mobile-menu, #individual-mobile-menu { z-index: 100; }
/* Mobile menu overlay and panel */
#mobile-menu .fixed, #individual-mobile-menu .fixed { z-index: 101; }

/* Mobile menu button styles */
#mobile-menu-button, #individual-mobile-menu-button {
	touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none;
	transition: opacity 0.2s ease; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center;
}
#mobile-menu-button:active, #individual-mobile-menu-button:active { opacity: 0.7; }
#mobile-menu-button:hover, #individual-mobile-menu-button:hover { opacity: 0.9; }

/* Mobile menu panel animation */
.mobile-menu-panel { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

/* Prevent body scroll when menu is open */
.menu-open { overflow: hidden !important; }

/* Mobile bottom navigation padding */
@media (max-width: 768px) { body.has-bottom-nav, main.has-bottom-nav { padding-bottom: 5rem !important; } }

/* Touch improvements for mobile */
@media (max-width: 768px) {
	.touch-target { min-height: 44px; min-width: 44px; }
	button, a { -webkit-tap-highlight-color: transparent; }
}

/* Кнопка обратной связи — выше баннера cookie на мобильных */
@media (max-width: 768px) {
	#feedback-button {
		bottom: 6rem;
		right: 1rem;
		z-index: 99;
	}
}
