/* Shared staging chrome, loaded after presentation CSS on every page.
 * Scope excludes article bodies and native booking state. */
body.bahia-redesign :is(.bp-brand-header, .bp-brand-footer) {
  --bp-brand-gutter: clamp(20px, 4vw, 64px);
  font-family: var(--bp-serif);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.bahia-redesign :is(.bp-brand-header, .bp-brand-footer) > .bp-shell {
  width: calc(100% - var(--bp-brand-gutter) - var(--bp-brand-gutter));
  max-width: 1600px;
  margin-inline: auto;
}
body.bahia-redesign .bp-brand-header .bp-header-inner { min-height:96px; padding-block:8px; gap:28px; }
body.bahia-redesign .bp-brand-header .bp-logo { width:250px; }
body.bahia-redesign .bp-brand-header .bp-logo img { max-height:88px; }
body.bahia-redesign .bp-brand-header .bp-nav { gap:28px; font:400 18px/1.35 var(--bp-serif); }
body.bahia-redesign .bp-brand-header .bp-nav > .bp-language { margin-inline-start:0; padding-inline-start:24px; border-inline-start:1px solid var(--bp-border); }
body.bahia-redesign .bp-brand-header .bp-language summary { font-size:14px; }
body.bahia-redesign :is(.bp-brand-header, .bp-brand-footer) .bp-language summary::before {
  content:''; display:block; flex:0 0 18px; width:18px; height:18px;
  background:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22flag-icons-gb%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%20%20%3Cpath%20fill%3D%22%23012169%22%20d%3D%22M0%200h512v512H0z%22%2F%3E%0A%20%20%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M512%200v64L322%20256l190%20187v69h-67L254%20324%2068%20512H0v-68l186-187L0%2074V0h62l192%20188L440%200z%22%2F%3E%0A%20%20%3Cpath%20fill%3D%22%23C8102E%22%20d%3D%22m184%20324%2011%2034L42%20512H0v-3zm124-12%2054%208%20150%20147v45zM512%200%20320%20196l-4-44L466%200zM0%201l193%20189-59-8L0%2049z%22%2F%3E%0A%20%20%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M176%200v512h160V0zM0%20176v160h512V176z%22%2F%3E%0A%20%20%3Cpath%20fill%3D%22%23C8102E%22%20d%3D%22M0%20208v96h512v-96zM208%200v512h96V0z%22%2F%3E%0A%3C%2Fsvg%3E%0A') center/contain no-repeat; border-radius:2px;
}
body.bahia-redesign .bp-brand-header .bp-nav .bp-button {
  min-height:46px; padding:11px 24px; border:1px solid var(--bp-gold)!important;
  background:var(--bp-navy); color:#e7c184; font:400 17px/1.35 var(--bp-serif); white-space:nowrap;
}
body.bahia-redesign .bp-brand-header .bp-brand-discover { position:relative; }
body.bahia-redesign .bp-brand-header .bp-brand-discover > summary {
  display:flex; align-items:center; gap:9px; min-height:44px; padding:8px 0; margin:0;
  list-style:none; color:inherit; font:inherit; cursor:pointer;
}
body.bahia-redesign .bp-brand-discover > summary::-webkit-details-marker { display:none; }
body.bahia-redesign .bp-brand-discover > summary::marker { content:''; }
body.bahia-redesign .bp-brand-discover > summary > svg {
  width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.3; transition:transform .18s ease;
}
body.bahia-redesign .bp-brand-discover[open] > summary > svg { transform:rotate(180deg); }
body.bahia-redesign .bp-brand-header .bp-brand-discover-links {
  position:absolute; z-index:5; inset-block-start:calc(100% + 10px); inset-inline-start:-22px;
  width:242px; padding:12px 20px; border:1px solid var(--bp-border);
  background:var(--bp-ivory); box-shadow:0 12px 30px rgba(16,27,44,.09);
}
body.bahia-redesign .bp-brand-header .bp-brand-discover-links > a {
  display:flex; min-height:44px; padding:10px 2px; font:400 18px/1.35 var(--bp-serif);
  color:var(--bp-ink); white-space:normal;
}
body.bahia-redesign .bp-brand-header .bp-brand-discover-links > a:hover { color:var(--bp-gold); }
body.bahia-redesign .bp-brand-header .bp-menu-toggle--refined {
  flex:0 0 44px; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; gap:0;
  border:1px solid var(--bp-gold); background:var(--bp-navy); color:var(--bp-ivory);
}
body.bahia-redesign .bp-brand-header [data-bp-menu-icon] { display:grid; place-items:center; width:100%; height:100%; }
body.bahia-redesign .bp-brand-header .bp-menu-icon-close { display:none; }
body.bahia-redesign .bp-brand-header .bp-menu-toggle[aria-expanded=true] .bp-menu-icon-open { display:none; }
body.bahia-redesign .bp-brand-header .bp-menu-toggle[aria-expanded=true] .bp-menu-icon-close { display:block; }

body.bahia-redesign .bp-footer.bp-brand-footer { padding-block:44px 84px; }
body.bahia-redesign .bp-brand-footer .bp-footer-grid { grid-template-columns:minmax(230px,1.3fr) repeat(3,minmax(0,1fr)); gap:40px; }
body.bahia-redesign .bp-brand-footer .bp-footer-brand { grid-column:auto; }
body.bahia-redesign .bp-brand-footer .bp-logo { width:225px; margin-bottom:18px; }
body.bahia-redesign .bp-brand-footer .bp-footer-brand p { max-width:27ch; margin-bottom:18px; color:var(--bp-muted); font:400 18px/1.5 var(--bp-serif); }
body.bahia-redesign .bp-brand-footer .bp-brand-footer-group { min-width:0; }
body.bahia-redesign .bp-brand-footer .bp-brand-footer-group h2 { margin:4px 0 14px; font:400 21px/1.25 var(--bp-serif); letter-spacing:0; text-transform:none; }
body.bahia-redesign .bp-brand-footer .bp-brand-footer-group > a { display:block; padding:6px 0; color:var(--bp-muted); font:400 15px/1.55 var(--bp-serif); overflow-wrap:anywhere; }
body.bahia-redesign .bp-brand-footer .bp-brand-footer-group > a:hover { color:var(--bp-gold); }
body.bahia-redesign .bp-brand-footer .bp-brand-footer-bottom { margin-top:30px; padding-top:18px; border-top:1px solid var(--bp-border); }
body.bahia-redesign .bp-brand-footer .bp-brand-policies { display:flex; flex-wrap:wrap; gap:0 24px; }
body.bahia-redesign .bp-brand-footer .bp-brand-policies a { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; color:var(--bp-muted); font:400 13px/1.5 var(--bp-serif); }
body.bahia-redesign .bp-brand-footer .bp-brand-service-details { display:grid; grid-template-columns:1.1fr 1fr; align-items:start; gap:24px 64px; margin-top:16px; color:var(--bp-muted); }
body.bahia-redesign .bp-brand-footer .bp-brand-service-details :is(p,address) { max-width:none; margin:0; font:400 12px/1.65 var(--bp-sans); text-align:start; }
body.bahia-redesign .bp-brand-footer .bp-brand-service-details a { display:inline-block; padding-block:5px; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:1100px) {
  body.bahia-redesign .bp-brand-header .bp-header-inner { gap:20px; }
  body.bahia-redesign .bp-brand-header .bp-logo { width:225px; }
  body.bahia-redesign .bp-brand-header .bp-nav { gap:22px; }
  body.bahia-redesign .bp-brand-footer .bp-footer-grid { gap:28px; }
}
@media (max-width:1000px) {
  body.bahia-redesign .bp-brand-header .bp-header-inner { min-height:84px; }
  body.bahia-redesign .bp-brand-header .bp-nav {
    flex-basis:calc(100% + var(--bp-brand-gutter) + var(--bp-brand-gutter));
    width:calc(100% + var(--bp-brand-gutter) + var(--bp-brand-gutter));
    margin-inline:calc(0px - var(--bp-brand-gutter)); padding:12px var(--bp-brand-gutter) 24px; gap:0;
  }
  body.bahia-redesign .bp-brand-header .bp-nav > a:not(.bp-button),
  body.bahia-redesign .bp-brand-header .bp-brand-discover > summary {
    width:100%; min-height:62px; padding:16px 0; border-bottom:1px solid #ffffff24;
    color:var(--bp-ivory); font:400 26px/1.2 var(--bp-serif);
  }
  body.bahia-redesign .bp-brand-header .bp-brand-discover > summary { justify-content:space-between; }
  body.bahia-redesign .bp-brand-header .bp-brand-discover-links {
    position:static; width:100%; padding:8px 16px; margin-block:10px 8px;
    border:0; border-inline-start:1px solid var(--bp-gold); background:transparent; box-shadow:none;
  }
  body.bahia-redesign .bp-brand-header .bp-brand-discover-links > a { min-height:48px; padding:10px 0; color:var(--bp-ivory); font-size:20px; }
  body.bahia-redesign .bp-brand-header .bp-nav > .bp-language { width:100%; margin:0; padding:10px 0; border:0; }
  body.bahia-redesign .bp-brand-header .bp-language summary { min-height:44px; font-size:16px; color:var(--bp-ivory); }
  body.bahia-redesign .bp-brand-header .bp-nav .bp-button { min-height:48px; font-size:20px; background:var(--bp-gold); color:var(--bp-navy); }
  body.bahia-redesign .bp-brand-header .bp-nav .bp-mobile-only { min-height:54px!important; font-size:20px!important; border:0!important; }
  body.bahia-redesign .bp-brand-footer .bp-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.bahia-redesign .bp-brand-footer .bp-footer-brand { grid-column:1/-1; }
  body.bahia-redesign .bp-brand-footer .bp-brand-service-details { grid-template-columns:1fr; gap:14px; }
}
@media (max-width:600px) {
  body.bahia-redesign .bp-brand-header .bp-header-inner { min-height:76px; gap:16px; }
  body.bahia-redesign .bp-brand-header .bp-logo { width:clamp(170px,56vw,210px); }
  body.bahia-redesign .bp-footer.bp-brand-footer { padding-block:34px 84px; }
  body.bahia-redesign .bp-brand-footer .bp-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
  body.bahia-redesign .bp-brand-footer .bp-brand-footer-group > a { min-height:44px; padding-block:10px; font-size:15px; }
  body.bahia-redesign .bp-brand-footer .bp-brand-policies { gap:0 20px; }
  body.bahia-redesign .bp-brand-footer .bp-brand-service-details :is(p,address) { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  body.bahia-redesign .bp-brand-discover > summary > svg { transition:none; }
}

/* Existing GTranslate controls within the shared Bahia language disclosure. */
body.bahia-redesign .bp-language.bp-language--translate summary::before { display:none; }
body.bahia-redesign .bp-language--translate .bp-language-flag { display:block; width:18px; height:18px; flex:0 0 18px; object-fit:contain; border-radius:2px; }
body.bahia-redesign .bp-language--translate [data-bp-language-code] { font:inherit; }
body.bahia-redesign .bp-language--translate .bp-language-options { max-height:min(360px,50vh); overflow-y:auto; overscroll-behavior:contain; }
body.bahia-redesign .bp-language--translate .bp-language-options a { margin:0; }
body.bahia-redesign .bp-language--translate .bp-language-options a:is(:hover,:focus-visible,[aria-current="true"]) { color:var(--bp-navy); background:var(--bp-ivory); }
body.bahia-redesign .bp-brand-footer .bp-language--translate .bp-language-options { inset:auto auto 100% 0; }
@media (max-width:1000px) {
  body.bahia-redesign .bp-brand-header .bp-nav .bp-language--translate .bp-language-options { max-height:40vh; }
}
