:root {
--bg-page: #f7f1e6;
--accent: #1f324f;
--accent-soft: #f1f5fb;
--text-main: #222222;
--text-muted: #81858f;
} *,
*::before,
*::after {
box-sizing: border-box;
}
body {
font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: var(--text-main);
background-color: var(--bg-page);
}
.bg-page {
background-color: var(--bg-page);
}
.page {
min-height: 100vh;
display: flex;
flex-direction: column;
}
.btn {
transition:
background-color 0.2s ease,
color 0.2s ease,
box-shadow 0.2s ease,
transform 0.1s ease,
border-color 0.2s ease;
}
.btn:hover {
transform: translateY(-1px);
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
} .rp-navbar {
background-color: #fdf8ef;
border-bottom: 1px solid #f2e6d8;
padding-top: 0.9rem;
padding-bottom: 0.9rem;
}
.rp-logo {
font-family: "Playfair Display", serif;
font-size: 1.1rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
}
.rp-logo:hover {
opacity: 0.7;
} .rp-btn-main {
border-radius: 10px;
font-weight: 600;
padding: 0.6rem 1.7rem;
box-shadow: 0 10px 22px rgba(10, 34, 69, 0.35);
}
.btn-primary.rp-btn-main {
background-color: var(--accent);
border-color: var(--accent);
}
.btn-primary.rp-btn-main:hover {
background-color: #1a2942;
border-color: #1a2942;
} .rp-btn-light {
border-radius: 10px;
border: 1px solid rgba(31, 50, 79, 0.20);
color: var(--accent);
background-color: #ffffff;
padding: 0.6rem 1.7rem;
font-weight: 600;
}
.rp-btn-light:hover {
border-color: rgba(31, 50, 79, 0.35);
background-color: #ffffff;
} .rp-burger {
border-radius: 10px;
border: 1px solid #d3c7ba;
}
.rp-burger-icon {
background-image: none;
position: relative;
width: 18px;
height: 2px;
background-color: #2f3236;
}
.rp-burger-icon::before,
.rp-burger-icon::after {
content: "";
position: absolute;
left: 0;
width: 18px;
height: 2px;
background-color: #2f3236;
}
.rp-burger-icon::before { top: -5px; }
.rp-burger-icon::after  { top:  5px; } .hero-section {
padding-top: 0;
padding-bottom: 7.5rem;
}
.hero-row {
margin-top: 0.5rem;
}
.hero-title {
font-family: "Playfair Display", serif;
font-size: 2.8rem;
font-weight: 700;
line-height: 1.15;
}
.hero-subtitle {
font-size: 1rem;
color: hsl(215 15% 50%);
margin-top: 0.9rem;
margin-bottom: 2.4rem;
}
.hero-actions .btn {
border-radius: 10px;
} .hero-image-wrapper {
border-radius: 10px;
overflow: hidden;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
}
.hero-image {
width: 120%;
max-width: none;
min-height: 450px;
object-fit: cover;
transform: translateX(-8%);
} .hero-booking-wrapper {
margin-top: 1.75rem;
}
.booking-btn {
min-height: 44px;
}
.hero-booking {
border-radius: 18px;
padding: 0.9rem 1.2rem 1rem;
}
.booking-label {
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.16em;
color: #333333;
margin-bottom: 0.35rem;
}
.booking-input {
border-radius: 8px;
border: 1px solid #efe3d3;
background-color: #fbf7f2;
font-size: 0.85rem;
}
.booking-input:focus {
box-shadow: none;
border-color: #e2cfb8;
} @media (max-width: 992px) {
.hero-title {
font-size: 2.3rem;
}
} @media (max-width: 768px) { .rp-navbar {
position: absolute;
top: 0;
left: 0;
right: 0;
background: transparent;
border-bottom: none;
z-index: 20;
}
.rp-burger {
border-color: rgba(255, 255, 255, 0.7);
background: rgba(0, 0, 0, 0.15);
}
.rp-burger-icon,
.rp-burger-icon::before,
.rp-burger-icon::after {
background-color: #ffffff;
}
.navbar-collapse {
background: rgba(10, 20, 40, 0.96);
margin-top: 0.5rem;
border-radius: 0 0 12px 12px;
padding: 0.5rem 0.75rem 0.8rem;
}
.hero-row {
margin-top: 0;
} .hero-section {
position: relative;
overflow: hidden;
background-image: url(https://royalpalacehotel.ru/wp-content/themes/royal-palace/assets/img/hero-room.jpg);
background-size: cover;
background-position: center;
padding-top: 6rem !important;
padding-bottom: 3rem !important;
padding-left: 15px;
padding-right: 15px;
} .hero-section::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(15, 50, 90, 0.55),
rgba(15, 50, 90, 0.15)
);
z-index: 0;
}
.hero-text-col {
position: relative;
z-index: 1;
}
.hero-image-col {
display: none !important;
}
.hero-title {
font-size: 1.9rem;
color: #ffffff;
}
.hero-subtitle {
color: #e4edf7;
font-size: 0.9rem;
margin-bottom: 1.3rem;
}
.hero-actions .btn {
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.35);
} .hero-booking-wrapper {
display: none;
}
} .features-section {
background: #fdf8ef;
}
.section-title {
font-family: "Playfair Display", serif;
font-size: 2.3rem;
color: #1f324f;
font-weight: 600;
}
.feature-box {
display: flex;
flex-direction: column;
align-items: center;
}
.feature-icon {
font-size: 50px;
color: #1f324f;
}
.feature-text {
font-size: 1rem;
color: #1d2735;
line-height: 1.35;
font-weight: 500;
}
@media (max-width: 768px) {
.feature-icon {
font-size: 32px;
}
} .rooms-section {
background: #f7f1e6;
}
.rooms-swiper {
position: relative;
padding-bottom: 2.5rem;
}
.rooms-swiper .swiper-slide {
height: auto;
}
.room-card {
background: #ffffff;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
display: flex;
flex-direction: column;
transition: box-shadow 0.2s ease;
}
.room-image-wrap {
position: relative;
overflow: hidden;
max-height: 220px;
}
.room-image-wrap::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(15, 50, 90, 0.55),
rgba(15, 50, 90, 0.15)
);
z-index: 2;
pointer-events: none; }
.room-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.25s ease;
position: relative;
z-index: 1; } .room-card:hover .room-image-wrap img {
transform: scale(1.05);
}
.room-body {
padding: 1.1rem 1.3rem 1.2rem;
flex: 1 1 auto;
}
.room-title {
font-size: 1.05rem;
font-weight: 600;
margin: 0;
color: #1f324f;
}
.room-price {
font-size: 0.95rem;
font-weight: 700;
color: #1f324f;
}
.room-desc {
font-size: 0.9rem;
color: #61656f;
}
.room-tags {
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
}
.room-tag {
font-size: 0.78rem;
color: #555b66;
padding: 0.25rem 0.6rem;
border-radius: 999px;
background: #f3ede4;
} .rooms-swiper .swiper-button-prev,
.rooms-swiper .swiper-button-next,
.gallery-swiper .swiper-button-prev,
.gallery-swiper .swiper-button-next,
.reviews-swiper .swiper-button-prev,
.reviews-swiper .swiper-button-next {
width: 40px;
height: 40px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.96);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
color: #1f324f;
}
.rooms-swiper .swiper-button-prev::after,
.rooms-swiper .swiper-button-next::after,
.gallery-swiper .swiper-button-prev::after,
.gallery-swiper .swiper-button-next::after,
.reviews-swiper .swiper-button-prev::after,
.reviews-swiper .swiper-button-next::after {
font-size: 1.1rem;
} @media (min-width: 769px) {
.rooms-swiper .swiper-button-prev,
.rooms-swiper .swiper-button-next,
.gallery-swiper .swiper-button-prev,
.gallery-swiper .swiper-button-next,
.reviews-swiper .swiper-button-prev,
.reviews-swiper .swiper-button-next {
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease, transform 0.1s ease;
}
.rooms-section:hover .rooms-swiper .swiper-button-prev,
.rooms-section:hover .rooms-swiper .swiper-button-next,
.gallery-section:hover .gallery-swiper .swiper-button-prev,
.gallery-section:hover .gallery-swiper .swiper-button-next,
.reviews-section:hover .reviews-swiper .swiper-button-prev,
.reviews-section:hover .reviews-swiper .swiper-button-next {
opacity: 1;
pointer-events: auto;
}
.rooms-swiper .swiper-button-prev:hover,
.rooms-swiper .swiper-button-next:hover,
.gallery-swiper .swiper-button-prev:hover,
.gallery-swiper .swiper-button-next:hover,
.reviews-swiper .swiper-button-prev:hover,
.reviews-swiper .swiper-button-next:hover {
transform: scale(1.03);
}
} @media (max-width: 768px) {
.rooms-swiper .swiper-button-prev,
.rooms-swiper .swiper-button-next,
.gallery-swiper .swiper-button-prev,
.gallery-swiper .swiper-button-next,
.reviews-swiper .swiper-button-prev,
.reviews-swiper .swiper-button-next {
width: 32px;
height: 32px;
}
} .rooms-swiper .swiper-pagination-bullet {
background: rgba(31, 50, 79, 0.3);
opacity: 1;
}
.rooms-swiper .swiper-pagination-bullet-active {
background: #1f324f;
}
.rooms-swiper .swiper-pagination {
display: none !important;
} .gallery-section {
background: #fdf8ef;
}
.gallery-subtitle {
font-size: 0.95rem;
color: #61656f;
} .gallery-tabs .nav-link {
border-radius: 999px;
font-size: 0.9rem;
padding: 0.35rem 1rem;
margin: 0 0.15rem 0.3rem;
color: #555b66;
background: transparent;
border: 1px solid transparent;
}
.gallery-tabs .nav-link.active {
background: #1f324f;
color: #ffffff;
border-color: #1f324f;
}
.gallery-tabs .nav-link:hover:not(.active) {
border-color: rgba(31, 50, 79, 0.3);
} .gallery-swiper {
position: relative;
} .gallery-slide-card {
height: 100%;
} .gallery-image-wrap {
position: relative;
border-radius: 14px;
overflow: hidden;
height: 280px;
box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}
.gallery-image-wrap::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(15, 50, 90, 0.55),
rgba(15, 50, 90, 0.15)
);
z-index: 0;
}
.gallery-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.25s ease;
} .gallery-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(15, 50, 90, 0.55),
rgba(15, 50, 90, 0.15)
);
display: flex;
align-items: flex-end;
justify-content: flex-start;
padding: 0.75rem 0.9rem;
opacity: 0;
transition: opacity 0.2s ease;
}
.gallery-overlay span {
font-size: 0.85rem;
color: #ffffff;
font-weight: 500;
} .gallery-swiper .swiper-slide:hover .gallery-image-wrap img {
transform: scale(1.05);
}
.gallery-swiper .swiper-slide:hover .gallery-overlay {
opacity: 1;
} .gallery-lightbox-content {
background: #050914;
border-radius: 16px;
border: none;
position: relative;
overflow: hidden;
}
.gallery-lightbox-inner {
position: relative;
padding: 1.5rem 1.5rem 1.2rem;
display: flex;
flex-direction: column;
}
.gallery-lightbox-img {
max-width: 100%;
max-height: calc(100vh - 160px);
object-fit: contain;
border-radius: 12px;
display: block;
}
.gallery-lightbox-caption {
margin-top: 0.75rem;
font-size: 0.9rem;
color: #e3e7f0;
text-align: center;
} .gallery-lightbox-close {
position: absolute;
top: 10px;
right: 12px;
filter: invert(1);
z-index: 5;
}
@media (max-width: 768px) {
.gallery-lightbox-inner {
padding: 1rem 1rem 0.9rem;
}
.gallery-lightbox-img {
max-height: calc(100vh - 130px);
}
} .events-section {
background: #ffffff;
}
.events-card {
background: #ffffff;
border-radius: 16px;
border: 1px solid #efe3d3;
padding: 1.75rem 2rem;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.04);
}
@media (max-width: 768px) {
.events-card {
padding: 1.3rem 1.25rem;
}
}
.events-card-title {
font-family: "Playfair Display", serif;
font-size: 1.4rem;
color: #1f324f;
}
.events-lead {
font-size: 0.95rem;
color: #61656f;
} .events-list li {
display: flex;
align-items: center;
gap: 0.6rem;
margin-bottom: 0.4rem;
font-size: 0.95rem;
color: #333843;
}
.events-list i {
font-size: 1.05rem;
color: hsl(200 40% 65%);
} .events-tags li {
font-size: 0.9rem;
color: #70747f;
margin-bottom: 0.25rem;
}
.events-tags li span {
color: hsl(200 40% 65%);
} .events-image-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.16);
}
.events-image-wrap img {
width: 100%;
height: 100%;
min-height: 450px; 
object-fit: cover;
transition: transform 0.25s ease;
}
.events-image-wrap:hover img {
transform: scale(1.03);
} @media (max-width: 767.98px) {
.events-section .row > .col-lg-6:first-child {
order: 2;
}
.events-section .row > .col-lg-6:last-child {
order: 1;
margin-bottom: 1rem;
}
} .reviews-section {
background: #f7f1e6;
} .reviews-subtitle {
font-size: 0.9rem;
color: #70747f;
}
.reviews-swiper .swiper-slide {
height: auto;
}
.reviews-header {
max-width: 500px;
margin: 0 auto 2rem auto;
}
.reviews-heading .section-title {
font-family: "Playfair Display", serif;
font-size: 2.3rem;
color: #1f324f;
}
.reviews-rating-line {
display: flex;
align-items: center;
justify-content: center;
}
.reviews-rating-value {
font-size: 1.8rem;
font-weight: 700;
color: #1f324f;
}
.reviews-stars {
color: #f2b94b;
font-size: 1.1rem;
}
.reviews-count {
font-size: 0.9rem;
color: #70747f;
} .award-inline {
display: flex;
justify-content: center;
}
.award-card {
background: #ffffff;
border-radius: 20px;
border: 1px solid #ece3d6;
padding: 14px 14px 18px;
width: 130px;
text-align: center;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.award-card:hover {
transform: translateY(-4px);
box-shadow: 0 26px 60px rgba(0, 0, 0, 0.12);
}
.award-card img {
width: 70px;
height: auto;
margin-bottom: 6px;
}
.award-card h3 {
font-size: 0.9rem;
font-weight: 700;
color: #1f324f;
margin-bottom: 2px;
}
.award-card p {
margin: 0;
font-size: 0.9rem;
color: #333;
} .review-card {
background: #ffffff;
border-radius: 14px;
border: 1px solid #efe3d3;
padding: 1.25rem 1.4rem 1.3rem;
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.04);
height: 100%;
}
.review-header {
display: flex;
flex-direction: column;
gap: 0.2rem;
}
.review-author {
font-weight: 600;
font-size: 0.95rem;
color: #1f324f;
}
.review-date {
font-size: 0.8rem;
color: #a19a90;
}
.review-stars {
color: #f2b94b;
font-size: 0.9rem;
}
.review-text {
font-size: 0.9rem;
color: #555b66;
} @media (min-width: 992px) {
.reviews-rating-line {
justify-content: flex-start;
}
.reviews-header,
.reviews-heading {
text-align: left;
}
.award-inline {
justify-content: flex-end;
}
}
@media (max-width: 991.98px) {
.reviews-header {
text-align: center;
display: block !important;
}
.reviews-rating-line {
justify-content: center;
}
.award-inline {
margin-top: 12px;
margin-left: auto;
margin-right: auto;
}
} .contacts-section {
background: var(--bg-page);
}
.contacts-list {
width: 100%;
}
.contact-card {
background: #ffffff;
border-radius: 16px;
border: 1px solid #efe3d3;
padding: 18px 20px;
box-shadow: 0 14px 32px rgba(0, 0, 0, 0.04);
}
.contact-icon {
width: 36px;
display: flex;
align-items: flex-start;
justify-content: center;
margin-right: 12px;
font-size: 20px;
color: #f2b94b;
}
.contact-body {
flex: 1;
}
.contact-title {
font-weight: 600;
font-size: 16px;
margin-bottom: 4px;
color: #1f324f;
}
.contact-text {
font-size: 14px;
color: #555b66;
}
.contact-text a {
color: inherit;
text-decoration: none;
}
.contact-text a:hover {
text-decoration: underline;
} .contacts-map-wrap {
border-radius: 16px;
overflow: hidden;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
min-height: 320px;
background: #ddd;
}
.contacts-map-wrap iframe {
display: block;
width: 100%;
height: 100%;
min-height: 400px;
border: none;
}
@media (max-width: 767.98px) {
.contact-card {
padding: 16px 16px;
}
.contacts-map-wrap {
min-height: 260px;
}
} .booking-cta-section {
background: #1f324f;
color: #fff;
}
.booking-cta-title {
font-family: "Playfair Display", serif;
font-size: 36px;
}
.booking-cta-subtitle {
color: rgba(255, 255, 255, 0.85);
font-size: 16px;
}
.booking-cta-card {
background: rgba(255, 255, 255, 0.12);
border-radius: 14px;
padding: 22px;
text-align: center;
}
.booking-cta-card i {
font-size: 28px;
margin-bottom: 8px;
color: #fff;
}
.booking-cta-label {
font-size: 15px;
opacity: 0.8;
}
.booking-cta-value {
color: #fff;
font-size: 17px;
font-weight: 600;
text-decoration: none;
}
.booking-cta-value:hover {
opacity: 0.7;
}
.booking-btn-light {
padding: 10px 32px;
border-radius: 10px;
font-weight: 600;
}
.booking-btn-outline {
padding: 10px 32px;
border-radius: 10px;
font-weight: 600;
border-width: 2px !important;
} .footer-section {
background: #f4f0ea;
color: #1f324f;
}
.footer-logo {
font-family: "Playfair Display", serif;
font-size: 20px;
letter-spacing: 0.12em;
margin-bottom: 10px;
}
.footer-desc {
font-size: 15px;
color: #555b66;
max-width: 320px;
}
.footer-title {
font-weight: 600;
margin-bottom: 12px;
}
.footer-list {
list-style: none;
padding: 0;
margin: 0;
}
.footer-list li {
margin-bottom: 8px;
font-size: 15px;
color: #444;
}
.footer-list li a {
color: #444;
text-decoration: none;
}
.footer-list li a:hover {
opacity: 0.6;
}
.footer-list i {
margin-right: 6px;
color: #1f324f;
}
.footer-line {
border-color: #d6cec4;
}
.footer-copy {
font-size: 14px;
color: #555;
}
#why .section-title {
margin-bottom: 3rem;
}
@media (max-width: 767px) {
.booking-cta-title {
font-size: 28px;
}
#why .section-title {
margin-bottom: 1rem;
}
#why.py-5 {
padding-top: 1rem !important;
}
.booking-cta-card {
padding: 18px;
}
} .reviews-widget-wrap {
max-width: 760px;
margin: 0 auto;
text-align: center;
padding-top: 10px;
}
.reviews-widget-wrap iframe {
width: 100%;
border: none;
border-radius: 14px;
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.06);
background-color: #fff;
} .reviews-link-all {
display: inline-block;
margin-top: 12px;
font-size: 17px;
font-weight: 500;
color: #0066cc;
text-decoration: none;
}
.reviews-link-all:hover {
text-decoration: underline;
} #_bn_widget_ {
position: absolute !important;
} .rp-header {
background: #fdf8ef;
padding: 14px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
position: relative;
z-index: 50;
}
.rp-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
}
.rp-logo img {
height: 42px;
display: block;
} .rp-header__right {
display: flex;
align-items: center;
gap: 24px;
}
.rp-header__right a:hover {
opacity: 0.7;
}
.rp-phone {
display: flex;
align-items: center;
gap: 6px;
color: #0b2240;
text-decoration: none;
font-size: 15px;
}
.rp-btn {
padding: 10px 22px;
border-radius: 12px;
text-decoration: none;
font-weight: 600;
transition: 0.2s;
}
.rp-btn--primary {
background: #112a4b;
color: #fff;
}
.rp-btn--primary:hover {
background: #1d3b65;
} .rp-nav__toggle {
display: none;
flex-direction: column;
gap: 4px;
width: 26px;
height: 22px;
background: none;
border: none;
cursor: pointer;
}
.rp-nav__toggle span {
height: 3px;
background: #0b2240;
border-radius: 2px;
display: block;
} @media (max-width: 1200px) {
.rp-header__right {
display: none !important;
}
body.home .rp-logo {
color: #ffffff;
}
body:not(.home) .rp-logo {
color: #1f324f;
}
} @media (max-width: 768px) {
.rp-nav__toggle {
display: flex;
} .rp-header {
top: 0;
left: 0;
right: 0;
z-index: 100;
background: transparent;
border-bottom: none;
}
body.home .rp-header {
position: absolute;
background: transparent;
border-bottom: none;
} body:not(.home) .rp-header {
position: relative;
background: #fdf8ef;
border-bottom: 1px solid #e9e0d3;
}
} .page-404-section {
position: relative;
padding: 110px 0 120px;
background-image: url(//royalpalacehotel.ru/wp-content/themes/royal-palace/images/hero-room.jpg);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
color: #fff;
text-align: center;
}
.page-404-section::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(15, 40, 70, 0.75),
rgba(15, 40, 70, 0.35)
);
z-index: 0;
}
.page-404-section .container {
position: relative;
z-index: 2;
}
.page-404-title {
font-family: "Playfair Display", serif;
font-size: 7rem;
font-weight: 700;
margin-bottom: 0.5rem;
}
.page-404-subtitle {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 0.5rem;
color: #e9edf4;
}
.page-404-text {
font-size: 1rem;
color: #e3e7ef;
}
.page-404-actions .btn {
font-weight: 600;
border-radius: 10px;
padding: 0.75rem 1.8rem;
}
@media (max-width: 768px) {
.page-404-title {
font-size: 4rem;
}
.page-404-subtitle {
font-size: 1.2rem;
}
.page-404-section {
padding: 80px 0 90px;
}
} .rp-breadcrumbs {
background: #f4f0ea;
padding: 14px 0;
font-size: 0.92rem;
border-bottom: 1px solid #e5ddcf;
}
.rp-breadcrumbs a {
color: #1f324f;
text-decoration: none;
font-weight: 600;
}
.rp-breadcrumbs a:hover {
text-decoration: underline;
}
.rp-breadcrumbs span {
margin: 0 6px;
color: #777;
} .rp-header-social {
gap: 12px;
}
.rp-social-link {
font-size: 1.25rem;
color: #1f324f;
transition: color 0.2s ease, transform 0.2s ease;
}
.rp-social-link:hover {
color: #0d2038;
transform: translateY(-2px);
} @media (max-width: 992px) {
.rp-header-social {
display: flex !important;
margin-top: 10px;
}
.rp-social-link {
color: #ffffff;
font-size: 1.4rem;
}
} .contacts-form-section {
background: #fdf8ef;
}
.contacts-form-card {
background: #ffffff;
border-radius: 16px;
border: 1px solid #efe3d3;
padding: 1.8rem 1.9rem 2rem;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.04);
}
.contacts-form-card label {
font-size: 0.9rem;
font-weight: 600;
color: #1f324f;
margin-bottom: 0.25rem;
}
.contacts-form-card .form-control {
border-radius: 10px;
border: 1px solid #e3d7c7;
background-color: #fbf7f2;
font-size: 0.92rem;
}
.contacts-form-card .form-control:focus {
box-shadow: none;
border-color: #d4c3ac;
background-color: #ffffff;
}
.contacts-form-card .wpcf7-notifications,
.contacts-form-card .wpcf7-response-output {
margin-top: 1rem;
font-size: 0.85rem;
} .contacts-social .rp-social-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 0.95rem;
text-decoration: none;
color: #1f324f;
}
.contacts-social .rp-social-link i {
font-size: 1.2rem;
}
.contacts-social .rp-social-link:hover {
text-decoration: underline;
} body.home .rp-logo {
color: #1f324f;
}
@media (max-width: 767.98px) {
body.home .rp-logo {
color: #ffffff;
}
}
@media (min-width: 1200px) {
body.home .rp-logo {
color: #1f324f;
}
} @media (max-width: 992px) {
#booking {
display: none !important;
}
} .contacts-requisites {
background: #fdf8ef;
}
.requisite-card {
background: #ffffff;
border-radius: 16px;
border: 1px solid #efe3d3;
padding: 1.8rem 2rem;
box-shadow: 0 14px 32px rgba(0, 0, 0, 0.04);
max-width: 800px;
margin: 0 auto;
}
.requisite-title {
font-family: "Playfair Display", serif;
color: #1f324f;
text-align: center;
font-size: 1.6rem;
font-weight: 600;
}
.requisite-list {
list-style: none;
padding: 0;
margin: 0;
font-size: 0.98rem;
color: #333;
line-height: 1.55;
}
.requisite-list li {
margin-bottom: 0.35rem;
} .scroll-top {
position: fixed;
bottom: 28px;
right: 28px;
width: 45px;
height: 45px;
border-radius: 50%;
background: #1f324f;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
cursor: pointer;
opacity: 0;
visibility: hidden;
transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
z-index: 999;
}
.scroll-top:hover {
background: #0f2238;
transform: translateY(-3px);
} @media (max-width: 991px) {
.scroll-top {
display: none !important;
}
} .scroll-top.active {
opacity: 1;
visibility: visible;
} .cookie-notice {
position: fixed;
bottom: 25px;
left: 25px;
right: 25px;
max-width: 420px;
margin: 0 auto;
background: #ffffff;
border: 1px solid #efe3d3;
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
border-radius: 16px;
padding: 18px 20px;
display: none;
align-items: center;
gap: 14px;
z-index: 9999;
font-size: 0.9rem;
color: #333;
animation: cookieFade 0.4s ease;
}
@keyframes cookieFade {
from { opacity: 0; transform: translateY(15px); }
to   { opacity: 1; transform: translateY(0); }
}
.cookie-text {
flex: 1;
line-height: 1.4;
}
.cookie-btn {
background: #1f324f;
color: #fff;
border: none;
border-radius: 10px;
padding: 8px 16px;
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
transition: background 0.2s;
}
.cookie-btn:hover {
background: #0f2238;
}
@media (max-width: 576px) {
.cookie-notice {
bottom: 15px;
left: 10px;
right: 10px;
padding: 16px;
}
}
.cookie-link {
color: #1f324f;
font-weight: 600;
text-decoration: underline;
margin-left: 4px;
}
.cookie-link:hover {
text-decoration: none;
color: #0f2238;
} .rp-nav {
flex: 1 1 auto;
}
.rp-nav-list {
list-style: none;
margin: 0;
padding: 0;
}
.rp-nav-list > li {
position: relative;
}
.rp-nav-list > li > a {
position: relative;
display: inline-block;
font-size: 15px;
color: #0b2240;
text-decoration: none;
padding: 6px 4px;
transition: color 0.2s ease;
} .rp-nav-list > li > a::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
width: 100%;
height: 3px;
background: #1f324f;
border-radius: 999px;
transform: translateX(-50%) scaleX(0);
transform-origin: center;
opacity: 0;
transition: transform 0.25s ease-out, opacity 0.25s ease-out;
}
.rp-nav-list > li > a:hover {
color: #1f324f;
}
.rp-nav-list > li > a:hover::after,
.rp-nav-list > li.current-menu-item > a::after,
.rp-nav-list > li.current-menu-ancestor > a::after {
transform: translateX(-50%) scaleX(1);
opacity: 1;
} .rp-nav-logo {
display: none;
} .rp-nav-contacts {
display: none;
} @media (min-width: 992px) {
.rp-nav {
position: relative;
}
.rp-nav-list {
display: flex;
justify-content: center;
gap: 28px;
} .rp-nav-list .sub-menu {
position: absolute;
top: 100%;
left: -20px;
margin-top: 0px;
background: #fff;
border-radius: 12px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
padding: 12px 0;
min-width: 240px;
list-style: none;
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(4px);
transition:
opacity 0.18s ease-out,
transform 0.18s ease-out,
visibility 0s linear 0.18s;
z-index: 999;
} .rp-nav-list li.menu-item-has-children:hover > .sub-menu,
.rp-nav-list li.menu-item-has-children:focus-within > .sub-menu,
.rp-nav-list li.menu-item-has-children > .sub-menu:hover {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0);
transition:
opacity 0.18s ease-out,
transform 0.18s ease-out,
visibility 0s;
}
.rp-nav-list .sub-menu li a {
padding: 8px 18px;
display: block;
color: #0b2240;
text-decoration: none;
white-space: nowrap;
}
.rp-nav-list .sub-menu li a:hover {
background: #f6f3ed;
} .rp-nav-list .sub-menu .menu-item-has-children {
position: relative;
}
.rp-nav-list .sub-menu .menu-item-has-children > .sub-menu {
top: 0;
left: 100%;
margin-top: 0;
margin-left: 6px;
} .rp-nav__toggle {
display: none !important;
}
.rp-header__right {
display: flex;
}
} @media (max-width: 991.98px) {
.rp-nav__toggle {
display: block;
position: relative;
width: 32px;
height: 22px;
border: none;
background: transparent;
cursor: pointer;
z-index: 2001;
} .rp-nav__toggle span {
position: absolute;
left: 0;
width: 100%;
height: 2.5px;
background-color: #0b2240;
border-radius: 2px;
transition: transform 0.25s ease, opacity 0.25s ease, background-color 0.25s ease;
}
.rp-nav__toggle span:nth-child(1) { top: 2px; }
.rp-nav__toggle span:nth-child(2) { top: 9px; }
.rp-nav__toggle span:nth-child(3) { top: 16px; } .rp-nav__toggle.is-open span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.rp-nav__toggle.is-open span:nth-child(2) {
opacity: 0;
}
.rp-nav__toggle.is-open span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}
.mob-nav-logo .rp-logo {
color: #FFF !important;
} body.home .rp-nav__toggle span {
background-color: #ffffff;
}
.rp-nav__toggle.is-open span {
background-color: #ffffff;
} .rp-header__right {
display: none;
} .rp-nav {
position: fixed;
inset: 0;
width: 100vw;
height: 100vh;
background: linear-gradient(
to top,
rgba(15, 50, 90, 0.95),
rgba(15, 50, 90, 1)
);
padding: 15px;
transform: translateX(100%);
transition: transform 0.35s ease;
z-index: 2000;
}
.rp-nav.is-open {
transform: translateX(0);
} .rp-nav-logo {
display: block;
margin-bottom: 32px;
}
.rp-nav-logo img {
width: 140px;
height: auto;
display: block;
} .rp-nav-list {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 18px;
padding-bottom: 15px;
}
.rp-nav-list > li > a {
color: #ffffff;
font-size: 18px;
padding: 6px 0;
} .rp-nav-list > li > a::after {
content: none;
} .rp-nav-list li.menu-item-has-children > a {
position: relative;
padding-right: 18px;
}
.rp-nav-list li.menu-item-has-children > a::before {
content: "";
position: absolute;
right: 0;
top: 50%;
width: 8px;
height: 8px;
border-right: 2px solid #d9e1ff;
border-bottom: 2px solid #d9e1ff;
transform: translateY(-50%) rotate(45deg);
transition: transform 0.2s ease;
} .rp-nav-list li.submenu-open > a::before {
transform: translateY(-50%) rotate(135deg);
} .rp-nav-list .sub-menu {
position: static;
display: none !important;
box-shadow: none;
border-radius: 0;
padding: 4px 0 0;
margin-left: 10px;
background: transparent;
}
.rp-nav-list li.submenu-open > .sub-menu {
display: block !important;
}
.rp-nav-list > li > a:hover {
color: #FFF;
}
.rp-nav-list .sub-menu li a {
padding: 4px 0;
color: #d9e1ff;
font-size: 15px;
text-decoration: none;
} .rp-nav-contacts {
margin-top: auto;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
display: flex;
flex-direction: column;
gap: 10px;
}
.rp-nav-phone,
.rp-nav-email {
color: #ffffff;
font-size: 16px;
text-decoration: none;
display: block;
}
.rp-nav-phone:hover,
.rp-nav-email:hover {
text-decoration: underline;
} .rp-nav-social {
margin-top: 10px;
display: flex;
gap: 16px;
}
.rp-nav-social-link {
font-size: 22px;
color: #ffffff;
text-decoration: none;
}
.rp-nav-social-link:hover {
opacity: 0.7;
}
}