.dombay-footer {
position: relative;
margin-top: auto;
}
.footer-bg {
background-image: url(//dombay-resort.ru/wp-content/uploads/2026/01/fon-podval-1.jpg);
background-size: cover;
background-position: center bottom;
background-repeat: no-repeat;
padding: 60px 0 0;
transition: background-color 0.6s ease;
} .season-summer .footer-bg {
background-color: rgba(45, 106, 79, 0.85);
background-blend-mode: multiply;
}
.footer-container {
max-width: 1448px;
margin: 0 auto;
padding: 0 24px;
} .footer-main {
display: flex;
align-items: flex-start;
gap: 40px;
padding-bottom: 40px;
position: relative;
} .footer-brand {
flex-shrink: 0;
}
.footer-logo {
display: block;
margin-bottom: 15px;
}
.footer-logo svg {
height: 55px;
width: auto;
}
.footer-brand-text {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 400;
color: rgba(255, 255, 255, 0.8);
line-height: 1.5;
margin: 0;
} .footer-divider {
width: 1px;
height: 120px;
background: rgba(255, 255, 255, 0.3);
flex-shrink: 0;
align-self: center;
} .footer-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 60px;
} .footer-nav {
display: flex;
gap: 50px;
}
.footer-nav a {
font-family: 'Montserrat', sans-serif;
font-size: 20px;
font-weight: 500;
color: #ffffff;
text-decoration: none;
transition: opacity 0.3s ease;
}
.footer-nav a:hover {
opacity: 0.8;
} .footer-contacts {
display: flex;
gap: 80px;
}
.footer-contacts-left,
.footer-contacts-right {
display: flex;
flex-direction: column;
gap: 15px;
}
.contact-item {
display: flex;
align-items: center;
gap: 10px;
}
.contact-icon {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.contact-item span,
.contact-item a {
font-family: 'Montserrat', sans-serif;
font-size: 16px;
font-weight: 400;
color: #ffffff;
text-decoration: none;
}
.contact-item a:hover {
text-decoration: underline;
} .contact-social {
gap: 15px;
}
.social-link {
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.3s ease;
}
.social-link:hover {
opacity: 0.8;
}
.social-link img {
width: 28px;
height: 28px;
} .scroll-to-top {
position: absolute;
right: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.3s ease;
}
.scroll-to-top:hover {
transform: translateY(-3px);
}
.scroll-to-top img {
width: 50px;
height: 50px;
} .footer-bottom {
display: flex;
align-items: center;
justify-content: center;
gap: 40px;
padding: 20px 0;
border-top: 1px solid rgba(255, 255, 255, 0.2);
margin-top: 20px;
}
.footer-copyright,
.footer-privacy,
.footer-developer {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 400;
color: rgba(255, 255, 255, 0.7);
}
.footer-privacy {
text-decoration: none;
transition: color 0.3s ease;
}
.footer-privacy:hover {
color: #ffffff;
} .mob-nav {
display: none;
}
@media (max-width: 768px) {
.mob-nav {
display: flex;
align-items: center;
position: fixed;
bottom: calc(10px + env(safe-area-inset-bottom));
left: 12px;
right: 12px;
background: rgba(255, 255, 255, 0.92);
backdrop-filter: saturate(180%) blur(20px);
-webkit-backdrop-filter: saturate(180%) blur(20px);
border-radius: 22px;
padding: 7px 4px 7px;
z-index: 1000;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}
.mob-nav__item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 0;
color: #7eadd4;
text-decoration: none;
font-family: 'Montserrat', sans-serif;
font-size: 10px;
font-weight: 600;
background: none !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
transition: color 0.2s ease;
}
.mob-nav__item svg {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.mob-nav__item span {
display: block;
line-height: 1;
} .mob-nav__item--active {
color: var(--primary-color);
}
.mob-nav__item--active svg {
stroke-width: 2;
} .mob-nav__center {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 0;
padding: 0;
background: none !important;
border: none !important;
box-shadow: none !important;
outline: none !important;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
position: relative;
}
.mob-nav__center-circle {
width: 55px;
height: 55px;
border-radius: 50%;
background: var(--primary-color);
display: flex;
align-items: center;
justify-content: center;
}
.mob-nav__center-circle svg {
width: 22px;
height: 22px;
color: #ffffff;
}
.mob-nav__center:active .mob-nav__center-circle {
transform: scale(0.93);
} .season-summer .mob-nav__item {
color: rgba(74, 155, 74, 0.5);
}
.season-summer .mob-nav__item--active {
color: var(--summer-primary);
}
.season-summer .mob-nav__center-circle {
background: var(--summer-primary);
} .dombay-footer .footer-bg {
padding-bottom: 100px;
}
} @media (max-width: 1024px) {
.footer-main {
flex-wrap: wrap;
}
.footer-nav {
gap: 30px;
}
.footer-contacts {
gap: 40px;
}
}
@media (max-width: 768px) {
.footer-bg {
padding: 40px 0 0;
}
.footer-container {
padding: 0 20px;
}
.footer-main {
flex-direction: column;
align-items: flex-start;
gap: 30px;
} .footer-brand {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
width: 100%;
margin-bottom: 18px; }
.footer-brand-text {
font-size: 14px;
} .footer-divider {
display: none;
}
.footer-content {
align-items: flex-start;
gap: 30px;
width: 100%;
} .footer-nav {
flex-direction: row;
flex-wrap: wrap;
gap: 15px;
}
.footer-nav a {
font-size: 13px;
} .footer-contacts {
flex-direction: column;
align-items: flex-start;
gap: 0;
}
.footer-contacts-left,
.footer-contacts-right {
align-items: flex-start;
gap: 15px;
}
.footer-contacts-left {
margin-bottom: 15px;
}
.contact-item {
justify-content: flex-start;
}
.contact-item span,
.contact-item a {
font-size: 14px;
} .contact-social {
flex-direction: row;
gap: 15px;
} .scroll-to-top {
display: none;
} .footer-bottom {
flex-direction: column;
gap: 10px;
text-align: center;
padding: 20px 0 30px;
}
.footer-copyright,
.footer-privacy,
.footer-developer {
font-size: 14px;
}
}.services-page {
--primary-color: #066acd;
--primary-light: #e8f2fc;
--text-dark: #1f2937;
--text-gray: #6b7280;
--border-color: #e5e7eb;
--bg-light: #f9fafb;
--card-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
--card-shadow-hover: 0 12px 40px rgba(6, 106, 205, 0.15);
} .services-hero {
background: linear-gradient(135deg, var(--primary-color) 0%, #0a4a8f 100%);
padding: 80px 24px 60px;
text-align: left;
position: relative;
overflow: hidden;
}
.services-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
opacity: 0.5;
}
.services-hero__container {
max-width: 1448px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 1;
}
.services-hero__title {
font-family: 'Montserrat', sans-serif;
font-size: 42px;
font-weight: 700;
color: #ffffff;
margin: 0 0 16px;
text-transform: uppercase;
letter-spacing: 2px;
}
.services-hero__subtitle {
font-family: 'Montserrat', sans-serif;
font-size: 18px;
font-weight: 400;
color: rgba(255, 255, 255, 0.85);
margin: 0;
} .services-filters {
background: #ffffff;
border-bottom: 1px solid var(--border-color);
position: sticky;
top: 73px; z-index: 100;
padding: 0;
}
.services-filters__container {
max-width: 1448px;
margin: 0 auto;
padding: 0 24px;
}
.services-filters__list {
display: flex;
gap: 8px;
padding: 16px 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
}
.services-filters__list::-webkit-scrollbar {
display: none;
}
.services-filter {
display: flex;
align-items: center;
gap: 8px;
padding: 10px 18px;
background: var(--bg-light);
border: 1px solid var(--border-color);
border-radius: 50px;
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 500;
color: var(--text-gray);
cursor: pointer;
transition: all 0.25s ease;
white-space: nowrap;
flex-shrink: 0;
}
.services-filter:hover {
background: var(--primary-light);
border-color: var(--primary-color);
color: var(--primary-color);
}
.services-filter.active {
background: var(--primary-color);
border-color: var(--primary-color);
color: #ffffff;
}
.services-filter__icon {
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
}
.services-filter__icon svg {
width: 18px;
height: 18px;
} .services-grid-section {
background: var(--bg-light);
padding: 40px 0 80px;
min-height: 60vh;
}
.services-grid-container {
max-width: 1448px;
margin: 0 auto;
padding: 0 24px;
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
gap: 24px;
} .services-empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px;
text-align: center;
color: var(--text-gray);
}
.services-empty svg {
margin-bottom: 24px;
opacity: 0.5;
}
.services-empty p {
font-family: 'Montserrat', sans-serif;
font-size: 18px;
margin: 0;
} .service-item {
display: flex;
flex-direction: column;
background: #ffffff;
border-radius: 20px;
overflow: hidden;
text-decoration: none;
box-shadow: var(--card-shadow);
transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
opacity: 0;
transform: translateY(20px);
}
.service-item.visible {
opacity: 1;
transform: translateY(0);
}
.service-item.hidden {
opacity: 0;
transform: translateY(20px);
}
.service-item:hover {
box-shadow: var(--card-shadow-hover);
}
.service-item:hover .service-item__image img {
transform: scale(1.08);
}
.service-item:hover .service-item__arrow {
background: var(--primary-color);
color: #ffffff;
} .service-item__image {
position: relative;
height: 300px;
overflow: hidden;
}
.service-item__image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-item__badge {
position: absolute;
top: 16px;
left: 16px;
padding: 6px 14px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(8px);
border-radius: 50px;
font-family: 'Montserrat', sans-serif;
font-size: 12px;
font-weight: 600;
color: var(--primary-color);
text-transform: uppercase;
letter-spacing: 0.5px;
} .service-item__content {
flex: 1;
padding: 24px;
display: flex;
flex-direction: column;
}
.service-item__title {
font-family: 'Montserrat', sans-serif;
font-size: 20px;
font-weight: 700;
color: var(--text-dark);
margin: 0 0 10px;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.service-item__excerpt {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 400;
color: var(--text-gray);
margin: 0 0 16px;
line-height: 1.6;
flex: 1;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.service-item__meta {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}
.service-item__price {
font-family: 'Montserrat', sans-serif;
font-size: 18px;
font-weight: 700;
color: var(--primary-color);
}
.service-item__duration {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 500;
color: var(--text-gray);
}
.service-item__duration svg {
flex-shrink: 0;
} .service-item__arrow {
position: absolute;
bottom: 23px;
right: 20px;
width: 34px;
height: 34px;
display: flex;
align-items: center;
justify-content: center;
background: var(--bg-light);
border-radius: 50%;
color: var(--primary-color);
transition: all 0.3s ease;
}
.service-item__arrow svg {
width: 16px;
height: 16px;
} @media (max-width: 1024px) {
.services-hero {
padding: 60px 20px 50px;
}
.services-hero__title {
font-size: 32px;
}
.services-hero__subtitle {
font-size: 16px;
}
.services-grid {
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
}
}
@media (max-width: 768px) {
.services-hero {
padding: 50px 16px 40px;
}
.services-hero__title {
font-size: 26px;
letter-spacing: 1px;
}
.services-hero__subtitle {
font-size: 14px;
}
.services-filters {
top: 61px; }
.services-filters__container {
padding: 0 16px;
}
.services-filters__list {
padding: 12px 0;
gap: 6px;
}
.services-filter {
padding: 8px 14px;
font-size: 13px;
}
.services-grid-section {
padding: 24px 0 60px;
}
.services-grid-container {
padding: 0 16px;
}
.services-grid {
grid-template-columns: 1fr;
gap: 16px;
}
.service-item__content {
padding: 20px;
}
.service-item__title {
font-size: 18px;
}
.service-item__arrow {
bottom: 20px;
right: 16px;
width: 32px;
height: 32px;
}
}
@media (max-width: 480px) {
.services-hero__title {
font-size: 22px;
}
.service-item__price {
font-size: 16px;
}
} .services-layout {
display: flex;
gap: 32px;
max-width: 1448px;
margin: 0 auto;
padding: 0 24px;
} .services-sidebar {
flex-shrink: 0;
width: 280px;
background: #ffffff;
border-radius: 16px;
box-shadow: var(--card-shadow);
padding: 24px;
height: fit-content;
position: sticky;
top: 140px;
}
.services-sidebar__header {
margin-bottom: 20px;
padding-bottom: 16px;
border-bottom: 1px solid var(--border-color);
}
.services-sidebar__header h3 {
font-family: 'Montserrat', sans-serif;
font-size: 18px;
font-weight: 700;
color: var(--text-dark);
margin: 0;
}
.services-sidebar__filters {
display: flex;
flex-direction: column;
gap: 24px;
} .filter-group {
display: flex;
flex-direction: column;
gap: 12px;
}
.filter-group__title {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 600;
color: var(--text-dark);
margin: 0;
}
.filter-group__options {
display: flex;
flex-direction: column;
gap: 8px;
} .filter-checkbox {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
padding: 6px 0;
transition: color 0.2s ease;
}
.filter-checkbox:hover {
color: var(--primary-color);
}
.filter-checkbox input[type="checkbox"] {
display: none;
}
.filter-checkbox__mark {
flex-shrink: 0;
width: 18px;
height: 18px;
border: 2px solid var(--border-color);
border-radius: 4px;
position: relative;
transition: all 0.2s ease;
}
.filter-checkbox__mark::after {
content: '';
position: absolute;
top: 2px;
left: 5px;
width: 5px;
height: 9px;
border: solid #ffffff;
border-width: 0 2px 2px 0;
transform: rotate(45deg) scale(0);
transition: transform 0.2s ease;
}
.filter-checkbox input[type="checkbox"]:checked + .filter-checkbox__mark {
background: var(--primary-color);
border-color: var(--primary-color);
}
.filter-checkbox input[type="checkbox"]:checked + .filter-checkbox__mark::after {
transform: rotate(45deg) scale(1);
}
.filter-checkbox:hover .filter-checkbox__mark {
border-color: var(--primary-color);
}
.filter-checkbox__label {
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 400;
color: var(--text-gray);
transition: color 0.2s ease;
}
.filter-checkbox:hover .filter-checkbox__label {
color: var(--text-dark);
}
.filter-checkbox input[type="checkbox"]:checked ~ .filter-checkbox__label {
color: var(--text-dark);
font-weight: 500;
} .services-sidebar__reset {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
padding: 12px 16px;
margin-top: 8px;
background: var(--bg-light);
border: 1px solid var(--border-color);
border-radius: 8px;
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 500;
color: var(--text-gray);
cursor: pointer;
transition: all 0.25s ease;
}
.services-sidebar__reset:hover {
background: #fee2e2;
border-color: #fca5a5;
color: #dc2626;
}
.services-sidebar__reset svg {
flex-shrink: 0;
} .services-grid-wrapper {
flex: 1;
min-width: 0;
}
.services-grid-wrapper--full {
max-width: 1448px;
margin: 0 auto;
padding: 0 24px;
} .services-grid--with-sidebar {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
} .services-no-results {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 60px 24px;
text-align: center;
color: var(--text-gray);
}
.services-no-results svg {
margin-bottom: 16px;
opacity: 0.4;
}
.services-no-results p {
font-family: 'Montserrat', sans-serif;
font-size: 16px;
margin: 0 0 20px;
}
.services-no-results__reset {
padding: 10px 20px;
background: var(--primary-color);
border: none;
border-radius: 8px;
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 500;
color: #ffffff;
cursor: pointer;
transition: all 0.25s ease;
}
.services-no-results__reset:hover {
background: #0556a8;
} @media (max-width: 1200px) {
.services-layout {
gap: 24px;
}
.services-sidebar {
width: 260px;
}
.services-grid--with-sidebar {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 1024px) {
.services-layout {
flex-direction: column;
gap: 24px;
}
.services-sidebar {
width: 100%;
position: static;
padding: 20px;
}
.services-sidebar__filters {
flex-direction: row;
flex-wrap: wrap;
gap: 20px;
}
.filter-group {
flex: 1;
min-width: 200px;
}
.services-grid--with-sidebar {
grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 900px) {
.services-grid--with-sidebar {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.services-layout {
padding: 0 16px;
}
.services-sidebar {
padding: 16px;
border-radius: 12px;
}
.services-sidebar__header {
margin-bottom: 16px;
padding-bottom: 12px;
}
.services-sidebar__header h3 {
font-size: 16px;
}
.services-sidebar__filters {
flex-direction: column;
gap: 16px;
}
.filter-group {
min-width: auto;
}
.filter-group__options {
flex-direction: row;
flex-wrap: wrap;
gap: 6px;
}
.filter-checkbox {
padding: 8px 12px;
background: var(--bg-light);
border: 1px solid var(--border-color);
border-radius: 50px;
gap: 6px;
}
.filter-checkbox__mark {
width: 16px;
height: 16px;
}
.filter-checkbox__mark::after {
top: 1px;
left: 4px;
width: 4px;
height: 8px;
}
.filter-checkbox__label {
font-size: 13px;
}
.filter-checkbox input[type="checkbox"]:checked ~ .filter-checkbox {
background: var(--primary-light);
border-color: var(--primary-color);
}
.services-grid--with-sidebar {
grid-template-columns: 1fr;
gap: 16px;
}
.services-sidebar__reset {
padding: 10px 14px;
font-size: 13px;
}
}