/*! OhSuites 7.1.4 | GPL-2.0-or-later | style.css + enhancements.css */
:root {  --color-sand: #F5F0E8; --color-sand-light: #FAF8F4; --color-ocean: #1A6B7A; --color-ocean-light: #2A8B9A; --color-ocean-dark: #0E4F5C; --color-midnight: #1A1A2E; --color-midnight-light: #2D2D44; --color-gold: #C4A265; --color-gold-light: #D4B878; --color-white: #FFFFFF; --color-text: #3A3A3A; --color-text-light: #7A7A7A; --color-divider: rgba(196, 162, 101, 0.3);  --font-display: "Cormorant Garamond", Georgia, serif; --font-body: "Outfit", "Helvetica Neue", sans-serif; --font-accent: "Cormorant", Georgia, serif;  --section-padding: clamp(4rem, 8vw, 8rem); --container-max: 1280px; --container-narrow: 860px;  --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94); --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1); }  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { font-family: var(--font-body); font-weight: 300; font-size: 16px; line-height: 1.7; color: var(--color-text); background-color: var(--color-sand-light); overflow-x: hidden; } img { max-width: 100%; height: auto; display: block; } a { text-decoration: none; color: inherit; transition: color 0.3s var(--ease-out); } ul, ol { list-style: none; } .container { max-width: var(--container-max); margin: 0 auto; padding: 0 clamp(1.5rem, 4vw, 3rem); } .container--narrow { max-width: var(--container-narrow); }  h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 400; line-height: 1.15; color: var(--color-midnight); } .section-label { font-family: var(--font-body); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--color-gold); margin-bottom: 1rem; display: flex; align-items: center; gap: 1rem; } .section-label::before { content: ""; display: block; width: 40px; height: 1px; background: var(--color-gold); } .section-title { font-size: clamp(2rem, 4.5vw, 3.5rem); margin-bottom: 1.5rem; letter-spacing: -0.02em; } .section-subtitle { font-family: var(--font-accent); font-size: clamp(1.1rem, 2vw, 1.35rem); font-style: italic; color: var(--color-text-light); line-height: 1.6; max-width: 600px; }  .site-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 1.5rem 0; transition: all 0.4s var(--ease-out); } .site-header--scrolled { background: rgba(26, 26, 46, 0.95); backdrop-filter: blur(20px); padding: 0.8rem 0; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15); } .header-inner { display: flex; justify-content: space-between; align-items: center; } .site-logo { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; color: var(--color-white); letter-spacing: 0.05em; } .site-logo span { color: var(--color-gold); } .main-nav ul { display: flex; gap: 1.6rem; align-items: center; } .main-nav a { font-family: var(--font-body); font-size: 0.72rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.8); position: relative; padding-bottom: 4px; white-space: nowrap; } .main-nav a::after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: var(--color-gold); transition: width 0.3s var(--ease-out); } .main-nav a:hover { color: var(--color-white); } .main-nav a:hover::after { width: 100%; }  .nav-book-btn { background: var(--color-gold) !important; color: var(--color-midnight) !important; padding: 0.4rem 1rem !important; font-weight: 500 !important; letter-spacing: 0.08em !important; white-space: nowrap !important; transition: all 0.3s var(--ease-out) !important; } .nav-book-btn:hover { background: var(--color-gold-light) !important; color: var(--color-midnight) !important; transform: translateY(-1px); box-shadow: 0 4px 15px rgba(196, 162, 101, 0.4); } .nav-book-btn::after { display: none !important; }  .menu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 0.5rem; } .menu-toggle span { display: block; width: 28px; height: 2px; background: var(--color-white); margin: 6px 0; transition: all 0.3s var(--ease-out); }  .hero { position: relative; min-height: 100vh; display: flex; align-items: flex-end; padding-bottom: var(--section-padding); overflow: hidden; } .hero__background { position: absolute; inset: 0; z-index: -2; } .hero__background img { width: 100%; height: 100%; object-fit: cover; } .hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient( to bottom, rgba(26, 26, 46, 0.2) 0%, rgba(26, 26, 46, 0.4) 50%, rgba(26, 26, 46, 0.85) 100% ); } .hero__content { position: relative; z-index: 2; color: var(--color-white); max-width: 700px; } .hero__label { font-family: var(--font-body); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--color-gold-light); margin-bottom: 1.5rem; opacity: 0; transform: translateY(20px); animation: fadeUp 0.8s var(--ease-out) 0.3s forwards; } .hero__title { font-family: var(--font-display); font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 400; line-height: 1.08; color: var(--color-white); margin-bottom: 1.5rem; letter-spacing: -0.02em; opacity: 0; transform: translateY(30px); animation: fadeUp 0.8s var(--ease-out) 0.5s forwards; } .hero__title em { font-family: var(--font-accent); font-style: italic; color: var(--color-gold-light); } .hero__description { font-size: 1.1rem; font-weight: 300; line-height: 1.7; color: rgba(255, 255, 255, 0.75); margin-bottom: 2.5rem; max-width: 520px; opacity: 0; transform: translateY(30px); animation: fadeUp 0.8s var(--ease-out) 0.7s forwards; } .hero__actions { display: flex; gap: 1.5rem; flex-wrap: wrap; opacity: 0; transform: translateY(30px); animation: fadeUp 0.8s var(--ease-out) 0.9s forwards; }  .btn { display: inline-flex; align-items: center; gap: 0.75rem; padding: 1rem 2.2rem; font-family: var(--font-body); font-size: 0.8rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; border: none; cursor: pointer; transition: all 0.4s var(--ease-out); } .btn--primary { background: var(--color-gold); color: var(--color-midnight); } .btn--primary:hover { background: var(--color-gold-light); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(196, 162, 101, 0.3); } .btn--outline { background: transparent; color: var(--color-white); border: 1px solid rgba(255, 255, 255, 0.3); } .btn--outline:hover { border-color: var(--color-gold); color: var(--color-gold); } .btn--whatsapp { background: #25D366; color: var(--color-white); border-radius: 0; } .btn--whatsapp:hover { background: #20BD5A; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3); }  .hero__scroll { position: absolute; bottom: 2rem; right: clamp(1.5rem, 4vw, 3rem); display: flex; flex-direction: column; align-items: center; gap: 0.75rem; color: rgba(255, 255, 255, 0.5); font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; writing-mode: vertical-rl; } .hero__scroll::after { content: ""; width: 1px; height: 60px; background: linear-gradient(to bottom, var(--color-gold), transparent); animation: scrollLine 2s var(--ease-in-out) infinite; } @keyframes scrollLine { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 50.01% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } } @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }  .about { padding: var(--section-padding) 0; background: var(--color-sand-light); } .about__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 6rem); align-items: center; } .about__image { position: relative; aspect-ratio: 3/4; overflow: hidden; } .about__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease-out); } .about__image:hover img { transform: scale(1.05); } .about__image::after { content: ""; position: absolute; bottom: -20px; right: -20px; width: 60%; height: 60%; border: 1px solid var(--color-gold); z-index: -1; } .about__text p { margin-bottom: 1.5rem; color: var(--color-text); } .about__features { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.5rem; } .feature-item { display: flex; align-items: flex-start; gap: 0.75rem; } .feature-item__icon { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-divider); color: var(--color-gold); font-size: 1.1rem; } .feature-item__text { font-size: 0.85rem; font-weight: 400; line-height: 1.5; }  .suites { padding: var(--section-padding) 0; background: var(--color-midnight); color: var(--color-white); } .suites .section-title { color: var(--color-white); } .suites__header { text-align: center; margin-bottom: clamp(3rem, 5vw, 5rem); } .suites__header .section-label::before { display: none; } .suites__header .section-label { justify-content: center; } .suites__header .section-subtitle { margin: 0 auto; color: rgba(255, 255, 255, 0.6); } .suites__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } .suite-card { display: flex; flex-direction: column; overflow: hidden; cursor: pointer; border-radius: 8px; background: var(--color-midnight, #1A1A2E); transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out); } .suite-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); } .suite-card__image { position: relative; aspect-ratio: 4/3; overflow: hidden; } .suite-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease-out); } .suite-card:hover .suite-card__image img { transform: scale(1.06); } .suite-card__info { padding: 1.2rem 1.2rem 1.4rem; display: flex; flex-direction: column; flex: 1; } .suite-card__name { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; margin-bottom: 0.35rem; color: #fff; line-height: 1.3; } .suite-card__detail { font-size: 0.78rem; color: rgba(255, 255, 255, 0.65); letter-spacing: 0.04em; font-weight: 400; margin-bottom: 0.3rem; } .suite-card__price { margin-top: 0.75rem; font-family: var(--font-display); font-size: 1.1rem; color: var(--color-gold-light); } .suite-card__price span { font-size: 0.75rem; font-family: var(--font-body); color: rgba(255, 255, 255, 0.5); }  .gallery-more { text-align: center; margin-top: 2.5rem; padding-top: 1rem; }  .rooftop { position: relative; overflow: hidden; background: var(--color-midnight); } .rooftop__background { position: absolute; top: 0; left: 0; right: 0; height: 70vh; min-height: 500px; z-index: 0; } .rooftop__background img { width: 100%; height: 100%; object-fit: cover; } .rooftop__overlay { position: absolute; top: 0; left: 0; right: 0; height: 70vh; min-height: 500px; background: linear-gradient(to bottom, rgba(26, 26, 46, 0.3) 0%, rgba(26, 26, 46, 0.75) 100%); z-index: 1; } .rooftop__content { position: relative; z-index: 2; text-align: center; min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 5rem 1.5rem; max-width: 800px; } .section-label--light { color: var(--color-gold); border-color: var(--color-gold); } .rooftop__title { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 500; color: #fff; line-height: 1.15; margin: 0.8rem 0 1.2rem; } .rooftop__desc { font-family: var(--font-body); font-size: 1.05rem; color: rgba(255, 255, 255, 0.85); line-height: 1.7; max-width: 650px; margin: 0 auto 2.5rem; } .rooftop__features { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; } .rooftop__feat { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; color: #fff; } .rooftop__feat-icon { font-size: 1.6rem; margin-bottom: 0.3rem; opacity: 0.9; } .rooftop__feat strong { font-family: var(--font-body); font-size: 0.85rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; } .rooftop__feat span:not(.rooftop__feat-icon) { font-family: var(--font-body); font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); } @media (max-width: 768px) { .rooftop__background, .rooftop__overlay, .rooftop__content { min-height: 55vh; height: auto; } .rooftop__content { padding: 3.5rem 1.2rem; } .rooftop__features { gap: 2rem; } } @media (max-width: 480px) { .rooftop__background, .rooftop__overlay, .rooftop__content { min-height: 45vh; } .rooftop__features { gap: 1.5rem; } .rooftop__feat strong { font-size: 0.75rem; } } .rooftop__gallery { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; padding: 0 1.5rem 3rem; max-width: 1200px; margin: 0 auto; } .rooftop__gallery-img { width: 100%; height: 200px; object-fit: cover; border-radius: 6px; transition: transform 0.4s var(--ease-out), opacity 0.4s; opacity: 0.9; } .rooftop__gallery-img:hover { transform: scale(1.03); opacity: 1; } @media (max-width: 768px) { .rooftop__gallery { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px; padding: 0 1rem 2rem; } .rooftop__gallery-img { height: 140px; } } @media (max-width: 480px) { .rooftop__gallery { grid-template-columns: repeat(2, 1fr); gap: 3px; padding: 0 0.5rem 1.5rem; } .rooftop__gallery-img { height: 120px; border-radius: 4px; } }  .location { padding: var(--section-padding) 0; background: var(--color-sand); } .location__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 6rem); align-items: start; } .location__map { aspect-ratio: 4/3; background: var(--color-midnight-light); overflow: hidden; position: relative; } .location__map iframe { width: 100%; height: 100%; border: 0; filter: saturate(0.8) contrast(1.1); } .location__highlights { margin-top: 2rem; } .highlight-item { display: flex; align-items: center; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--color-divider); } .highlight-item:last-child { border-bottom: none; } .highlight-item__distance { min-width: 80px; font-family: var(--font-display); font-size: 1.6rem; color: var(--color-ocean); font-weight: 500; } .highlight-item__distance span { font-size: 0.75rem; font-family: var(--font-body); color: var(--color-text-light); display: block; } .highlight-item__name { font-weight: 400; font-size: 0.95rem; }  .contact { padding: var(--section-padding) 0; background: var(--color-sand-light); } .contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 6rem); } .contact__info { display: flex; flex-direction: column; gap: 2rem; } .contact-method { display: flex; align-items: flex-start; gap: 1.25rem; padding: 1.5rem; background: var(--color-white); border: 1px solid rgba(0, 0, 0, 0.06); transition: all 0.3s var(--ease-out); } .contact-method:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08); } .contact-method__icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: var(--color-sand); color: var(--color-ocean); font-size: 1.3rem; flex-shrink: 0; } .contact-method__label { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 0.25rem; } .contact-method__value { font-family: var(--font-display); font-size: 1.2rem; color: var(--color-midnight); } .whatsapp-cta { padding: 3rem; background: linear-gradient(135deg, #25D366, #128C7E); color: var(--color-white); text-align: center; } .whatsapp-cta h3 { font-size: 1.8rem; color: var(--color-white); margin-bottom: 1rem; } .whatsapp-cta p { font-size: 1rem; opacity: 0.9; margin-bottom: 2rem; } .whatsapp-cta .btn { background: var(--color-white); color: #128C7E; font-weight: 600; } .whatsapp-cta .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); }  .contact-form { display: flex; flex-direction: column; gap: 1.25rem; } .form-group label { display: block; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-light); margin-bottom: 0.5rem; } .form-group input, .form-group textarea, .form-group select { width: 100%; padding: 1rem 1.25rem; font-family: var(--font-body); font-size: 0.95rem; font-weight: 300; border: 1px solid rgba(0, 0, 0, 0.1); background: var(--color-white); color: var(--color-text); transition: border-color 0.3s var(--ease-out); outline: none; } .form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--color-ocean); } .form-group textarea { resize: vertical; min-height: 120px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; } .form-group--privacy { margin-top: 0.5rem; } .privacy-check { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.82rem; color: #666; line-height: 1.5; cursor: pointer; } .privacy-check input[type="checkbox"] { margin-top: 0.2rem; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--color-primary); } .privacy-check a { color: var(--color-primary); text-decoration: underline; }  .site-footer { background: var(--color-midnight); color: rgba(255, 255, 255, 0.6); padding: 4rem 0 2rem; } .footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; } .footer__brand .site-logo { font-size: 1.4rem; margin-bottom: 1rem; display: inline-block; } .footer__brand p { font-size: 0.9rem; line-height: 1.6; max-width: 320px; } .footer__heading { font-family: var(--font-body); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-gold); margin-bottom: 1.5rem; } .footer__links li { margin-bottom: 0.75rem; } .footer__links a { font-size: 0.9rem; color: rgba(255, 255, 255, 0.6); } .footer__links a:hover { color: var(--color-white); } .footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 2rem; display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; } .footer__legal a { margin-left: 1.5rem; color: rgba(255, 255, 255, 0.4); } .footer__legal a:hover { color: var(--color-gold); }  article table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.9rem; } article th, article td { padding: 10px 12px; border: 1px solid #ddd; text-align: left; } article th { background: #f5f5f5; font-weight: 600; } article ul, article ol { margin: 0.8rem 0; padding-left: 1.5rem; } article li { margin-bottom: 0.4rem; } @media (max-width: 768px) { article table { display: block; overflow-x: auto; white-space: nowrap; } }  .whatsapp-float { position: fixed; z-index: 9998; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4); transition: all 0.3s var(--ease-out); cursor: pointer; } .whatsapp-float:hover { transform: scale(1.1) translateY(-3px); box-shadow: 0 12px 35px rgba(37, 211, 102, 0.5); } .whatsapp-float svg { fill: var(--color-white); }  .reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out); } .reveal--visible { opacity: 1; transform: translateY(0); } .reveal--delay-1 { transition-delay: 0.1s; } .reveal--delay-2 { transition-delay: 0.2s; } .reveal--delay-3 { transition-delay: 0.3s; }  @media (max-width: 1024px) { .suites__grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 1024px) { .menu-toggle { display: block; } .main-nav { position: fixed; top: 0; right: -100%; width: 80%; max-width: 360px; height: 100vh; background: var(--color-midnight); padding: 6rem 2rem 2rem; transition: right 0.4s var(--ease-out); box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3); } .main-nav--open { right: 0; } .main-nav ul { flex-direction: column; gap: 1.5rem; } .main-nav a { font-size: 1rem; color: rgba(255, 255, 255, 0.8); } .lang-switcher { margin-left: 0; margin-right: 0.5rem; } } @media (max-width: 768px) { .about__grid, .location__grid, .contact__grid { grid-template-columns: 1fr; } .about__image::after { display: none; } .suites__grid { grid-template-columns: 1fr; } .footer__grid { grid-template-columns: 1fr; } .footer__bottom { flex-direction: column; gap: 1rem; text-align: center; } .form-row { grid-template-columns: 1fr; } .hero__scroll { display: none; } .about__features { grid-template-columns: 1fr; } } @media (max-width: 480px) { .hero__actions { flex-direction: column; } .hero__actions .btn { justify-content: center; width: 100%; } }  .lang-switcher { display: flex; gap: 0.2rem; align-items: center; margin-left: 1rem; } .lang-switcher__item { font-family: var(--font-body); font-size: 0.7rem; font-weight: 500; letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.4); text-decoration: none; padding: 0.2rem 0.4rem; border-radius: 3px; transition: color 0.3s var(--ease-out), background 0.3s var(--ease-out); line-height: 1; } .lang-switcher__item:hover { color: rgba(255, 255, 255, 0.85); } .lang-switcher__item--active { color: #fff; background: rgba(255, 255, 255, 0.12); }  .suite-card__desc { display: none; font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); line-height: 1.6; margin-top: 0.75rem; max-height: 0; overflow: hidden; transition: max-height 0.5s var(--ease-out); } .suite-card--expanded .suite-card__desc { display: block; max-height: 300px; } .suite-card__capacity { font-size: 0.75rem; color: rgba(255, 255, 255, 0.5); margin-top: auto; padding-top: 0.5rem; }  .suites__grid--full { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; } @media (max-width: 1200px) { .suites__grid--full { grid-template-columns: repeat(3, 1fr); } .suite-card__name { font-size: 1.05rem; } } @media (max-width: 768px) { .suites__grid--full { grid-template-columns: repeat(2, 1fr); gap: 1rem; } .suite-card__info { padding: 0.9rem 0.9rem 1.1rem; } .suite-card__name { font-size: 0.95rem; } .suite-card__detail { font-size: 0.7rem; } .suite-card__capacity { font-size: 0.68rem; } .suite-card__link { font-size: 0.75rem; } } @media (max-width: 480px) { .suites__grid--full { grid-template-columns: 1fr; gap: 1rem; }  .suite-card { flex-direction: row; border-radius: 8px; } .suite-card__image { aspect-ratio: auto; width: 40%; min-height: 160px; flex-shrink: 0; border-radius: 8px 0 0 8px; } .suite-card__info { padding: 1rem; justify-content: center; width: 60%; } .suite-card__name { font-size: 1rem; } .suite-card__detail { font-size: 0.75rem; } .suite-card__capacity { font-size: 0.72rem; margin-top: 0.4rem; padding-top: 0.3rem; } .suite-card__link { font-size: 0.78rem; margin-top: 0.4rem; } }  .alignleft { float: left; margin-right: 1.5rem; margin-bottom: 1.5rem; } .alignright { float: right; margin-left: 1.5rem; margin-bottom: 1.5rem; } .aligncenter { display: block; margin: 1.5rem auto; } .wp-caption { max-width: 100%; } .wp-caption-text { font-size: 0.85rem; color: var(--color-text-light); margin-top: 0.5rem; } .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }   .suite-hero { position: relative; height: 55vh; min-height: 400px; display: flex; align-items: flex-end; overflow: hidden; } .suite-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 1; } .suite-hero__bg--gradient { background: linear-gradient(135deg, #1A1A2E 0%, #1A6B7A 100%); } .suite-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,26,46,0.92) 0%, rgba(26,26,46,0.5) 40%, rgba(26,26,46,0.15) 70%, transparent 100%); z-index: 2; } .suite-hero__content { position: relative; z-index: 3; padding-bottom: 3rem; } .suite-hero__back { display: inline-block; color: var(--color-gold, #C4A265); font-size: 0.9rem; text-decoration: none; margin-bottom: 1rem; opacity: 0.8; transition: opacity 0.3s; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5); } .suite-hero__back:hover { opacity: 1; } .suite-hero__title { font-family: var(--font-display, "Playfair Display", serif); font-size: clamp(2rem, 4vw, 3rem); color: #fff; margin-bottom: 1rem; line-height: 1.2; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6); } .suite-hero__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; } .suite-hero__tag { display: inline-block; padding: 0.35rem 0.9rem; background: rgba(196, 162, 101, 0.15); border: 1px solid rgba(196, 162, 101, 0.3); border-radius: 100px; color: var(--color-gold, #C4A265); font-size: 0.8rem; letter-spacing: 0.04em; }  .suite-page { padding: 3rem 0 4rem; }  .suite-section__title { font-family: var(--font-display, "Playfair Display", serif); font-size: 1.6rem; color: var(--color-midnight, #1A1A2E); margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 2px solid var(--color-gold, #C4A265); }  .suite-gallery { margin-bottom: 3rem; } .suite-gallery__main { width: 100%; border-radius: 12px; overflow: hidden; margin-bottom: 1rem; background: #1a1a2e; position: relative; display: flex; align-items: center; justify-content: center; min-height: 400px; max-height: 70vh; } .suite-gallery__main img { width: 100%; height: auto; max-height: 70vh; object-fit: contain; display: block; transition: opacity 0.3s; cursor: zoom-in; } .suite-gallery__zoom { position: absolute; bottom: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; background: rgba(26, 26, 46, 0.7); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s, transform 0.2s; backdrop-filter: blur(4px); z-index: 2; } .suite-gallery__zoom:hover { background: rgba(26, 26, 46, 0.9); transform: scale(1.1); } .suite-gallery__thumbs { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.5rem; scrollbar-width: thin; scrollbar-color: var(--color-gold, #C4A265) transparent; } .suite-gallery__thumb { width: 100px; height: 70px; object-fit: cover; border-radius: 6px; cursor: pointer; opacity: 0.5; transition: opacity 0.3s, box-shadow 0.3s; flex-shrink: 0; border: 2px solid transparent; } .suite-gallery__thumb:hover { opacity: 0.8; } .suite-gallery__thumb--active { opacity: 1; border-color: var(--color-gold, #C4A265); box-shadow: 0 0 0 2px rgba(196, 162, 101, 0.3); }  .oh-lightbox { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.95); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; cursor: zoom-out; } .oh-lightbox img { max-width: 95vw; max-height: 90vh; width: auto; height: auto; object-fit: contain; cursor: default; box-shadow: 0 10px 40px rgba(0,0,0,0.5); } .oh-lightbox__close { position: absolute; top: 20px; right: 20px; background: rgba(255,255,255,0.1); color: #fff; border: none; width: 44px; height: 44px; border-radius: 50%; font-size: 28px; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10; transition: background 0.2s; } .oh-lightbox__close:hover { background: rgba(255,255,255,0.2); } .oh-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.1); color: #fff; border: none; width: 50px; height: 50px; border-radius: 50%; font-size: 32px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; z-index: 10; transition: background 0.2s; } .oh-lightbox__nav:hover { background: rgba(255,255,255,0.25); } .oh-lightbox__nav--prev { left: 20px; } .oh-lightbox__nav--next { right: 20px; } .oh-lightbox__counter { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: #fff; background: rgba(0,0,0,0.6); padding: 6px 16px; border-radius: 20px; font-size: 14px; z-index: 10; } @media (max-width: 768px) { .suite-gallery__main { min-height: 250px; } .oh-lightbox__nav { width: 40px; height: 40px; font-size: 26px; } .oh-lightbox__nav--prev { left: 8px; } .oh-lightbox__nav--next { right: 8px; } .oh-lightbox__close { top: 12px; right: 12px; } }  .suite-description { margin-bottom: 3rem; } .suite-description__text { font-size: 1.05rem; line-height: 1.8; color: var(--color-text, #4A4A5A); max-width: 800px; } .suite-description__text p { margin-bottom: 1rem; }  .suite-amenities { margin-bottom: 3rem; } .suite-amenities__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; } .suite-amenities__category { background: var(--color-cream, #FAF8F4); border-radius: 12px; padding: 1.5rem; border: 1px solid rgba(196, 162, 101, 0.15); } .suite-amenities__cat-title { font-family: var(--font-display, "Playfair Display", serif); font-size: 1.1rem; color: var(--color-midnight, #1A1A2E); margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(196, 162, 101, 0.2); } .suite-amenities__list { list-style: none; padding: 0; margin: 0; } .suite-amenities__item { display: flex; align-items: center; gap: 0.75rem; padding: 0.45rem 0; font-size: 0.95rem; color: var(--color-text, #4A4A5A); } .suite-amenities__icon { color: var(--color-gold, #C4A265); flex-shrink: 0; display: flex; align-items: center; width: 24px; justify-content: center; } .suite-amenities__icon svg { width: 18px; height: 18px; }  .suite-cta { text-align: center; padding: 3rem 0; border-top: 1px solid rgba(196, 162, 101, 0.2); display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; } .btn--lg { padding: 1rem 3rem; font-size: 1.1rem; }  a.suite-card { text-decoration: none; color: #fff; display: flex; } .suite-card__link { display: inline-block; margin-top: 0.5rem; font-size: 0.82rem; color: var(--color-gold, #C4A265); letter-spacing: 0.03em; opacity: 0.7; transition: opacity 0.3s; } a.suite-card:hover .suite-card__link { opacity: 1; }  @media (max-width: 768px) { .suite-hero { height: 40vh; min-height: 280px; } .suite-hero__title { font-size: 1.6rem; } .suite-hero__content { padding-bottom: 2rem; } .suite-hero__meta { gap: 0.4rem; } .suite-hero__tag { font-size: 0.7rem; padding: 0.25rem 0.7rem; } .suite-hero__back { font-size: 0.8rem; } .suite-amenities__grid { grid-template-columns: 1fr; } .suite-gallery__thumb { width: 80px; height: 55px; } .suite-cta { flex-direction: column; align-items: center; } .btn--lg { width: 100%; text-align: center; } .suite-page { padding: 2rem 0 3rem; } .suite-section__title { font-size: 1.3rem; } .suite-description__text { font-size: 0.92rem; } } @media (max-width: 480px) { .suite-hero { height: 35vh; min-height: 240px; } .suite-hero__title { font-size: 1.3rem; } .suite-hero__tag { font-size: 0.65rem; padding: 0.2rem 0.6rem; } .suite-gallery__main img { border-radius: 6px; } .suite-gallery__thumbs { gap: 6px; } .suite-gallery__thumb { width: 60px; height: 45px; } }  .suite-no-smoking { display: flex; align-items: flex-start; gap: 1rem; background: linear-gradient(135deg, #fff8f0 0%, #ffece0 100%); border-left: 4px solid #d4691f; border-radius: 8px; padding: 1.25rem 1.5rem; margin: 2rem 0; } .suite-no-smoking__icon { font-size: 2rem; line-height: 1; flex-shrink: 0; } .suite-no-smoking__title { margin: 0 0 0.25rem; color: #8B4513; font-size: 1.05rem; font-weight: 600; } .suite-no-smoking__text { margin: 0; color: #5a3a1f; font-size: 0.92rem; line-height: 1.5; } .suite-no-smoking__text strong { color: #c0392b; font-weight: 700; } @media (max-width: 600px) { .suite-no-smoking { padding: 1rem 1.1rem; gap: 0.75rem; } .suite-no-smoking__icon { font-size: 1.6rem; } .suite-no-smoking__text { font-size: 0.88rem; } }  .home-no-smoking { display: flex; align-items: flex-start; gap: 0.85rem; background: rgba(212, 105, 31, 0.06); border-left: 3px solid #d4691f; border-radius: 6px; padding: 0.9rem 1.1rem; margin-top: 1.5rem; font-size: 0.88rem; } .home-no-smoking__icon { font-size: 1.5rem; line-height: 1; flex-shrink: 0; } .home-no-smoking__content strong { display: block; margin-bottom: 0.2rem; color: #8B4513; font-size: 0.95rem; } .home-no-smoking__content p { margin: 0; color: #5a3a1f; line-height: 1.5; font-size: 0.85rem; } .home-no-smoking__content strong + p strong { display: inline; color: #c0392b; margin: 0; font-size: inherit; }  .suite-no-pets { display: flex; align-items: flex-start; gap: 1rem; background: linear-gradient(135deg, #f0f4f8 0%, #e6eef5 100%); border-left: 4px solid #5a7a99; border-radius: 8px; padding: 1.25rem 1.5rem; margin: 1rem 0 2rem 0; } .suite-no-pets__icon { font-size: 2rem; line-height: 1; flex-shrink: 0; filter: grayscale(0.3); } .suite-no-pets__title { margin: 0 0 0.25rem; color: #2c4a6b; font-size: 1.05rem; font-weight: 600; } .suite-no-pets__text { margin: 0; color: #3a4a5a; font-size: 0.92rem; line-height: 1.5; } .suite-no-pets__text strong { color: #2c4a6b; font-weight: 700; } @media (max-width: 600px) { .suite-no-pets { padding: 1rem 1.1rem; gap: 0.75rem; } .suite-no-pets__icon { font-size: 1.6rem; } .suite-no-pets__text { font-size: 0.88rem; } }  .faq { padding: 6rem 0; background: linear-gradient(180deg, #FAF8F4 0%, #F5F0E8 100%); } .faq__list { max-width: 800px; margin: 0 auto; } .faq__item { background: white; border-radius: 10px; margin-bottom: 0.75rem; box-shadow: 0 2px 8px rgba(26, 26, 46, 0.04); overflow: hidden; transition: box-shadow 0.3s; } .faq__item:hover { box-shadow: 0 4px 16px rgba(26, 26, 46, 0.08); } .faq__item[open] { box-shadow: 0 4px 20px rgba(196, 162, 101, 0.15); } .faq__question { cursor: pointer; padding: 1.2rem 1.5rem; display: flex; justify-content: space-between; align-items: center; font-size: 1rem; font-weight: 600; color: #1A1A2E; list-style: none; user-select: none; transition: color 0.2s; } .faq__question:hover { color: #1A6B7A; } .faq__question::-webkit-details-marker { display: none; } .faq__icon { flex-shrink: 0; margin-left: 1rem; width: 28px; height: 28px; border-radius: 50%; background: #F5F0E8; color: #C4A265; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 300; line-height: 1; transition: transform 0.3s, background 0.3s, color 0.3s; } .faq__item[open] .faq__icon { transform: rotate(45deg); background: #C4A265; color: white; } .faq__answer { padding: 0 1.5rem 1.4rem 1.5rem; color: #555; font-size: 0.95rem; line-height: 1.6; } .faq__answer strong { color: #1A1A2E; font-weight: 600; } .faq__answer a { display: inline-block; margin-top: 0.5rem; padding: 8px 18px; background: #C4A265; color: #1A1A2E !important; text-decoration: none; font-weight: 600; font-size: 0.9rem; border-radius: 4px; transition: background 0.2s, transform 0.2s; } .faq__answer a:hover { background: #b08f4f; transform: translateY(-1px); } .faq__answer a::after { content: " ↗"; font-size: 0.85em; } @media (max-width: 600px) { .faq { padding: 4rem 0; } .faq__question { padding: 1rem 1.2rem; font-size: 0.95rem; } .faq__answer { padding: 0 1.2rem 1.2rem; font-size: 0.9rem; } }  .blog-archive__hero { background: var(--color-midnight); padding: 9rem 0 4rem; text-align: center; } .blog-archive__title { font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 3.2rem); color: #fff; margin: 0.5rem 0; } .blog-archive__subtitle { color: rgba(255,255,255,0.7); font-size: 1rem; max-width: 540px; margin: 0 auto; } .blog-archive__list { padding: 4rem 0 5rem; } .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.8rem; } .blog-card { background: #fff; border-radius: 10px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 2px 10px rgba(26,26,46,0.06); transition: transform 0.3s var(--ease-out), box-shadow 0.3s; display: flex; flex-direction: column; } .blog-card:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(26,26,46,0.12); } .blog-card__img { width: 100%; height: 200px; object-fit: cover; display: block; } .blog-card__body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; } .blog-card__date { font-size: 0.78rem; color: var(--color-gold); letter-spacing: 1px; text-transform: uppercase; } .blog-card__title { font-family: var(--font-display); font-size: 1.35rem; color: var(--color-midnight); margin: 0; line-height: 1.3; } .blog-card__excerpt { font-size: 0.9rem; color: #666; line-height: 1.55; margin: 0; flex: 1; } .blog-card__more { font-size: 0.85rem; font-weight: 600; color: var(--color-gold); margin-top: 0.3rem; } .blog-archive__pagination { margin-top: 3rem; text-align: center; } .blog-archive__pagination .nav-links { display: flex; gap: 0.5rem; justify-content: center; } .blog-archive__pagination .page-numbers { padding: 0.5rem 0.95rem; border-radius: 6px; background: #fff; color: var(--color-midnight); text-decoration: none; font-weight: 600; box-shadow: 0 1px 4px rgba(26,26,46,0.08); } .blog-archive__pagination .page-numbers.current { background: var(--color-gold); color: #fff; }  .post-single__hero { background: var(--color-midnight); padding: 9rem 0 4rem; position: relative; overflow: hidden; } .post-single__hero--image { min-height: 420px; display: flex; align-items: flex-end; padding-bottom: 3rem; } .post-single__hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } .post-single__hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,26,46,0.35) 0%, rgba(26,26,46,0.85) 100%); } .post-single__hero-inner { position: relative; z-index: 1; } .post-single__back { display: inline-block; color: var(--color-gold-light); text-decoration: none; font-size: 0.85rem; letter-spacing: 1px; margin-bottom: 1rem; } .post-single__back:hover { color: #fff; } .post-single__title { font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.2rem); color: #fff; line-height: 1.15; margin: 0 0 0.8rem; max-width: 800px; } .post-single__meta { color: rgba(255,255,255,0.75); font-size: 0.88rem; } .post-single__meta-sep { margin: 0 0.5rem; } .post-single__content { padding: 3.5rem 0 1rem; font-size: 1.02rem; line-height: 1.8; color: #3b3b48; } .post-single__content h2 { font-family: var(--font-display); font-size: 1.7rem; color: var(--color-midnight); margin: 2.2rem 0 0.9rem; } .post-single__content h3 { font-size: 1.25rem; color: var(--color-midnight); margin: 1.8rem 0 0.7rem; } .post-single__content p { margin: 0 0 1.2rem; } .post-single__content img { max-width: 100%; height: auto; border-radius: 10px; margin: 1.2rem 0; } .post-single__content a { color: var(--color-primary, #1A6B7A); } .post-single__content ul, .post-single__content ol { margin: 0 0 1.2rem 1.4rem; } .post-single__content blockquote { border-left: 3px solid var(--color-gold); margin: 1.5rem 0; padding: 0.4rem 0 0.4rem 1.2rem; color: #555; font-style: italic; } .post-single__cta { padding: 2.5rem 0; } .post-single__cta-box { background: var(--color-midnight); border-radius: 14px; padding: 2.6rem 2rem; text-align: center; } .post-single__cta-box h2 { font-family: var(--font-display); color: #fff; font-size: 1.7rem; margin: 0 0 0.6rem; } .post-single__cta-box p { color: rgba(255,255,255,0.78); margin: 0 0 1.4rem; } .post-single__related { padding: 2rem 0 5rem; } .post-single__related-title { font-family: var(--font-display); font-size: 1.8rem; color: var(--color-midnight); margin-bottom: 1.6rem; } @media (max-width: 600px) { .blog-archive__hero, .post-single__hero { padding-top: 7rem; } .post-single__content { font-size: 0.97rem; } }  :root{--color-text-light:#595959;--oh-header-height:100px;--oh-promo-height:0px;--oh-consent-height:0px;--font-body:Arial,"Helvetica Neue",sans-serif;--font-display:Georgia,"Times New Roman",serif;--font-accent:Georgia,serif} [hidden]{display:none!important} html{scroll-padding-top:calc(var(--oh-header-height) + 20px);scroll-padding-bottom:calc(var(--oh-promo-height) + var(--oh-consent-height) + 20px)} body{padding-bottom:calc(var(--oh-promo-height) + var(--oh-consent-height));overflow-wrap:break-word} img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait} a,button,input,select,textarea,summary{touch-action:manipulation} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #005fcc!important;outline-offset:4px;box-shadow:0 0 0 6px #fff!important} .skip-link{position:fixed;top:8px;left:8px;z-index:100100;background:#fff;color:#152331;padding:14px 20px;transform:translateY(-200%);font-weight:bold;text-decoration:underline} .skip-link:focus{transform:translateY(0)} .screen-reader-text{clip-path:inset(50%);white-space:nowrap} .oh-honeypot{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;pointer-events:none} .reveal{opacity:1!important;transform:none;visibility:visible!important} .site-header{background:rgba(26,26,46,.96)} .site-header--scrolled,.oh-header-solid{background:#1a1a2e} .main-nav a{color:#fff;display:inline-flex;align-items:center;min-height:36px;font-size:.78rem} .header-inner{gap:16px}.site-logo{flex-shrink:0}.site-logo__img{object-fit:contain;max-width:160px} .lang-switcher{display:flex;flex-shrink:0;gap:2px;align-items:center} .lang-switcher__item{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:36px;font-size:.8rem;color:#fff!important} .lang-switcher__item--active{text-decoration:underline;text-underline-offset:5px;font-weight:bold} .menu-toggle{min-width:44px;min-height:44px} .section-label{color:#785a29}.section-label--light,.hero__label{color:#f0d397} .section-subtitle,.form-group label{color:#525252} .hero__overlay,.suite-hero__overlay{background:linear-gradient(180deg,rgba(14,25,35,.62),rgba(14,25,35,.64))} .hero__background{background:#164f5b}.hero__picture{display:block;width:100%;height:100%}.hero__img,.suite-hero__bg img{width:100%;height:100%;object-fit:cover} .hero__content{padding-top:calc(var(--oh-header-height) + 32px)} .hero__title,.suite-hero__title{overflow-wrap:break-word} .about__image{aspect-ratio:7/9;background:#eee7dc}.about__image img{width:100%;height:100%;object-fit:cover} .form-group input,.form-group textarea,.form-group select{border-color:#767676;font-size:1rem;min-height:44px} .form-group input[type=checkbox],.privacy-check input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:#174f5b} .privacy-check{font-size:.95rem}.privacy-check a{color:#124c66} .oh-contact-status:empty{display:none}.oh-contact-status{padding:16px;background:#eef5f5;border-left:4px solid #14576a;color:#152331;line-height:1.6} .btn--whatsapp{background:#07683f!important;color:#fff!important}.whatsapp-cta{background:#07683f}.whatsapp-cta .btn{color:#075d3a}.whatsapp-float svg{fill:#163c26} .footer__bottom,.footer__legal{flex-wrap:wrap;gap:18px}.footer__legal{display:flex;align-items:center} .site-footer{color:#e6e6ec}.footer__links a,.footer__legal a{color:#e6e6ec}.footer__heading{color:#f0d397;font-size:.88rem} .oh-cookie-open{background:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;min-height:44px;padding:7px 12px} .oh-ai-notice{padding:20px;margin:20px 0;background:#eff4f4;color:#172f39;border-left:4px solid #226678;line-height:1.7}.oh-ai-notice a{color:#164a62;text-decoration:underline} .oh-info{padding-top:calc(var(--oh-header-height) + 40px);padding-bottom:64px;line-height:1.8;min-height:75vh} .oh-info h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.1rem);line-height:1.15;margin-bottom:30px;color:#182535} .oh-info section{margin:30px 0}.oh-info h2{font-size:1.3rem;margin-bottom:12px}.oh-info p{margin:18px 0}.oh-info a{color:#14506b;text-decoration:underline} .oh-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px} .oh-gallery-trigger{display:block;min-width:0;aspect-ratio:4/3;border-radius:6px;overflow:hidden;cursor:zoom-in;background:#e5e5e5} .oh-gallery-trigger img{width:100%;height:100%;object-fit:cover} .oh-gallery-dialog{inset:0;margin:auto;width:min(94vw,1200px);max-height:90vh;padding:18px;background:#151d28;color:#fff;border:1px solid #fff;border-radius:8px;overflow:auto} .oh-gallery-dialog::backdrop{background:rgba(0,0,0,.85)} .oh-gallery-dialog [data-gallery-image]{display:block;max-height:65vh;width:100%;object-fit:contain;margin:12px auto} .oh-gallery-toolbar,.oh-gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:16px} .oh-gallery-dialog button{min-height:44px;background:#fff;color:#172331;border:1px solid #fff;border-radius:4px;padding:10px 16px} .oh-modal-open{overflow:hidden} .location__map{min-height:340px;height:auto;background:#f2f5f5}.oh-map-placeholder{padding:24px;color:#17303c;line-height:1.7}.oh-map-placeholder p{margin:15px 0}.oh-map-placeholder button{background:#164f61;color:white;border:0;padding:14px 20px;min-height:44px}.oh-map-placeholder a{color:#124961;text-decoration:underline}.oh-map-placeholder iframe{width:100%;height:420px;border:0} .oh-sticky-promo{position:fixed;z-index:1005;bottom:0;left:90px;right:90px;padding:12px 18px;background:var(--promo-bg,#1a1a2e);color:var(--promo-text,#fff);border-radius:8px 8px 0 0;box-shadow:0 -3px 24px #0003} .oh-sticky-promo__inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:.94rem} .oh-sticky-promo__discount{font-weight:bold;font-size:1.2rem}.oh-sticky-promo__code{border:1px solid currentColor;border-radius:4px;min-height:44px;padding:8px 15px;background:var(--promo-code-bg,#c4a265);color:var(--promo-code-color,#1a1a2e);font-weight:bold} .oh-sticky-promo__mobile,.oh-sticky-promo__copy-icon{display:none} .oh-sticky-promo__btn{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;background:var(--promo-btn-bg,#c4a265);color:var(--promo-btn-color,#1a1a2e);border-radius:4px} .oh-consent{position:fixed;z-index:10000;bottom:12px;left:12px;right:12px;max-width:1040px;max-height:55vh;margin:0 auto;padding:24px;background:#fff;color:#17242f;border:2px solid #183945;border-radius:8px;box-shadow:0 0 0 1px #fff,0 8px 48px #0006;overflow:auto;overscroll-behavior:contain;font-size:.97rem;line-height:1.55} .oh-consent h2{font-size:1.3rem;margin:0 0 10px}.oh-consent p{margin:8px 0 15px}.oh-consent a{color:#144b64;text-decoration:underline} .oh-consent-actions{display:flex;gap:12px;flex-wrap:wrap}.oh-consent button{min-height:44px;padding:10px 18px;background:#183945;color:#fff;border:2px solid #183945;border-radius:4px;font-weight:600} .oh-consent-actions button{flex:1}.oh-consent [data-consent-action=preferences]{background:white;color:#183945} #oh-consent-options{padding-top:18px}#oh-consent-options label{display:flex;align-items:center;gap:12px;min-height:44px;margin:8px 0}#oh-consent-options input{width:24px;height:24px;flex:0 0 24px;accent-color:#183945} @media(max-width:1199px){ .site-header{padding:12px 0}.header-inner{flex-wrap:wrap}.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - var(--oh-header-height));overflow:auto;background:#1a1a2e;padding:12px 24px;display:block!important} .main-nav[hidden]{display:none!important}.main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:4px}.main-nav a{display:flex;min-height:44px;font-size:1rem;white-space:normal} html:not(.oh-js) body:not(.oh-nav-enhanced) .site-header{position:static}html:not(.oh-js) body:not(.oh-nav-enhanced) .main-nav{position:static;max-height:none;flex-basis:100%}html:not(.oh-js) body:not(.oh-nav-enhanced) .menu-toggle{display:none} .main-nav .nav-book-btn{justify-content:center}.hero__content{padding-top:calc(var(--oh-header-height) + 20px)} } @media(max-width:700px){ .header-inner{gap:8px}.site-logo__img{max-width:135px}.lang-switcher{order:3;width:100%;justify-content:center}.lang-switcher__item{min-width:42px;min-height:32px}.main-nav{z-index:2}.hero__title{font-size:clamp(2.2rem,9vw,3.4rem)} .oh-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-row{grid-template-columns:1fr}  .hero>.container,.hero__content{min-width:0} .btn{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere} .section-label,.hero__label,.feature-item>div:not(.feature-item__icon),.home-no-smoking__content,.highlight-item__name,.faq__question>span:not(.faq__icon){min-width:0;overflow-wrap:anywhere}  .oh-sticky-promo{left:max(12px,env(safe-area-inset-left,0px));right:max(80px,calc(75px + env(safe-area-inset-right,0px)));bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;padding:10px 12px 12px;border:1px solid #ffffff30;border-radius:14px;box-shadow:0 6px 24px #0003} .oh-sticky-promo__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:9px 8px;font-size:.8125rem;line-height:1.3} .oh-sticky-promo__discount{grid-column:1;grid-row:1;align-self:center;font-size:1.6rem;font-weight:700;line-height:1.05;color:var(--promo-code-bg,#c4a265);font-variant-numeric:tabular-nums;overflow-wrap:anywhere} .oh-sticky-promo__text{grid-column:2;grid-row:1;align-self:center;min-width:0;font-size:.8125rem;line-height:1.3;text-align:start} .oh-sticky-promo__desktop{display:none} .oh-sticky-promo__mobile{display:inline} .oh-sticky-promo__code{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:8px 6px;border:1px solid #ffffff70;border-radius:7px;background:transparent;color:var(--promo-text,#fff);font-size:.8125rem;line-height:1.3;letter-spacing:.02em} .oh-sticky-promo__code>span{min-width:0;overflow-wrap:anywhere} .oh-sticky-promo__copy-icon{display:block;flex:0 0 16px} .oh-sticky-promo__btn{grid-column:2;grid-row:2;min-width:0;min-height:44px;justify-content:center;text-align:center;padding:8px;border-radius:7px;font-size:.875rem;font-weight:600;line-height:1.3;letter-spacing:0} .oh-sticky-promo__code:hover{background:#ffffff12} .oh-sticky-promo__btn:hover{filter:brightness(1.07)} .whatsapp-float{bottom:calc(var(--oh-promo-height) + 16px)!important} .oh-consent{padding:16px;left:6px;right:6px;bottom:6px;font-size:.9rem}.oh-consent-actions{gap:8px}.oh-consent-actions button{padding:9px 10px;min-width:110px} .footer__grid{grid-template-columns:1fr;gap:28px}.footer__brand p{max-width:none}.footer__bottom{align-items:flex-start}.footer__legal{gap:12px} } @media(max-width:380px){.oh-gallery{grid-template-columns:1fr}.hero__actions .btn{width:100%;justify-content:center}} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}} @media print{.site-header,.oh-sticky-promo,.whatsapp-float,.oh-consent,.skip-link{display:none!important}body{padding:0!important}.reveal{opacity:1!important}main,.oh-info{padding-top:0!important}.hero{min-height:auto}.hero__content{padding-top:20px}}  .hero__label,.hero__title,.hero__description,.hero__actions{opacity:1!important;transform:none!important;animation:none!important} .about__grid>*,.location__grid>*,.contact__grid>*,.form-row>*{min-width:0;max-width:100%} .location__map{aspect-ratio:auto;min-width:0;max-width:100%} .oh-map-placeholder{min-width:0;overflow-wrap:anywhere} .oh-map-placeholder a{white-space:normal} .contact__info,.contact__form,.contact__detail{overflow-wrap:anywhere} .form-group input,.form-group textarea,.form-group select{min-width:0;max-width:100%} @media(max-width:768px){ .about__grid,.location__grid,.contact__grid{grid-template-columns:minmax(0,1fr)} .contact__info .btn{padding-left:20px;padding-right:20px;white-space:normal;max-width:100%;text-align:center} .form-row{grid-template-columns:minmax(0,1fr)} }  .oh-consent{bottom:calc(var(--oh-promo-height,0px) + 84px);max-height:min(55vh,calc(100dvh - var(--oh-promo-height,0px) - 104px));} .oh-gallery-dialog [data-gallery-image]{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;} @keyframes oh-rise{from{transform:translateY(10px)}to{transform:translateY(0)}} @media(prefers-reduced-motion:no-preference){.reveal.oh-reveal-play{animation:oh-rise .35s ease-out both;}} @media(prefers-reduced-motion:reduce){.reveal.oh-reveal-play{animation:none!important;transform:none!important}}  .oh-breadcrumbs{padding-top:1rem;padding-bottom:1rem;font-size:.82rem;color:var(--color-text);} .oh-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem .6rem;list-style:none;margin:0;padding:0;} .oh-breadcrumbs li+li:before{content:"›";margin-right:.6rem;} .oh-breadcrumbs a{text-decoration:underline;text-underline-offset:.15em;} main>.oh-breadcrumbs:first-child{padding-top:6.5rem;}  @supports(height:100svh){@media(max-width:700px){.hero{min-height:100svh}}}  .oh-language-menu{position:relative;flex:0 0 auto;margin-inline-start:8px;color:#fff;z-index:12} .oh-language-menu summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:76px;padding:6px 10px;border:1px solid currentColor;border-radius:6px;cursor:pointer;list-style:none;font-family:var(--font-body);font-size:.82rem;line-height:1.25} .oh-language-menu summary::-webkit-details-marker{display:none} .oh-language-menu summary::marker{content:""} .oh-language-options{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:230px;max-width:calc(100vw - 32px);max-height:min(70vh,480px);overflow-y:auto;overscroll-behavior:contain;list-style:none!important;margin:0!important;padding:8px!important;border:1px solid #d8d3c9;border-radius:8px;background:#fff;color:#171727;box-shadow:0 12px 32px #0003} .oh-language-options a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border-radius:4px;text-decoration:none;color:inherit;font-family:Arial,Tahoma,sans-serif;font-size:1rem;line-height:1.3} .oh-language-options a[aria-current],.oh-language-options a:hover{background:#ece6db;color:#191923} .oh-language-menu summary:focus-visible,.oh-language-options a:focus-visible{outline:3px solid #b18536;outline-offset:3px} .hero__title,.suite-hero__title,.section-title,.suite-card__name,.oh-sticky-promo__text,.oh-sticky-promo__btn{overflow-wrap:anywhere} @media(min-width:1200px){.header-inner{gap:18px}.main-nav{min-width:0}.main-nav ul{gap:16px}.main-nav a{font-size:.78rem}} @media(max-width:1199px){.oh-language-menu{order:3;margin-inline-start:0}.menu-toggle{margin-inline-start:auto}.main-nav{order:4}} @media(max-width:700px){.header-inner{flex-wrap:nowrap}.oh-language-menu summary{min-width:64px;padding:6px}.oh-language-options{width:220px}.hero__title{font-size:clamp(2rem,8.5vw,3.4rem)}}  html[lang=ar]{--font-body:Tahoma,Arial,sans-serif;--font-display:Tahoma,Arial,sans-serif;--font-accent:Tahoma,Arial,sans-serif} html[lang=ru]{--font-body:Arial,sans-serif;--font-display:Georgia,serif;--font-accent:Georgia,serif} html[dir=rtl] .hero__title,html[dir=rtl] .section-title,html[dir=rtl] .suite-hero__title{letter-spacing:0;line-height:1.5;font-style:normal} html[dir=rtl] .hero__label,html[dir=rtl] .section-label,html[dir=rtl] .main-nav a,html[dir=rtl] .footer__heading{letter-spacing:0;text-transform:none} html[dir=rtl] .hero__title em,html[dir=rtl] .section-title em{font-style:normal} html[dir=rtl] .hero__description,html[dir=rtl] .section-subtitle,html[dir=rtl] .suite-description__text{line-height:1.9} html[dir=rtl] .contact-form,html[dir=rtl] .footer__grid,html[dir=rtl] .suite-card__info,html[dir=rtl] .oh-info,html[dir=rtl] .faq__item{text-align:start} html[dir=rtl] .oh-breadcrumbs li+li:before{content:"‹";margin-right:0;margin-inline-end:.6rem} html[dir=rtl] .oh-consent label,html[dir=rtl] .privacy-checkbox{text-align:start} html[dir=rtl] .faq__question{text-align:start;padding-left:48px;padding-right:24px} html[dir=rtl] .faq__question::after{right:auto;left:20px} html[dir=rtl] .suite-hero__back{direction:rtl} html[dir=rtl] .oh-promo-note{flex-wrap:wrap} .oh-sticky-promo__discount,.oh-sticky-promo__code,.oh-promo-note__discount,.oh-promo-note__code{unicode-bidi:isolate}
/* 7.1.4: stable first paint on phones/tablets. The expanded no-JS menu is only for visitors without JavaScript. */
@media(max-width:1199px){
 html.oh-js body:not(.oh-nav-enhanced) .main-nav:not(.main-nav--open){display:none!important}
 html:not(.oh-js) body:not(.oh-nav-enhanced) .header-inner{flex-wrap:wrap}
}
/* 7.1.4: the floating WhatsApp button no longer animates "bottom" (layout shifts) and clears the promotion on wide screens. */
.whatsapp-float{transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}
@media(min-width:701px){.oh-has-promo .whatsapp-float{bottom:calc(var(--oh-promo-height,0px) + 16px)!important}}
/* 7.1.4: visible confirmation after copying the promotion code. */
.oh-sticky-promo__code{position:relative}
.oh-sticky-promo__code.is-copied::after{content:attr(data-copied);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:2;padding:5px 10px;border-radius:6px;background:#fff;color:#14532d;font-family:var(--font-body);font-size:.75rem;font-weight:600;line-height:1.25;letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:0 2px 10px #0004;pointer-events:none}
@media(max-width:700px){.oh-sticky-promo__code.is-copied::after{left:0;transform:none}html[dir=rtl] .oh-sticky-promo__code.is-copied::after{left:auto;right:0}}
/* 7.1.4: WCAG AA text contrast on the dark suites section and on white blog cards. */
.suites .section-label{color:#d4b878}
.suite-card__link{opacity:1}
a.suite-card:hover .suite-card__link,a.suite-card:focus-visible .suite-card__link{text-decoration:underline}
.blog-card__date,.blog-card__more{color:#785a29}
.blog-archive__pagination .page-numbers.current{color:#1a1a2e}
/* 7.1.4: the privacy sentence is a checkbox label, not an uppercase field caption (".form-group label" overrode it). */
.form-group .privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.5}
.form-group .privacy-check input[type=checkbox]{flex:0 0 24px;margin-top:0}
/* 7.1.4: realistic values before main.js measures them (70px: phones, tablets and pages with the solid header; 92px: desktop home). */
:root{--oh-header-height:70px}
@media(min-width:1200px){html:has(>body.home){--oh-header-height:92px}}
/* 7.1.4: until main.js has measured the promotion (or without JavaScript), keep the WhatsApp button above it with an estimate. */
html:not(.oh-measured) .oh-has-promo .whatsapp-float{bottom:84px!important}
@media(max-width:700px){html:not(.oh-measured) .oh-has-promo .whatsapp-float{bottom:140px!important}}
@media(max-width:1199px){.main-nav{max-width:none;height:auto;max-height:calc(100vh - var(--oh-header-height));max-height:calc(100dvh - var(--oh-header-height));overscroll-behavior:contain}body:not(.oh-nav-enhanced) .main-nav{max-height:none}}
