/* Shared footer (copied from the homepage's jhotel-site.css) for the
   standalone subpages. Keep in sync with the homepage footer rules. */
#footer.jf-gold{margin:0;font-family:inherit;line-height:1.4;clear:both;}
#footer.jf-gold p{margin:0;}
#footer.jf-gold *,#footer.jf-gold *::before,#footer.jf-gold *::after{box-sizing:border-box;}
#footer.jf-gold {
  background: #0a0a0a;
  color: #e7e2d6;
}

#footer.jf-gold .inside {
  max-width: 1320px;
  margin: 0 auto;
  padding: 4rem 1.5rem 2.5rem;
}

#footer.jf-gold .jf-top .flogo {
  min-height: 32px;
}

/* Footer logo. A literal 80%-smaller pass (max-width:20px) rendered it
   at ~3.75px tall — effectively invisible, not just smaller. Restored to
   a moderate, clearly visible size instead. */
#footer.jf-gold .jf-top .flogo img {
  width: auto;
  max-width: 140px;
  height: auto;
}

#footer.jf-gold .jf-tagline {
  margin-top: 0.75rem;
  max-width: 32rem;
  font-size: calc(1rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-style: italic;
  font-weight: var(--font1-weight, 300);
  color: #a89f8c;
}

#footer.jf-gold .jf-divider {
  margin-top: 3rem;
  height: 1px;
  background: linear-gradient(to right, #c9a44c, transparent 70%);
}

#footer.jf-gold .jf-grid {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.75rem;
}

#footer.jf-gold .jf-heading {
  display: block;
  font-size: calc(0.78rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 600);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #c9a44c;
}

#footer.jf-gold .jf-text {
  margin-top: 1rem;
  font-size: calc(1rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 300);
  line-height: 1.6;
  color: #e7e2d6;
}

#footer.jf-gold .jf-text a {
  color: #e7e2d6;
  text-decoration: none;
  transition: color 0.2s ease;
}

#footer.jf-gold .jf-text a:hover {
  color: #c9a44c;
}

#footer.jf-gold .jf-getting-here {
  display: inline-block;
  margin-top: 0.9rem;
  padding-bottom: 2px;
  border-bottom: 1px solid #c9a44c;
  font-size: calc(0.8rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 500);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c9a44c;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

#footer.jf-gold .jf-getting-here:hover {
  opacity: 0.7;
}

#footer.jf-gold .jf-hours {
  margin-top: 0.9rem;
  font-size: calc(0.85rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 300);
  color: #857c68;
}

#footer.jf-gold .jf-newsletter {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  border-bottom: 1px solid #3a362c;
  padding-bottom: 0.5rem;
  transition: border-color 0.2s ease;
}

#footer.jf-gold .jf-newsletter:focus-within {
  border-color: #c9a44c;
}

#footer.jf-gold .jf-newsletter input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: none;
  font-size: calc(1rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 300);
  color: #e7e2d6;
}

#footer.jf-gold .jf-newsletter input::placeholder {
  color: #6b6455;
}

#footer.jf-gold .jf-newsletter button {
  flex-shrink: 0;
  background: transparent;
  border: 0;
  font-size: calc(1.1rem * var(--font1-size-ratio, 1));
  color: #c9a44c;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

#footer.jf-gold .jf-newsletter button:hover {
  opacity: 0.7;
}

#footer.jf-gold .jf-heading--cta {
  display: block;
  margin-bottom: 0.9rem;
}

.widget-submit.btn-buchen button.violett.submit {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

#footer.jf-gold .jf-book-btn.buttn.violett a,
#footer.jf-gold .jf-book-btn a {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  border-radius: 0 !important;
  background: #c9a44c !important;
  color: #0a0a0a !important;
  font-size: calc(0.8rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 600);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

#footer.jf-gold .jf-book-btn.buttn.violett a::before {
  display: none !important;
}

#footer.jf-gold .jf-book-btn.buttn.violett a:hover,
#footer.jf-gold .jf-book-btn a:hover {
  opacity: 0.85;
  color: #0a0a0a !important;
}

#footer.jf-gold .jf-after {
  margin-top: 3rem;
  padding-top: 1.75rem;
  border-top: 1px solid #262219;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  font-size: calc(0.78rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  font-weight: var(--font1-weight, 300);
  color: #6b6455;
}

#footer.jf-gold .jf-after .aflinks {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

#footer.jf-gold .jf-after .aflinks a {
  color: #857c68;
  text-decoration: none;
  transition: color 0.2s ease;
}

#footer.jf-gold .jf-after .aflinks a:hover {
  color: #c9a44c;
}

@media (min-width: 768px) {
  #footer.jf-gold .jf-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }

  #footer.jf-gold .jf-after {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

#footer.jf-gold .jf-top .flogo img {
  max-width: 220px;
}

/* Footer: sitemap column, social list, SEO block. */
#footer.jf-gold .jf-sitemap a,
#footer.jf-gold .jf-social a {
  display: inline-block;
  margin-bottom: 0.25rem;
}
#footer.jf-gold .jf-heading--follow {
  margin-top: 1.5rem;
}
#footer.jf-gold .jf-social a + a {
  margin-left: 1rem;
}
#footer.jf-gold .jf-seo {
  margin-top: 3rem;
  max-width: 60rem;
}
#footer.jf-gold .jf-seo__title {
  font-size: calc(1.4rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  color: #c9a44c;
  margin: 0 0 1rem;
}
#footer.jf-gold .jf-seo p {
  font-size: calc(0.95rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  line-height: 1.7;
  color: #a89f8c;
}

/* Footer title bigger; blurb under "Ready to Book?". */
#footer.jf-gold .jf-top .jf-tagline {
  max-width: 48rem;
  font-size: calc(1.7rem * var(--font1-size-ratio, 1) * var(--mobile-scale, 1));
  line-height: 1.35;
}
#footer.jf-gold .jf-cta-blurb {
  margin: 0 0 0.9rem;
}

/* Footer tidy-up: columns aligned to the top, compact 2-column sitemap,
   Follow us under the Reserve button, spaced SEO paragraphs. */
#footer.jf-gold .jf-grid {
  align-items: start;
}
#footer.jf-gold .jf-sitemap {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  gap: 0.55rem 2rem;
}
#footer.jf-gold .jf-sitemap a {
  margin: 0;
}
#footer.jf-gold .jf-heading--follow {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
#footer.jf-gold .jf-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}
#footer.jf-gold .jf-social a,
#footer.jf-gold .jf-social a + a {
  margin: 0;
}
#footer.jf-gold .jf-seo p {
  margin: 0 0 0.85rem;
}

#footer.jf-gold .jf-social {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  gap: 0.55rem 2rem;
}

@media (max-width: 799px) {
  #footer.jf-gold .jf-sitemap,
  #footer.jf-gold .jf-social {
    justify-content: center;
    justify-items: center;
  }
}

/* Footer "Follow us" social icons. */
#footer.jf-gold .jf-social a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  line-height: 1;
}
#footer.jf-gold .jf-social__icon {
  display: block;
  width: 1.25em;
  height: 1.25em;
  flex-shrink: 0;
}
@media (max-width: 799px) {
  /* Keep icons in a straight column; the grid itself stays centered. */
  #footer.jf-gold .jf-social {
    justify-items: start;
  }
}

/* Footer button: Bungalows-page gold style. */
html body #footer.jf-gold .jf-book-btn.buttn.violett a {
  background: linear-gradient(#fff, #fff) left center / 0% 100% no-repeat,
    linear-gradient(135deg, #D9BF83, #B8975A) !important;
  border: 1px solid #B8975A !important;
  color: #fff !important;
  transition: background-size .45s cubic-bezier(.2,.7,.2,1), color .3s, border-color .3s !important;
}
html body #footer.jf-gold .jf-book-btn.buttn.violett a:hover,
html body #footer.jf-gold .jf-book-btn.buttn.violett a:focus-visible {
  background-size: 100% 100%, 100% 100% !important;
  color: #84642A !important;
}
html body #footer.jf-gold .jf-book-btn.buttn.violett a::before { display: none !important; }

/* Subpage footer fills the full screen height: main content centred,
   copyright bar pinned to the bottom. Height only — content untouched. */
#footer.jf-gold .inside {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
#footer.jf-gold .inside > .jf-top {
  margin-top: auto;
}
#footer.jf-gold .inside > .jf-after {
  margin-top: auto;
}
/* margin-top:auto drops to 0 when the content outgrows the screen
   (phones), so the 3rem gap above the bottom bar moves onto the block
   before it. */
#footer.jf-gold .inside > :nth-last-child(2) {
  margin-bottom: 3rem;
}
