телефон

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