body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: #fdfdfb; color: #2d2d2d; overflow-x: hidden; }
.gold-text { color: #b89146; }
.gold-bg { background-color: #b89146; }
.gold-border { border-color: #b89146; }
h1, h2, h3 { font-family: 'Playfair Display', serif; }
.glass-light { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(12px); border: 1px solid rgba(184, 145, 70, 0.2); box-shadow: 0 10px 30px rgba(0,0,0,0.03); }
.btn-shadow { box-shadow: 0 4px 15px rgba(184, 145, 70, 0.4); }
.swiper-wrapper { transition-timing-function: linear !important; }
.package-card:hover .package-img { transform: scale(1.05); }
.package-featured { transform: scale(1.03); box-shadow: 0 0 0 2px #b89146, 0 20px 40px rgba(184,145,70,0.2); }
@media (min-width: 768px) { .package-featured { transform: scale(1.05); } }
#map { height: 350px; border-radius: 1.5rem; border: 1px solid #e5e7eb; z-index: 10; cursor: crosshair; }
.results.active { background: white; border: 1px solid #e5e7eb; border-radius: 0.5rem; margin-top: 5px; max-height: 200px; overflow-y: auto; }
.locate-btn { position: absolute; top: 10px; right: 10px; z-index: 500; background: white; border: 2px solid rgba(0,0,0,0.2); border-radius: 4px; padding: 5px; cursor: pointer; }
.locate-btn:hover { background: #f4f4f4; }
.field-input { width: 100%; background: white; border: 1px solid #f3f4f6; padding: 1rem; border-radius: 1rem; outline: none; box-shadow: 0 1px 2px rgba(0,0,0,0.04); transition: box-shadow .15s, border-color .15s; }
.field-input:focus { border-color: #b89146; box-shadow: 0 0 0 3px rgba(184,145,70,0.25); }
.fade-in { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.hero-collage { position: absolute; inset: 0; overflow: hidden; }
.hero-collage img { position: absolute; object-fit: cover; border-radius: 1rem; opacity: 0.55; filter: saturate(0.9) brightness(0.95); }
.wa-float { position: fixed; bottom: 5.5rem; right: 1.25rem; z-index: 90; width: 56px; height: 56px; border-radius: 9999px; background: #25D366; color: white; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(37,211,102,0.4); transition: transform .2s; }
.wa-float:hover { transform: scale(1.08); }
@media (min-width: 768px) { .wa-float { bottom: 1.5rem; } }
.mobile-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 80; padding: 0.75rem 1rem; padding-bottom: max(0.75rem, env(safe-area-inset-bottom)); background: rgba(255,255,255,0.95); backdrop-filter: blur(10px); border-top: 1px solid rgba(184,145,70,0.2); }
