/*
 * Bali Otthon page skeleton
 * Top navigation + flat eyecatcher like the Plumeria skeleton,
 * but in Bali Otthon branding.
 */

.bo-skeleton-page{
  --bo-ink:#111111;
  --bo-muted:#6f6f6f;
  --bo-line:rgba(0,0,0,.09);
  --bo-gold:#b88a4a;
  --bo-headline:'Playfair Display', Georgia, serif;
  --bo-ui:'Manrope', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:#fff;
  color:var(--bo-ink);
  font-family:var(--bo-ui);
}

.bo-skeleton-page a{
  color:inherit;
  text-decoration:none;
}

.bo-skel-accent{
  height:7px;
  background:#4b2f25;
}

.bo-skel-header{
  min-height:74px;
  display:grid;
  grid-template-columns:minmax(150px, 230px) 1fr;
  align-items:center;
  gap:clamp(20px, 3vw, 44px);
  padding:10px clamp(24px, 5vw, 116px);
  background:#fff;
  border-bottom:1px solid var(--bo-line);
}

.bo-skel-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}

.bo-skel-logo img{
  display:block;
  width:auto;
  max-width:170px;
  max-height:58px;
  object-fit:contain;
}

.bo-skel-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(18px, 2.2vw, 38px);
  min-width:0;
}

.bo-skel-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:#111;
  font-family:var(--bo-ui);
  font-size:clamp(11px, 1vw, 14px);
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.2;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .22s ease;
}

.bo-skel-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:1px;
  background:var(--bo-gold);
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .24s ease;
}

.bo-skel-nav a:hover{
  color:#8f6f44;
}

.bo-skel-nav a:hover::after{
  transform:scaleX(1);
  transform-origin:left;
}

.bo-skel-hero{
  position:relative;
  min-height:250px;
  height:clamp(230px, 28vw, 360px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#111;
}

.bo-skel-hero__image{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url('/images/bali-otthon-eyecatcher.jpg');
  background-size:cover;
  background-position:center center;
  transform:scale(1.01);
}

.bo-skel-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.10) 50%, rgba(0,0,0,.28) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.42) 100%);
}

.bo-skel-hero__content{
  position:relative;
  z-index:2;
  width:min(980px, calc(100% - 36px));
  margin:0 auto;
  text-align:center;
  color:#fff;
}

.bo-skel-kicker{
  margin:0 0 10px;
  color:#f0e3d3;
  font-family:var(--bo-ui);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.bo-skel-hero h1{
  margin:0;
  font-family:var(--bo-headline);
  font-size:clamp(38px, 5.4vw, 76px);
  font-weight:600;
  line-height:.96;
  letter-spacing:.01em;
  text-shadow:0 4px 22px rgba(0,0,0,.28);
}

.bo-skel-content{
  width:min(1160px, calc(100% - 36px));
  margin:0 auto;
  padding:clamp(20px, 3vw, 36px) 0 clamp(54px, 7vw, 92px);
}

.bo-skel-placeholder{
  width:100%;
  max-width:none;
  margin:0;
  text-align:center;
  padding:clamp(28px, 4vw, 48px);
  background:linear-gradient(180deg, #fff 0%, #faf9f7 100%);
  border:1px solid rgba(0,0,0,.06);
}

.bo-skel-placeholder .bo-skel-kicker{
  color:#8a7d70;
}

.bo-skel-placeholder h2{
  margin:0;
  font-family:var(--bo-headline);
  font-size:clamp(30px, 3.6vw, 48px);
  font-weight:600;
  line-height:1.04;
}

.bo-skel-placeholder p:not(.bo-skel-kicker){
  max-width:620px;
  margin:16px auto 0;
  color:var(--bo-muted);
  font-size:15px;
  line-height:1.8;
}

@media (max-width: 980px){
  .bo-skel-header{
    grid-template-columns:1fr;
    gap:12px;
    padding:12px 18px 16px;
    text-align:center;
  }

  .bo-skel-logo{
    justify-content:center;
  }

  .bo-skel-logo img{
    max-width:150px;
    max-height:54px;
  }

  .bo-skel-nav{
    flex-wrap:wrap;
    gap:10px 18px;
  }

  .bo-skel-nav a{
    font-size:11px;
    letter-spacing:.10em;
  }

  .bo-skel-hero{
    height:300px;
  }
}

@media (max-width: 620px){
  .bo-skel-nav{
    display:none;
  }

  .bo-skel-header{
    min-height:72px;
  }

  .bo-skel-logo img{
    max-width:142px;
    max-height:52px;
  }

  .bo-skel-hero{
    height:260px;
    min-height:230px;
  }

  .bo-skel-hero h1{
    font-size:clamp(34px, 12vw, 50px);
  }

  .bo-skel-kicker{
    font-size:10px;
    letter-spacing:.18em;
  }
}


/* Footer aus den bestehenden Includes auf Bali-Otthon-Startseitenlook bringen */
.bo-skeleton-page footer,
.bo-skeleton-page .footer,
.bo-skeleton-page .site-footer{
  display:flex;
  justify-content:center;
  padding:clamp(28px, 4vw, 48px) clamp(18px, 3.8vw, 48px) clamp(26px, 4vw, 42px);
  border-top:1px solid rgba(0,0,0,.05);
  background:#fff;
  text-align:center;
}

.bo-skeleton-page footer > *,
.bo-skeleton-page .footer > *,
.bo-skeleton-page .site-footer > *{
  width:min(730px, 100%);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.bo-skeleton-page footer p,
.bo-skeleton-page footer .brand,
.bo-skeleton-page footer .footer-brand,
.bo-skeleton-page .footer p,
.bo-skeleton-page .footer .brand,
.bo-skeleton-page .footer .footer-brand,
.bo-skeleton-page .site-footer p,
.bo-skeleton-page .site-footer .brand,
.bo-skeleton-page .site-footer .footer-brand{
  margin:0 0 10px;
  color:#111;
  font-family:var(--bo-headline);
  font-size:clamp(28px, 3vw, 42px);
  line-height:1;
  font-weight:600;
}

.bo-skeleton-page footer nav,
.bo-skeleton-page footer ul,
.bo-skeleton-page footer .footer-links,
.bo-skeleton-page .footer nav,
.bo-skeleton-page .footer ul,
.bo-skeleton-page .footer .footer-links,
.bo-skeleton-page .site-footer nav,
.bo-skeleton-page .site-footer ul,
.bo-skeleton-page .site-footer .footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px 24px;
  margin:0;
  padding:0;
  list-style:none;
}

.bo-skeleton-page footer a,
.bo-skeleton-page .footer a,
.bo-skeleton-page .site-footer a{
  color:#8a8a8a;
  font-family:var(--bo-ui);
  font-size:11px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  transition:color .22s ease;
}

.bo-skeleton-page footer a:hover,
.bo-skeleton-page .footer a:hover,
.bo-skeleton-page .site-footer a:hover{
  color:#8f6f44;
}

/* Fallback für sehr einfache Footer-Includes ohne semantische Wrapper */
.bo-skeleton-page > p:last-of-type,
.bo-skeleton-page > div:last-of-type p:first-child{
  font-family:var(--bo-headline);
}

.bo-skel-hero{
  position:relative;
  min-height:0;
  height:clamp(300px, 32vw, 360px);
  overflow:hidden;
  isolation:isolate;
  background:#111;
}

.bo-skel-hero__video{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}

#page_title.bo-title-normal{
  font-size:clamp(46px, 6vw, 86px);
  line-height:.95;
}

#page_title.bo-title-medium{
  font-size:clamp(40px, 5vw, 72px);
  line-height:.96;
}

#page_title.bo-title-long{
  font-size:clamp(34px, 4.2vw, 58px);
  line-height:1;
}

#page_title.bo-title-very-long{
  font-size:clamp(28px, 3.4vw, 46px);
  line-height:1.05;
}
