/* ==========================================================================
   Policy document pages: hero, sticky section index, measured prose.
   ========================================================================== */

/* The document hero carries the H1, so the template's own title stands down. */
.blb-policy-page .wp-block-post-title{
  position:absolute;
  width:1px; height:1px;
  margin:-1px; padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.blb-policy-page .entry-content{ padding-top:0; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.blb-dochero{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(24px, 4vw, 56px);
  align-items:center;
  padding:clamp(28px, 5vw, 64px) 0 clamp(24px, 4vw, 48px);
}

.blb-dochero__title{
  font-size:clamp(2.15rem, 5.2vw, 3.6rem);
  line-height:1.05;
  letter-spacing:-.024em;
  color:var(--blb-brown);
  margin:0 0 .5em;
}

.blb-dochero__lede{
  font-size:clamp(1.05rem, 1.6vw, 1.22rem);
  line-height:1.55;
  color:var(--blb-muted);
  max-width:34em;
  margin:0 0 1.6em;
}

.blb-dochero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:1.4em;
}

.blb-dochero__stamp{
  font-size:.85rem;
  color:var(--blb-muted);
  margin:0;
}

.blb-dochero__media{
  margin:0;
  border-radius:var(--blb-r-lg);
  overflow:hidden;
  box-shadow:var(--blb-shadow-md);
  background:var(--blb-line);
}
.blb-dochero__media img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

/* --------------------------------------------------------------------------
   Two column document
   -------------------------------------------------------------------------- */

.blb-doc{
  display:grid;
  grid-template-columns:232px minmax(0,1fr);
  gap:clamp(28px, 5vw, 72px);
  align-items:start;
  padding-bottom:clamp(40px, 6vw, 80px);
}

.blb-doc__aside{ position:relative; }

.blb-doc__index{
  position:sticky;
  top:calc(var(--blb-header-h) + 24px);
  padding:18px 16px;
  border:1px solid var(--blb-line);
  border-radius:var(--blb-r-md);
  background:rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  backdrop-filter:blur(16px) saturate(160%);
}

.blb-doc__indexhead{
  font-size:.72rem;
  text-transform:uppercase;
  font-weight:700;
  color:var(--blb-muted);
  margin:0 0 10px;
}

.blb-doc__index ol{
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:blbdoc;
}
.blb-doc__index li{ margin:0; }

.blb-doc__index a{
  counter-increment:blbdoc;
  display:flex;
  gap:10px;
  padding:8px 10px;
  border-radius:8px;
  font-size:.9rem;
  line-height:1.35;
  color:var(--blb-muted);
  text-decoration:none;
  transition:color var(--blb-fast) var(--blb-ease),
             background-color var(--blb-fast) var(--blb-ease);
}
.blb-doc__index a::before{
  content:counter(blbdoc);
  flex:0 0 auto;
  min-width:1.1em;
  font-variant-numeric:tabular-nums;
  color:var(--blb-muted);
  opacity:.55;
  font-weight:700;
  transition:color var(--blb-fast) var(--blb-ease);
}
.blb-doc__index a:hover{
  color:var(--blb-brown);
  background:var(--blb-cream);
}
.blb-doc__index a.is-current{
  color:var(--blb-brown);
  font-weight:600;
  background:var(--blb-cream);
}
.blb-doc__index a.is-current::before{ color:var(--blb-terra); opacity:1; }

/* --------------------------------------------------------------------------
   Prose. Measured, hairlines instead of boxes.
   -------------------------------------------------------------------------- */

.blb-doc__prose{
  max-width:68ch;
  color:var(--blb-dark);
  font-size:1.06rem;
  line-height:1.68;
}

.blb-doc__prose > p:first-of-type.blb-lede,
.blb-doc__prose .blb-lede{
  font-size:1.2rem;
  line-height:1.6;
  color:var(--blb-brown);
  letter-spacing:-.008em;
}

.blb-doc__prose h2{
  font-size:clamp(1.4rem, 2.4vw, 1.75rem);
  line-height:1.18;
  letter-spacing:-.018em;
  color:var(--blb-brown);
  margin:2.4em 0 .7em;
  padding-top:1.5em;
  border-top:1px solid var(--blb-line);
}
.blb-doc__prose h2:first-child{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.blb-doc__prose h2:focus{ outline:none; }

.blb-doc__prose p{ margin:0 0 1.1em; }

.blb-doc__prose ul,
.blb-doc__prose ol{
  margin:0 0 1.4em;
  padding-left:1.15em;
}
.blb-doc__prose li{ margin:0 0 .6em; padding-left:.25em; }
.blb-doc__prose li::marker{ color:var(--blb-terra); }

/* The lighter terracotta measures 4.28:1 on cream, under AA for body text.
   Inline prose links take the deeper tone, which measures 5.66:1. */
.blb-doc__prose a{
  color:var(--blb-terra-dk);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(163,103,65,.4);
  transition:text-decoration-color var(--blb-fast) var(--blb-ease);
}
.blb-doc__prose a:hover{ text-decoration-color:var(--blb-terra); }

.blb-doc__prose strong{ color:var(--blb-brown); font-weight:600; }

/* Callouts: a tinted ground and a rule, not a floating card. */
.blb-doc__prose .blb-note,
.blb-doc__prose .wp-block-group.blb-note{
  background:rgba(163,103,65,.06);
  border:0;
  border-left:3px solid var(--blb-terra);
  border-radius:0 var(--blb-r-sm) var(--blb-r-sm) 0;
  padding:18px 20px;
  margin:0 0 1.6em;
}
.blb-doc__prose .blb-note p:last-child{ margin-bottom:0; }

.blb-doc__prose .blb-note--flag{
  background:rgba(71,50,47,.05);
  border-left-color:var(--blb-brown);
  font-size:.95rem;
  color:var(--blb-muted);
}

/* --------------------------------------------------------------------------
   Closing block
   -------------------------------------------------------------------------- */

.blb-doccta{
  background:var(--blb-brown);
  color:#fff;
  padding:clamp(40px, 6vw, 72px) 24px;
  margin-top:clamp(24px, 4vw, 40px);
}
.blb-doccta__inner{
  max-width:640px;
  margin:0 auto;
  text-align:center;
}
.blb-doccta h2{
  color:#fff;
  font-size:clamp(1.5rem, 3vw, 2.1rem);
  line-height:1.15;
  letter-spacing:-.02em;
  margin:0 0 .5em;
}
.blb-doccta p{
  color:rgba(255,255,255,.82);
  margin:0 0 1.6em;
  line-height:1.6;
}
.blb-doccta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-bottom:1.2em;
}
.blb-doccta .blb-btn--ghost{
  color:#fff !important;
  border-color:rgba(255,255,255,.38);
}
.blb-doccta .blb-btn--ghost:hover{
  background:rgba(255,255,255,.1);
  border-color:#fff;
  color:#fff !important;
}
.blb-doccta__mail{ margin:0; font-size:.95rem; }
.blb-doccta__mail a{
  color:rgba(255,255,255,.82);
  text-decoration:underline;
  text-underline-offset:3px;
}
.blb-doccta__mail a:hover{ color:#fff; }

/* --------------------------------------------------------------------------
   Below 900px the index stops being a sidebar and becomes a short menu
   above the prose. Declared, not left to reflow on its own.
   -------------------------------------------------------------------------- */

@media (max-width:900px){
  .blb-dochero{
    grid-template-columns:1fr;
    gap:24px;
  }
  .blb-dochero__media{ order:-1; }
  .blb-dochero__media img{ aspect-ratio:16/10; }

  .blb-doc{ grid-template-columns:1fr; gap:24px; }

  .blb-doc__index{
    position:static;
    padding:14px;
  }
  .blb-doc__index ol{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:2px;
  }
  .blb-doc__prose{ max-width:none; }
}

@media (max-width:600px){
  .blb-doc__index ol{ grid-template-columns:1fr; }
  .blb-dochero__actions .blb-btn{ flex:1 1 100%; }
  .blb-doccta__actions .blb-btn{ flex:1 1 100%; }
  .blb-doc__prose{ font-size:1.02rem; }
}

/* --------------------------------------------------------------------------
   Accessibility preferences
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .blb-btn:hover, .blb-btn:active,
  .blb-card:active,
  .wp-block-button__link:active,
  .elementor-button:active,
  button:active{ transform:none !important; }
}

@media (prefers-reduced-transparency: reduce){
  .site-header .hostinger-ai-menu::before,
  .blb-scrolled .site-header .hostinger-ai-menu::before{
    background:var(--blb-cream);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .blb-doc__index,
  .hostinger-ai-site-navigation .wp-block-navigation__submenu-container,
  .wp-block-navigation__responsive-container.is-menu-open{
    background-color:#fff !important;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}

@media (prefers-contrast: more){
  .blb-doc__index{ background:#fff; border-color:var(--blb-brown); }
  .blb-doc__prose .blb-note{ background:#fff; border:1px solid var(--blb-brown); border-left-width:3px; }
  .blb-dochero__lede, .blb-doc__index a{ color:var(--blb-brown); }
  .site-header .hostinger-ai-menu::before{ background:var(--blb-cream); }
}
