телефон

This commit is contained in:
2026-05-08 13:53:44 +05:00
parent a746b8b281
commit 714486ffa6

View File

@@ -13,13 +13,55 @@
* { margin: 0; padding: 0; box-sizing: border-box; } * { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; } html {
scroll-behavior: smooth;
font-size: clamp(14px, 0.9vw, 18px);
}
body { body {
font-family: 'Inter', sans-serif; font-family: 'Inter', sans-serif;
color: #333; color: #333;
overflow-x: hidden; overflow-x: hidden;
background: var(--light); background: var(--light);
max-width: 100vw;
}
/* Prevent horizontal scroll */
html, body {
overflow-x: hidden;
}
/* Navbar mobile */
.navbar-toggler {
padding: 8px 12px;
border: none;
background: rgba(255,255,255,0.1);
border-radius: 8px;
}
.navbar-toggler:focus {
box-shadow: none;
}
.navbar-toggler-icon {
width: 1.5em;
height: 1.5em;
}
/* Mobile navigation menu */
.navbar-collapse {
background: rgba(10,77,104,0.98);
padding: 15px;
border-radius: 12px;
margin-top: 10px;
}
.navbar-nav {
gap: 5px;
}
.nav-link {
padding: 10px 15px !important;
border-radius: 8px;
}
.nav-link:hover {
background: rgba(212,168,67,0.15);
} }
h1, h2, h3, h4 { h1, h2, h3, h4 {
@@ -115,7 +157,8 @@ h1, h2, h3, h4 {
.hero { .hero {
position: relative; position: relative;
height: 100vh; height: 100vh;
min-height: 700px; min-height: 500px;
max-height: 1200px;
overflow: hidden; overflow: hidden;
display: flex; display: flex;
align-items: center; align-items: center;
@@ -147,33 +190,33 @@ h1, h2, h3, h4 {
background: rgba(212,168,67,0.2); background: rgba(212,168,67,0.2);
border: 1px solid var(--gold); border: 1px solid var(--gold);
color: var(--gold); color: var(--gold);
padding: 8px 24px; padding: clamp(6px, 1.5vw, 12px) clamp(12px, 2vw, 24px);
border-radius: 50px; border-radius: 50px;
font-size: 0.85rem; font-size: clamp(0.7rem, 1vw, 0.85rem);
letter-spacing: 2px; letter-spacing: 2px;
text-transform: uppercase; text-transform: uppercase;
margin-bottom: 20px; margin-bottom: clamp(10px, 2vw, 20px);
animation: fadeInUp 1s ease 0.3s both; animation: fadeInUp 1s ease 0.3s both;
} }
.hero-title { .hero-title {
font-size: 5rem; font-size: clamp(2rem, 6vw, 5rem);
font-weight: 700; font-weight: 700;
line-height: 1.1; line-height: 1.1;
margin-bottom: 20px; margin-bottom: clamp(15px, 3vw, 20px);
animation: fadeInUp 1s ease 0.5s both; animation: fadeInUp 1s ease 0.5s both;
} }
.hero-title span { color: var(--gold); } .hero-title span { color: var(--gold); }
.hero-subtitle { .hero-subtitle {
font-size: 1.3rem; font-size: clamp(0.9rem, 1.5vw, 1.3rem);
opacity: 0.9; opacity: 0.9;
max-width: 600px; max-width: clamp(280px, 60vw, 600px);
line-height: 1.7; line-height: 1.7;
margin-bottom: 35px; margin-bottom: clamp(20px, 5vw, 35px);
animation: fadeInUp 1s ease 0.7s both; animation: fadeInUp 1s ease 0.7s both;
} }
.hero-buttons { .hero-buttons {
display: flex; display: flex;
gap: 15px; gap: clamp(10px, 2vw, 20px);
flex-wrap: wrap; flex-wrap: wrap;
animation: fadeInUp 1s ease 0.9s both; animation: fadeInUp 1s ease 0.9s both;
} }
@@ -181,10 +224,10 @@ h1, h2, h3, h4 {
background: var(--gold); background: var(--gold);
color: var(--dark); color: var(--dark);
border: none; border: none;
padding: 15px 40px; padding: clamp(10px, 2vw, 15px) clamp(20px, 4vw, 40px);
border-radius: 50px; border-radius: 50px;
font-weight: 700; font-weight: 700;
font-size: 1rem; font-size: clamp(0.85rem, 1.2vw, 1rem);
letter-spacing: 0.5px; letter-spacing: 0.5px;
transition: all 0.3s ease; transition: all 0.3s ease;
text-decoration: none; text-decoration: none;
@@ -202,10 +245,10 @@ h1, h2, h3, h4 {
background: transparent; background: transparent;
color: #fff; color: #fff;
border: 2px solid rgba(255,255,255,0.5); border: 2px solid rgba(255,255,255,0.5);
padding: 13px 38px; padding: clamp(8px, 2vw, 13px) clamp(18px, 4vw, 38px);
border-radius: 50px; border-radius: 50px;
font-weight: 600; font-weight: 600;
font-size: 1rem; font-size: clamp(0.85rem, 1.2vw, 1rem);
transition: all 0.3s ease; transition: all 0.3s ease;
text-decoration: none; text-decoration: none;
display: inline-flex; display: inline-flex;
@@ -220,30 +263,36 @@ h1, h2, h3, h4 {
} }
.hero-stats { .hero-stats {
position: absolute; position: absolute;
bottom: 60px; bottom: clamp(20px, 5vw, 60px);
left: 0; right: 0; left: 0; right: 0;
z-index: 2; z-index: 2;
} }
.hero-stats .row {
flex-wrap: wrap;
justify-content: center;
gap: clamp(10px, 2vw, 20px);
}
.hero-stats .row > div {
margin-bottom: 10px;
}
.stat-item { .stat-item {
text-align: center; text-align: center;
color: #fff; color: #fff;
} }
.stat-number { .stat-number {
font-family: 'Playfair Display', serif; font-family: 'Playfair Display', serif;
font-size: 2.5rem; font-size: clamp(1.5rem, 3vw, 2.5rem);
font-weight: 700; font-weight: 700;
color: var(--gold); color: var(--gold);
} }
.stat-label { .stat-label {
font-size: 0.85rem; font-size: clamp(0.7rem, 1vw, 0.85rem);
opacity: 0.8; opacity: 0.8;
letter-spacing: 1px; letter-spacing: 1px;
text-transform: uppercase; text-transform: uppercase;
} }
.stat-divider { .stat-divider {
width: 1px; display: none;
height: 50px;
background: rgba(255,255,255,0.2);
} }
/* Scroll indicator */ /* Scroll indicator */
@@ -267,7 +316,7 @@ h1, h2, h3, h4 {
/* Section styles */ /* Section styles */
.section { .section {
padding: 100px 0; padding: clamp(40px, 8vw, 100px) 0;
} }
.section-dark { .section-dark {
background: var(--dark); background: var(--dark);
@@ -282,7 +331,7 @@ h1, h2, h3, h4 {
} }
.section-header { .section-header {
text-align: center; text-align: center;
margin-bottom: 60px; margin-bottom: clamp(30px, 6vw, 60px);
} }
.section-badge { .section-badge {
display: inline-block; display: inline-block;
@@ -290,7 +339,7 @@ h1, h2, h3, h4 {
color: var(--gold); color: var(--gold);
padding: 6px 20px; padding: 6px 20px;
border-radius: 50px; border-radius: 50px;
font-size: 0.8rem; font-size: clamp(0.7rem, 1vw, 0.8rem);
letter-spacing: 2px; letter-spacing: 2px;
text-transform: uppercase; text-transform: uppercase;
margin-bottom: 15px; margin-bottom: 15px;
@@ -300,14 +349,14 @@ h1, h2, h3, h4 {
color: var(--gold); color: var(--gold);
} }
.section-title { .section-title {
font-size: 3rem; font-size: clamp(1.8rem, 4vw, 3rem);
font-weight: 700; font-weight: 700;
margin-bottom: 15px; margin-bottom: 15px;
} }
.section-subtitle { .section-subtitle {
font-size: 1.1rem; font-size: clamp(0.9rem, 1.3vw, 1.1rem);
opacity: 0.7; opacity: 0.7;
max-width: 600px; max-width: clamp(280px, 80vw, 600px);
margin: 0 auto; margin: 0 auto;
line-height: 1.7; line-height: 1.7;
} }
@@ -331,7 +380,7 @@ h1, h2, h3, h4 {
} }
.about-image-wrapper img { .about-image-wrapper img {
width: 100%; width: 100%;
height: 400px; height: clamp(200px, 40vw, 400px);
object-fit: cover; object-fit: cover;
transition: transform 0.5s ease; transition: transform 0.5s ease;
} }
@@ -340,36 +389,36 @@ h1, h2, h3, h4 {
} }
.about-image-badge { .about-image-badge {
position: absolute; position: absolute;
bottom: 20px; bottom: clamp(10px, 3vw, 20px);
right: 20px; right: clamp(10px, 3vw, 20px);
background: var(--gold); background: var(--gold);
color: var(--dark); color: var(--dark);
padding: 15px 25px; padding: clamp(10px, 2vw, 15px) clamp(15px, 3vw, 25px);
border-radius: 15px; border-radius: clamp(10px, 2vw, 15px);
text-align: center; text-align: center;
font-weight: 700; font-weight: 700;
} }
.about-image-badge .big { .about-image-badge .big {
font-family: 'Playfair Display', serif; font-family: 'Playfair Display', serif;
font-size: 2rem; font-size: clamp(1.2rem, 3vw, 2rem);
display: block; display: block;
} }
.about-image-badge .small { .about-image-badge .small {
font-size: 0.75rem; font-size: clamp(0.6rem, 1vw, 0.75rem);
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1px;
} }
.feature-grid { .feature-grid {
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px; gap: clamp(10px, 2vw, 20px);
margin-top: 30px; margin-top: clamp(20px, 4vw, 30px);
} }
.feature-item { .feature-item {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
gap: 15px; gap: clamp(10px, 2vw, 15px);
padding: 15px; padding: clamp(10px, 2vw, 15px);
border-radius: 12px; border-radius: 12px;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
@@ -377,24 +426,24 @@ h1, h2, h3, h4 {
background: rgba(212,168,67,0.08); background: rgba(212,168,67,0.08);
} }
.feature-icon { .feature-icon {
width: 50px; width: clamp(40px, 8vw, 50px);
height: 50px; height: clamp(40px, 8vw, 50px);
min-width: 50px; min-width: clamp(40px, 8vw, 50px);
background: linear-gradient(135deg, var(--primary), var(--primary-light)); background: linear-gradient(135deg, var(--primary), var(--primary-light));
border-radius: 12px; border-radius: 12px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: #fff; color: #fff;
font-size: 1.2rem; font-size: clamp(1rem, 2vw, 1.2rem);
} }
.feature-text h5 { .feature-text h5 {
font-size: 1rem; font-size: clamp(0.9rem, 1.5vw, 1rem);
font-weight: 700; font-weight: 700;
margin-bottom: 5px; margin-bottom: 5px;
} }
.feature-text p { .feature-text p {
font-size: 0.85rem; font-size: clamp(0.75rem, 1.2vw, 0.85rem);
color: #666; color: #666;
margin: 0; margin: 0;
line-height: 1.5; line-height: 1.5;
@@ -422,12 +471,12 @@ h1, h2, h3, h4 {
.room-card.featured::before { .room-card.featured::before {
content: '★ ХИТ'; content: '★ ХИТ';
position: absolute; position: absolute;
top: 20px; top: clamp(10px, 3vw, 20px);
right: -35px; right: clamp(-45px, -10vw, -35px);
background: var(--gold); background: var(--gold);
color: var(--dark); color: var(--dark);
padding: 5px 40px; padding: 5px clamp(20px, 5vw, 40px);
font-size: 0.75rem; font-size: clamp(0.6rem, 1vw, 0.75rem);
font-weight: 700; font-weight: 700;
letter-spacing: 1px; letter-spacing: 1px;
transform: rotate(45deg); transform: rotate(45deg);
@@ -435,7 +484,7 @@ h1, h2, h3, h4 {
} }
.room-image { .room-image {
position: relative; position: relative;
height: 250px; height: clamp(180px, 30vw, 250px);
overflow: hidden; overflow: hidden;
} }
.room-image img { .room-image img {
@@ -449,50 +498,50 @@ h1, h2, h3, h4 {
} }
.room-category { .room-category {
position: absolute; position: absolute;
top: 15px; top: clamp(8px, 2vw, 15px);
left: 15px; left: clamp(8px, 2vw, 15px);
background: rgba(10,77,104,0.9); background: rgba(10,77,104,0.9);
color: #fff; color: #fff;
padding: 6px 16px; padding: 6px clamp(10px, 2vw, 16px);
border-radius: 50px; border-radius: 50px;
font-size: 0.8rem; font-size: clamp(0.7rem, 1.2vw, 0.8rem);
font-weight: 600; font-weight: 600;
letter-spacing: 1px; letter-spacing: 1px;
text-transform: uppercase; text-transform: uppercase;
} }
.room-body { .room-body {
padding: 30px; padding: clamp(15px, 3vw, 30px);
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.room-name { .room-name {
font-size: 1.5rem; font-size: clamp(1.2rem, 2.5vw, 1.5rem);
font-weight: 700; font-weight: 700;
margin-bottom: 10px; margin-bottom: 10px;
color: var(--dark); color: var(--dark);
} }
.room-desc { .room-desc {
font-size: 0.9rem; font-size: clamp(0.8rem, 1.3vw, 0.9rem);
color: #666; color: #666;
line-height: 1.6; line-height: 1.6;
margin-bottom: 20px; margin-bottom: clamp(15px, 3vw, 20px);
flex: 1; flex: 1;
} }
.room-features { .room-features {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 10px; gap: clamp(6px, 1.5vw, 10px);
margin-bottom: 20px; margin-bottom: clamp(15px, 3vw, 20px);
} }
.room-feature-tag { .room-feature-tag {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
gap: 5px; gap: 5px;
background: var(--light); background: var(--light);
padding: 6px 12px; padding: 6px clamp(8px, 2vw, 12px);
border-radius: 8px; border-radius: 8px;
font-size: 0.8rem; font-size: clamp(0.7rem, 1.1vw, 0.8rem);
color: #555; color: #555;
} }
.room-feature-tag i { .room-feature-tag i {
@@ -503,29 +552,33 @@ h1, h2, h3, h4 {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding-top: 20px; padding-top: clamp(15px, 3vw, 20px);
border-top: 1px solid #eee; border-top: 1px solid #eee;
flex-wrap: wrap;
gap: 15px;
} }
.room-footer > div { text-align: left; }
.room-footer > button { flex-shrink: 0; }
.room-price { .room-price {
font-family: 'Playfair Display', serif; font-family: 'Playfair Display', serif;
} }
.room-price .amount { .room-price .amount {
font-size: 1.8rem; font-size: clamp(1.3rem, 2.5vw, 1.8rem);
font-weight: 700; font-weight: 700;
color: var(--primary); color: var(--primary);
} }
.room-price .period { .room-price .period {
font-size: 0.85rem; font-size: clamp(0.75rem, 1.2vw, 0.85rem);
color: #999; color: #999;
} }
.btn-book { .btn-book {
background: var(--primary); background: var(--primary);
color: #fff; color: #fff;
border: none; border: none;
padding: 10px 25px; padding: clamp(8px, 2vw, 10px) clamp(15px, 3vw, 25px);
border-radius: 50px; border-radius: 50px;
font-weight: 600; font-weight: 600;
font-size: 0.9rem; font-size: clamp(0.8rem, 1.2vw, 0.9rem);
transition: all 0.3s ease; transition: all 0.3s ease;
cursor: pointer; cursor: pointer;
} }
@@ -538,9 +591,49 @@ h1, h2, h3, h4 {
/* Gallery */ /* Gallery */
.gallery-grid { .gallery-grid {
display: grid; display: grid;
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-template-rows: repeat(2, 250px); gap: clamp(8px, 2vw, 15px);
gap: 15px; }
.gallery-item {
position: relative;
border-radius: 16px;
overflow: hidden;
cursor: pointer;
transition: all 0.3s ease;
aspect-ratio: 1;
}
.gallery-item:first-child {
grid-column: span 2;
grid-row: span 2;
aspect-ratio: auto;
}
.gallery-item img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.gallery-item:hover img {
transform: scale(1.1);
}
.gallery-overlay {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background: linear-gradient(to top, rgba(10,77,104,0.7) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: flex-end;
padding: clamp(10px, 3vw, 20px);
}
.gallery-item:hover .gallery-overlay {
opacity: 1;
}
.gallery-overlay span {
color: #fff;
font-weight: 600;
font-size: clamp(0.85rem, 1.5vw, 1rem);
} }
.gallery-item { .gallery-item {
position: relative; position: relative;
@@ -586,7 +679,7 @@ h1, h2, h3, h4 {
position: relative; position: relative;
border-radius: 24px; border-radius: 24px;
overflow: hidden; overflow: hidden;
height: 350px; height: clamp(250px, 40vw, 350px);
cursor: pointer; cursor: pointer;
transition: all 0.4s ease; transition: all 0.4s ease;
} }
@@ -611,29 +704,29 @@ h1, h2, h3, h4 {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: flex-end; justify-content: flex-end;
padding: 30px; padding: clamp(20px, 4vw, 30px);
} }
.activity-icon { .activity-icon {
width: 50px; width: clamp(40px, 8vw, 50px);
height: 50px; height: clamp(40px, 8vw, 50px);
background: var(--gold); background: var(--gold);
border-radius: 50%; border-radius: 50%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: var(--dark); color: var(--dark);
font-size: 1.2rem; font-size: clamp(1rem, 2vw, 1.2rem);
margin-bottom: 15px; margin-bottom: clamp(10px, 2vw, 15px);
} }
.activity-title { .activity-title {
font-size: 1.5rem; font-size: clamp(1.2rem, 2.5vw, 1.5rem);
color: #fff; color: #fff;
font-weight: 700; font-weight: 700;
margin-bottom: 8px; margin-bottom: 8px;
} }
.activity-desc { .activity-desc {
color: rgba(255,255,255,0.8); color: rgba(255,255,255,0.8);
font-size: 0.9rem; font-size: clamp(0.8rem, 1.3vw, 0.9rem);
line-height: 1.6; line-height: 1.6;
} }
@@ -642,7 +735,7 @@ h1, h2, h3, h4 {
background: rgba(255,255,255,0.05); background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.1);
border-radius: 20px; border-radius: 20px;
padding: 35px; padding: clamp(20px, 4vw, 35px);
transition: all 0.3s ease; transition: all 0.3s ease;
height: 100%; height: 100%;
} }
@@ -653,10 +746,10 @@ h1, h2, h3, h4 {
.review-stars { .review-stars {
color: var(--gold); color: var(--gold);
margin-bottom: 15px; margin-bottom: 15px;
font-size: 1.1rem; font-size: clamp(0.9rem, 1.5vw, 1.1rem);
} }
.review-text { .review-text {
font-size: 1rem; font-size: clamp(0.85rem, 1.4vw, 1rem);
line-height: 1.7; line-height: 1.7;
color: rgba(255,255,255,0.85); color: rgba(255,255,255,0.85);
margin-bottom: 20px; margin-bottom: 20px;
@@ -668,8 +761,8 @@ h1, h2, h3, h4 {
gap: 15px; gap: 15px;
} }
.review-avatar { .review-avatar {
width: 50px; width: clamp(40px, 8vw, 50px);
height: 50px; height: clamp(40px, 8vw, 50px);
border-radius: 50%; border-radius: 50%;
background: linear-gradient(135deg, var(--gold), var(--accent)); background: linear-gradient(135deg, var(--gold), var(--accent));
display: flex; display: flex;
@@ -677,15 +770,16 @@ h1, h2, h3, h4 {
justify-content: center; justify-content: center;
font-weight: 700; font-weight: 700;
color: var(--dark); color: var(--dark);
font-size: 1.1rem; font-size: clamp(0.9rem, 1.5vw, 1.1rem);
} }
.review-name { .review-name {
font-weight: 600; font-weight: 600;
color: #fff; color: #fff;
margin-bottom: 3px; margin-bottom: 3px;
font-size: clamp(0.9rem, 1.3vw, 1rem);
} }
.review-date { .review-date {
font-size: 0.8rem; font-size: clamp(0.7rem, 1vw, 0.8rem);
color: rgba(255,255,255,0.5); color: rgba(255,255,255,0.5);
} }
@@ -695,11 +789,11 @@ h1, h2, h3, h4 {
border-radius: 24px; border-radius: 24px;
overflow: hidden; overflow: hidden;
box-shadow: 0 15px 50px rgba(0,0,0,0.1); box-shadow: 0 15px 50px rgba(0,0,0,0.1);
max-width: 800px; max-width: clamp(300px, 90vw, 800px);
margin: 0 auto; margin: 0 auto;
} }
.host-image { .host-image {
height: 300px; height: clamp(180px, 35vw, 300px);
background: linear-gradient(135deg, var(--primary), var(--primary-light)); background: linear-gradient(135deg, var(--primary), var(--primary-light));
display: flex; display: flex;
align-items: center; align-items: center;
@@ -710,8 +804,8 @@ h1, h2, h3, h4 {
.host-image::before { .host-image::before {
content: ''; content: '';
position: absolute; position: absolute;
width: 200px; width: clamp(120px, 30vw, 200px);
height: 200px; height: clamp(120px, 30vw, 200px);
border-radius: 50%; border-radius: 50%;
background: rgba(212,168,67,0.15); background: rgba(212,168,67,0.15);
top: 50%; top: 50%;
@@ -719,21 +813,21 @@ h1, h2, h3, h4 {
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.host-image i { .host-image i {
font-size: 5rem; font-size: clamp(3rem, 8vw, 5rem);
color: var(--gold); color: var(--gold);
position: relative; position: relative;
z-index: 1; z-index: 1;
} }
.host-body { .host-body {
padding: 40px; padding: clamp(20px, 5vw, 40px);
text-align: center; text-align: center;
} }
.host-body h3 { .host-body h3 {
font-size: 1.8rem; font-size: clamp(1.3rem, 3vw, 1.8rem);
margin-bottom: 15px; margin-bottom: 15px;
} }
.host-body p { .host-body p {
font-size: 1rem; font-size: clamp(0.85rem, 1.4vw, 1rem);
color: #666; color: #666;
line-height: 1.7; line-height: 1.7;
margin-bottom: 25px; margin-bottom: 25px;
@@ -744,10 +838,10 @@ h1, h2, h3, h4 {
gap: 10px; gap: 10px;
background: var(--primary); background: var(--primary);
color: #fff; color: #fff;
padding: 15px 35px; padding: clamp(10px, 2.5vw, 15px) clamp(20px, 5vw, 35px);
border-radius: 50px; border-radius: 50px;
font-weight: 700; font-weight: 700;
font-size: 1.1rem; font-size: clamp(0.9rem, 1.5vw, 1.1rem);
text-decoration: none; text-decoration: none;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
@@ -766,30 +860,30 @@ h1, h2, h3, h4 {
.contact-info-item { .contact-info-item {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
gap: 20px; gap: clamp(12px, 3vw, 20px);
margin-bottom: 30px; margin-bottom: clamp(20px, 4vw, 30px);
} }
.contact-icon { .contact-icon {
width: 55px; width: clamp(40px, 10vw, 55px);
height: 55px; height: clamp(40px, 10vw, 55px);
min-width: 55px; min-width: clamp(40px, 10vw, 55px);
background: rgba(212,168,67,0.15); background: rgba(212,168,67,0.15);
border-radius: 15px; border-radius: 15px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: var(--gold); color: var(--gold);
font-size: 1.3rem; font-size: clamp(1rem, 2.5vw, 1.3rem);
} }
.contact-label { .contact-label {
font-size: 0.8rem; font-size: clamp(0.7rem, 1.2vw, 0.8rem);
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1px;
color: rgba(255,255,255,0.5); color: rgba(255,255,255,0.5);
margin-bottom: 5px; margin-bottom: 5px;
} }
.contact-value { .contact-value {
font-size: 1.1rem; font-size: clamp(0.9rem, 1.5vw, 1.1rem);
font-weight: 600; font-weight: 600;
} }
.contact-value a { .contact-value a {
@@ -805,7 +899,7 @@ h1, h2, h3, h4 {
border-radius: 20px; border-radius: 20px;
overflow: hidden; overflow: hidden;
height: 100%; height: 100%;
min-height: 400px; min-height: clamp(250px, 50vw, 400px);
background: rgba(255,255,255,0.05); background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.1);
display: flex; display: flex;
@@ -815,23 +909,23 @@ h1, h2, h3, h4 {
gap: 15px; gap: 15px;
} }
.map-container i { .map-container i {
font-size: 3rem; font-size: clamp(2rem, 5vw, 3rem);
color: var(--gold); color: var(--gold);
} }
.map-container span { .map-container span {
color: rgba(255,255,255,0.6); color: rgba(255,255,255,0.6);
font-size: 0.9rem; font-size: clamp(0.8rem, 1.3vw, 0.9rem);
} }
/* Footer */ /* Footer */
.footer { .footer {
background: #0d0d1a; background: #0d0d1a;
color: #fff; color: #fff;
padding: 60px 0 30px; padding: clamp(30px, 6vw, 60px) 0 clamp(20px, 4vw, 30px);
} }
.footer-brand { .footer-brand {
font-family: 'Playfair Display', serif; font-family: 'Playfair Display', serif;
font-size: 2rem; font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 700; font-weight: 700;
color: #fff; color: #fff;
margin-bottom: 15px; margin-bottom: 15px;
@@ -839,16 +933,16 @@ h1, h2, h3, h4 {
.footer-brand span { color: var(--gold); } .footer-brand span { color: var(--gold); }
.footer-desc { .footer-desc {
color: rgba(255,255,255,0.5); color: rgba(255,255,255,0.5);
font-size: 0.9rem; font-size: clamp(0.8rem, 1.3vw, 0.9rem);
line-height: 1.7; line-height: 1.7;
margin-bottom: 20px; margin-bottom: 20px;
} }
.footer-title { .footer-title {
font-size: 1rem; font-size: clamp(0.85rem, 1.3vw, 1rem);
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 1px; letter-spacing: 1px;
margin-bottom: 20px; margin-bottom: clamp(15px, 3vw, 20px);
color: var(--gold); color: var(--gold);
} }
.footer-links { .footer-links {
@@ -856,12 +950,12 @@ h1, h2, h3, h4 {
padding: 0; padding: 0;
} }
.footer-links li { .footer-links li {
margin-bottom: 10px; margin-bottom: clamp(8px, 1.5vw, 10px);
} }
.footer-links a { .footer-links a {
color: rgba(255,255,255,0.6); color: rgba(255,255,255,0.6);
text-decoration: none; text-decoration: none;
font-size: 0.9rem; font-size: clamp(0.8rem, 1.2vw, 0.9rem);
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.footer-links a:hover { .footer-links a:hover {
@@ -874,8 +968,8 @@ h1, h2, h3, h4 {
margin-top: 20px; margin-top: 20px;
} }
.footer-social a { .footer-social a {
width: 40px; width: clamp(35px, 7vw, 40px);
height: 40px; height: clamp(35px, 7vw, 40px);
border-radius: 50%; border-radius: 50%;
background: rgba(255,255,255,0.08); background: rgba(255,255,255,0.08);
display: flex; display: flex;
@@ -892,11 +986,11 @@ h1, h2, h3, h4 {
} }
.footer-bottom { .footer-bottom {
border-top: 1px solid rgba(255,255,255,0.08); border-top: 1px solid rgba(255,255,255,0.08);
margin-top: 40px; margin-top: clamp(25px, 5vw, 40px);
padding-top: 20px; padding-top: 20px;
text-align: center; text-align: center;
color: rgba(255,255,255,0.4); color: rgba(255,255,255,0.4);
font-size: 0.85rem; font-size: clamp(0.75rem, 1.2vw, 0.85rem);
} }
/* Animations */ /* Animations */
@@ -927,7 +1021,7 @@ h1, h2, h3, h4 {
.cta-banner { .cta-banner {
background: linear-gradient(135deg, var(--gold) 0%, var(--accent) 100%); background: linear-gradient(135deg, var(--gold) 0%, var(--accent) 100%);
border-radius: 24px; border-radius: 24px;
padding: 60px; padding: clamp(25px, 6vw, 60px);
text-align: center; text-align: center;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
@@ -939,30 +1033,30 @@ h1, h2, h3, h4 {
left: 50%; left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
font-family: 'Playfair Display', serif; font-family: 'Playfair Display', serif;
font-size: 15rem; font-size: clamp(5rem, 15vw, 15rem);
font-weight: 700; font-weight: 700;
color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.1);
} }
.cta-banner h2 { .cta-banner h2 {
font-size: 2.5rem; font-size: clamp(1.5rem, 4vw, 2.5rem);
color: var(--dark); color: var(--dark);
margin-bottom: 15px; margin-bottom: 15px;
position: relative; position: relative;
} }
.cta-banner p { .cta-banner p {
color: rgba(26,26,46,0.7); color: rgba(26,26,46,0.7);
font-size: 1.1rem; font-size: clamp(0.9rem, 1.5vw, 1.1rem);
margin-bottom: 30px; margin-bottom: clamp(20px, 5vw, 30px);
position: relative; position: relative;
} }
.btn-dark-cta { .btn-dark-cta {
background: var(--dark); background: var(--dark);
color: #fff; color: #fff;
border: none; border: none;
padding: 15px 45px; padding: clamp(10px, 2.5vw, 15px) clamp(25px, 5vw, 45px);
border-radius: 50px; border-radius: 50px;
font-weight: 700; font-weight: 700;
font-size: 1rem; font-size: clamp(0.9rem, 1.4vw, 1rem);
transition: all 0.3s ease; transition: all 0.3s ease;
position: relative; position: relative;
cursor: pointer; cursor: pointer;
@@ -986,19 +1080,19 @@ h1, h2, h3, h4 {
background: linear-gradient(135deg, var(--primary), var(--primary-light)); background: linear-gradient(135deg, var(--primary), var(--primary-light));
color: #fff; color: #fff;
border: none; border: none;
padding: 25px 30px; padding: clamp(15px, 4vw, 25px) clamp(15px, 4vw, 30px);
} }
.modal-header .btn-close { .modal-header .btn-close {
filter: invert(1); filter: invert(1);
} }
.modal-body { .modal-body {
padding: 30px; padding: clamp(15px, 4vw, 30px);
} }
.form-control, .form-select { .form-control, .form-select {
border-radius: 12px; border-radius: 12px;
border: 2px solid #e0e0e0; border: 2px solid #e0e0e0;
padding: 12px 18px; padding: 12px 18px;
font-size: 0.95rem; font-size: clamp(0.85rem, 1.3vw, 0.95rem);
transition: all 0.3s ease; transition: all 0.3s ease;
} }
.form-control:focus, .form-select:focus { .form-control:focus, .form-select:focus {
@@ -1007,7 +1101,7 @@ h1, h2, h3, h4 {
} }
.form-label { .form-label {
font-weight: 600; font-weight: 600;
font-size: 0.9rem; font-size: clamp(0.8rem, 1.2vw, 0.9rem);
color: #444; color: #444;
margin-bottom: 6px; margin-bottom: 6px;
} }
@@ -1018,7 +1112,7 @@ h1, h2, h3, h4 {
padding: 14px 40px; padding: 14px 40px;
border-radius: 50px; border-radius: 50px;
font-weight: 700; font-weight: 700;
font-size: 1rem; font-size: clamp(0.9rem, 1.4vw, 1rem);
width: 100%; width: 100%;
transition: all 0.3s ease; transition: all 0.3s ease;
} }
@@ -1030,17 +1124,17 @@ h1, h2, h3, h4 {
/* Floating phone button */ /* Floating phone button */
.float-phone { .float-phone {
position: fixed; position: fixed;
bottom: 30px; bottom: clamp(15px, 4vw, 30px);
right: 30px; right: clamp(15px, 4vw, 30px);
width: 60px; width: clamp(50px, 12vw, 60px);
height: 60px; height: clamp(50px, 12vw, 60px);
background: #25d366; background: #25d366;
border-radius: 50%; border-radius: 50%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
color: #fff; color: #fff;
font-size: 1.5rem; font-size: clamp(1.2rem, 3vw, 1.5rem);
z-index: 1000; z-index: 1000;
box-shadow: 0 5px 25px rgba(37,211,102,0.4); box-shadow: 0 5px 25px rgba(37,211,102,0.4);
transition: all 0.3s ease; transition: all 0.3s ease;
@@ -1057,38 +1151,116 @@ h1, h2, h3, h4 {
100% { box-shadow: 0 5px 25px rgba(37,211,102,0.4); } 100% { box-shadow: 0 5px 25px rgba(37,211,102,0.4); }
} }
/* Responsive */ /* Responsive - Tablet */
@media (max-width: 991px) { @media (max-width: 991px) {
.hero-title { font-size: 3rem; } .gallery-item:first-child {
.section-title { font-size: 2.2rem; } grid-column: span 1;
.gallery-grid {
grid-template-columns: repeat(2, 1fr);
grid-template-rows: auto;
}
.gallery-item:nth-child(1) {
grid-column: span 2;
grid-row: span 1; grid-row: span 1;
} }
.gallery-item { height: 200px; } .feature-grid {
.stat-divider { display: none; } grid-template-columns: repeat(2, 1fr);
.cta-banner { padding: 40px 25px; } }
.cta-banner h2 { font-size: 1.8rem; }
} }
/* Responsive - Mobile */
@media (max-width: 767px) { @media (max-width: 767px) {
.hero-title { font-size: 2.5rem; } .feature-grid {
.hero-subtitle { font-size: 1rem; }
.section { padding: 60px 0; }
.feature-grid { grid-template-columns: 1fr; }
.gallery-grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
.gallery-item:nth-child(1) { .gallery-item:first-child {
grid-column: span 1; grid-column: span 1;
grid-row: span 1;
aspect-ratio: 1;
}
.room-footer {
flex-direction: column;
gap: 15px;
text-align: center;
}
.cta-banner::before {
font-size: 5rem;
}
}
/* Large screens - Desktop, TV */
@media (min-width: 1400px) {
.container {
max-width: 1320px;
}
.hero {
max-height: 1000px;
}
}
/* Extra large - 2K, 4K */
@media (min-width: 1920px) {
html {
font-size: 18px;
}
.container {
max-width: 1600px;
}
.section {
padding: 120px 0;
}
.hero {
max-height: 1200px;
}
.hero-title {
font-size: 5rem;
}
.section-title {
font-size: 3rem;
}
.about-image-wrapper img {
height: 500px;
}
.room-image {
height: 300px;
}
.activity-card {
height: 400px;
}
}
/* Very large screens */
@media (min-width: 2560px) {
html {
font-size: 20px;
}
.container {
max-width: 2000px;
}
.hero-title {
font-size: 6rem;
}
.section-title {
font-size: 3.5rem;
}
}
/* Extra small - very old phones */
@media (max-width: 375px) {
.hero-title {
font-size: 1.8rem;
}
.hero-badge {
font-size: 0.65rem;
padding: 5px 12px;
}
.section-badge {
font-size: 0.65rem;
padding: 5px 12px;
}
.btn-gold, .btn-outline-white {
padding: 10px 18px;
font-size: 0.8rem;
}
.float-phone {
width: 45px;
height: 45px;
font-size: 1rem;
} }
.hero-stats .row > div { margin-bottom: 20px; }
.room-footer { flex-direction: column; gap: 15px; text-align: center; }
.activity-card { height: 280px; }
.host-card .host-body { padding: 25px; }
} }
/* Smooth image reveal */ /* Smooth image reveal */