/* BrightHarbor unique stylesheet */
html, body { font-size: 16px; }
body.bhbr-body { color: #232629; background-color: #fff; }

/* Brand Accent */
:root {
  --bhbr-accent: #1f6f8b;      /* ocean teal */
  --bhbr-accent-2: #e6f2f6;    /* light mist */
  --bhbr-ink: #232629;
  --bhbr-soft: #6b737a;
}

/* Navbar */
.bhbr-logo-mark { width: 36px; height: 36px; background: var(--bhbr-accent-2); color: var(--bhbr-accent); }
.bhbr-cta { background: var(--bhbr-accent); border-color: var(--bhbr-accent); }
.bhbr-cta:hover { background: #175364; border-color: #175364; }

/* Hero + decorative blobs */
.bhbr-hero { position: relative; }
.bhbr-hero-card img { object-fit: cover; }
.bhbr-hero-deco-1, .bhbr-hero-deco-2 {
  position: absolute; pointer-events: none; opacity: .25; filter: blur(40px);
}
.bhbr-hero-deco-1 { width: 240px; height: 240px; background: #cbe8f3; top: -40px; right: -40px; border-radius: 50%; }
.bhbr-hero-deco-2 { width: 180px; height: 180px; background: #f5e3ff; bottom: -30px; left: -30px; border-radius: 50%; }

/* Offer */
.bhbr-offer { background: linear-gradient(90deg, #1f6f8b, #175364); }

/* Sections */
.bhbr-section h2 { letter-spacing: .2px; }
.bhbr-list { padding-left: 1.2rem; margin-bottom: 0; }
.bhbr-list li { margin-bottom: .35rem; }

/* Cards */
.bhbr-card { border: 1px solid #f0f1f2; background: #fff; }
.bhbr-card:hover { transform: translateY(-2px); transition: .2s ease; }

/* Steps */
.bhbr-step { background: #fff; border: 1px solid #eef0f2; border-radius: 12px; padding: 18px; box-shadow: 0 3px 16px rgba(0,0,0,.03); }
.bhbr-step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  margin-bottom: .35rem; background: var(--bhbr-accent-2); color: var(--bhbr-accent); font-weight: 700;
}

/* Project hover */
.bhbr-project img { transition: transform .35s ease; }
.bhbr-project:hover img { transform: scale(1.04); }

/* Partner badges */
.bhbr-badge { display: inline-block; padding: .5rem .9rem; border-radius: 999px; border: 1px solid #e6e8ea; background: #fff; font-weight: 600; color: #6b737a; }

/* Buttons */
.btn-primary { background: var(--bhbr-accent); border-color: var(--bhbr-accent); }
.btn-outline-primary { color: var(--bhbr-accent); border-color: var(--bhbr-accent); }
.btn-outline-primary:hover { background: var(--bhbr-accent); color: #fff; }

/* Utilities */
.tracking-wide { letter-spacing: .1em; }

/* Team avatar (kept for possible reuse) */
.bhbr-avatar { width: 112px; height: 112px; object-fit: cover; }

/* =================== BACKGROUNDS =================== */
/* 1) Diagonal gradient for hero */
.bhbr-bg-diag {
  background: radial-gradient(1200px 600px at 0% 0%, #eef7fb 0%, #ffffff 40%) no-repeat;
}

/* 2) Dotted pattern (png in /images) */
.bhbr-bg-dots {
  background-repeat: repeat;
  background-size: auto;
}

/* 3) Photo overlay helper */
.bhbr-bg-photo {
  position: relative; isolation: isolate;
}
.bhbr-bg-photo::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background-position: center; background-size: cover; filter: none; opacity: .25;
}

/* 4) Grid lines */
.bhbr-bg-grid {
  background-image:
    linear-gradient(to right, rgba(31,111,139,.07) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(31,111,139,.07) 1px, transparent 1px);
  background-size: 40px 40px;
  background-position: center;
}

/* 5) Soft mist gradient */
.bhbr-bg-mist {
  background: linear-gradient(180deg, #f6fbfe 0%, #ffffff 100%);
}

/* 6) Lines pattern (png in /images) */
.bhbr-bg-lines {
  background-image: url(images/bg-lines.png);
    background-size: cover;
    background-repeat: no-repeat;
}

/* =================== AOS (appear on scroll) =================== */
.bhbr-aos { opacity: 0; transform: translateY(24px); transition: transform .7s cubic-bezier(.2,.65,.2,1), opacity .7s cubic-bezier(.2,.65,.2,1); will-change: transform, opacity; }
.bhbr-aos[data-bhbr-anim="left"] { transform: translateX(-28px); }
.bhbr-aos[data-bhbr-anim="right"] { transform: translateX(28px); }
.bhbr-aos[data-bhbr-anim="fade"] { transform: none; }
.bhbr-aos[data-bhbr-anim="scale"] { transform: scale(.96); }
.bhbr-inview { opacity: 1 !important; transform: none !important; }

/* =================== COOKIE BAR (no storage) =================== */
.bhbr-cookiebar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1080;
  padding: 12px; background: rgba(35,38,41,.9); backdrop-filter: blur(6px); color: #fff;
}
.bhbr-cookiebar-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bhbr-cookiebar-text { display: flex; align-items: center; gap: 8px; font-size: .95rem; }
#bhbrCookieBtn { border-radius: 999px; }

/* Footer */
footer a { color: var(--bhbr-ink); }
footer a:hover { text-decoration: underline; }
/* Service card images */
.bhbr-service-img{width:100%;height:180px;object-fit:cover}
@media (min-width:992px){.bhbr-service-img{height:200px}}
/* ===== Projects background ===== */
.bhbr-bg-photo { position: relative; isolation: isolate; }
.bhbr-bg-photo::before,
.bhbr-bg-photo::after { content:""; position:absolute; inset:0; z-index:-1; }

.bhbr-bg-projects::before{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;      /* лёгкий параллакс на десктопе */
  opacity: .32;                       /* прозрачность фото */
  filter: saturate(1.05) contrast(1.03);
}
.bhbr-bg-projects::after{
  /* мягкий светлый градиент для контраста текста и карточек */
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.9) 100%);
}

/* Отключаем fixed на мобильных для производительности */
@media (max-width: 991.98px){
  .bhbr-bg-projects::before{ background-attachment: scroll; }
}
/* --- Projects: базовый цвет + опциональная фото-подложка --- */
.bhbr-bg-projects{
  position: relative;
  z-index: 0;                  /* создаём контекст */
  background-color: #f2f7fb;   /* ← ВОТ ЭТО БАЗОВЫЙ ЦВЕТ, он всегда виден */
}

/* Фото-слой (если есть images/bg-projects.jpg) */
.bhbr-bg-projects::before{
  content:"";
  position:absolute; inset:0;
  z-index:-1;                  /* фото позади контента, но поверх фона секции */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity:.30;                 /* лёгкая прозрачность, чтобы не перебивало цвет */
  filter: saturate(1.03) contrast(1.02);
}

/* Мягкий градиент для читабельности (по желанию можно убрать) */
.bhbr-bg-projects::after{
  content:"";
  position:absolute; inset:0;
  z-index:-1;
  background: linear-gradient(180deg, rgba(255,255,255,.0) 0%, rgba(255,255,255,.85) 100%);
}

/* На мобилках отключаем возможный fixed и т.п. для стабильности */
@media (max-width: 991.98px){
  .bhbr-bg-projects::before{ background-attachment: scroll; }
}

/* ===== Our Studio background (photo overlay + gentle gradient) ===== */
.bhbr-bg-photo { position: relative; isolation: isolate; }
.bhbr-bg-studio {
  position: relative;
  background-color: #f7fafc; /* базовый цвет виден даже без изображения */
}
.bhbr-bg-studio::before,
.bhbr-bg-studio::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
}
.bhbr-bg-studio::before {
  background-image: url('images/bg-studio.jpg'); /* положите файл в /images */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: .28;                   /* фото мягко читается за контентом */
  filter: saturate(1.02) contrast(1.02);
}
.bhbr-bg-studio::after {
  background: linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,.85) 100%);
}
@media (max-width: 991.98px){
  .bhbr-bg-studio::before { background-attachment: scroll; }
}
/* ===== Design Principles styling ===== */
.bhbr-principles { --bhbr-p-accent: var(--bhbr-accent); position: relative; }
.bhbr-principles .bhbr-principles-kicker { letter-spacing: .02em; }
.bhbr-principles-divider{
  width: 120px; height: 4px; border-radius: 999px;
  background: linear-gradient(90deg, var(--bhbr-p-accent), #175364);
  box-shadow: 0 2px 8px rgba(31,111,139,.25);
}

.bhbr-principle{
  position: relative; overflow: hidden; border: 1px solid #e9eef2;
  border-radius: 16px; background:
    linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.bhbr-principle::before{
  content:""; position:absolute; inset:0 0 0 auto; width:6px;
  background: linear-gradient(180deg, var(--bhbr-p-accent), #175364);
  opacity:.9;
}
.bhbr-principle:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(31,111,139,.10);
  border-color: #dbe7ef;
}

.bhbr-principle-num{
  position:absolute; right:12px; top:8px; font-weight:800; line-height:1;
  font-size: 3rem; letter-spacing:-.02em; color: rgba(31,111,139,.10);
  pointer-events:none; user-select:none;
}
@media (min-width: 992px){ .bhbr-principle-num{ font-size: 3.5rem; } }

.bhbr-principle-icon{
  width: 44px; height: 44px; border-radius: 50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: var(--bhbr-accent-2); color: var(--bhbr-p-accent);
  box-shadow: inset 0 0 0 1px rgba(31,111,139,.15);
}

/* compact checklist inside principle cards */
.bhbr-list-min{ list-style:none; padding-left:0; margin:0; }
.bhbr-list-min li{ display:flex; gap:.5rem; margin-bottom:.35rem; color:#5f676e; }
.bhbr-list-min i{ color: var(--bhbr-p-accent); flex: 0 0 auto; }

/* ===== Materials Guide styling ===== */
.bhbr-bg-woodtone{ background-color:#f4efe9; position:relative; } /* базовый цвет секции */
.bhbr-materials{ position:relative; }
.bhbr-materials .badge{ letter-spacing:.02em; }

/* wood overlay уже есть через .bhbr-bg-wood::before; добавим мягкий верхний градиент */
.bhbr-materials::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.85) 100%);
}

/* cards */
.bhbr-mat-card{
  border:1px solid #e8e3dc;
  border-radius:16px;
  background: #ffffff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative; overflow:hidden;
}
.bhbr-mat-card::before{
  content:""; position:absolute; inset:0 auto 0 0; width:6px;
  background: linear-gradient(180deg, #c89b6d, #8a6a4a); /* акцент под дерево */
  opacity:.9;
}
.bhbr-mat-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(138,106,74,.12);
  border-color: #e0d6cc;
}

/* icon circle */
.bhbr-mat-icon{
  width:44px; height:44px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: #fff7f0; color:#8a6a4a;
  box-shadow: inset 0 0 0 1px rgba(138,106,74,.2);
}

/* list inside card */
.bhbr-spec-list{ padding-left:0; list-style:none; margin:0 0 .75rem; }
.bhbr-spec-list li{ margin-bottom:.35rem; color:#5b5f63; }

/* chips */
.bhbr-mat-chips{ display:flex; flex-wrap:wrap; gap:.4rem; }
.bhbr-mat-chip{
  font-size:.825rem; padding:.25rem .55rem; border-radius:999px;
  background:#f1e9e2; color:#6b5240; border:1px solid #e7dbd0;
}

/* tips callout */
.bhbr-callout{
  background: #fff; border:1px dashed #d9cfc5; color:#5b5f63;
  border-radius:14px; padding:.9rem 1rem; display:flex; align-items:center;
  box-shadow: 0 6px 18px rgba(138,106,74,.08);
}
.bhbr-callout i{ color:#8a6a4a; }

/* ===== Callback 2-col block ===== */
.bhbr-feedback2 { position: relative; }
.bhbr-feedback2-figure { position: relative; min-height: 320px; height: 100%; }
.bhbr-feedback2-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bhbr-feedback2-caption{
  position: absolute; left: 12px; bottom: 12px;
  background: rgba(35,38,41,.75); color: #fff;
  padding: .35rem .6rem; border-radius: 999px; font-size: .8rem;
  backdrop-filter: blur(4px);
}

/* subtle accent border on the right column */
#callback .bg-white { border-left: 6px solid var(--bhbr-accent-2); }
@media (max-width: 991.98px){
  #callback .bg-white { border-left: none; border-top: 6px solid var(--bhbr-accent-2); }
}

/* optional: stronger section background (remove if not needed) */
#callback.bhbr-bg-mist{
  background: llinear-gradient(180deg, #6a5f64 0%, #cbc2c2 100%); 
}
/* ===== Rich background for Callback section ===== */
#callback.bhbr-bg-callback{
  position: relative;
  z-index: 0;
  /* базовый насыщенный фон (виден всегда) */
  background:
    radial-gradient(1200px 600px at 0% 0%, rgba(31,111,139,.22) 0%, rgba(31,111,139,.12) 38%, rgba(255,255,255,1) 75%),
    linear-gradient(180deg, #e2f0f6 0%, #d2e9f3 100%);
}

/* мягкая цветовая вуаль поверх базового градиента */
#callback.bhbr-bg-callback::before{
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(31,111,139,.14), rgba(23,83,100,.10));
  mix-blend-mode: multiply;
}

/* (опционально) если хочешь добавить паттерн поверх — раскомментируй:
#callback.bhbr-bg-callback::after{
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background-image: url('images/bg-lines.png');
  background-size: 600px; background-repeat: repeat;
  opacity: .15;
}
*/

/* усилим акцент на правой колонке для контраста */
#callback .bg-white { border-left: 8px solid rgba(31,111,139,.25); }
@media (max-width: 991.98px){
  #callback .bg-white { border-left: none; border-top: 8px solid rgba(31,111,139,.25); }
}

/* слегка поднимем насыщенность фото слева, чтобы не "выцветало" на новом фоне */
.bhbr-feedback2-img{ filter: saturate(1.08) contrast(1.03); }
/* ===== Packages v2: cleaner layout ===== */
#packages.bhbr-packages-v2{
  background:
    radial-gradient(880px 420px at 0% 0%, #eaf5fb 0%, rgba(234,245,251,0) 55%) no-repeat,
    linear-gradient(180deg, #f6fbfe 0%, #ffffff 100%);
}

/* cards */
.bhbr-pack-card2{
  border:1px solid #e6edf2; border-radius:18px; background:#fff;
  box-shadow: 0 4px 14px rgba(31,111,139,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  overflow:hidden;
}
.bhbr-pack-card2:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(31,111,139,.10);
  border-color:#dbe7ef;
}

/* ровная верхняя акцент-линия вместо диагоналей и боковых полос */
.bhbr-pack-topbar{
  height:6px; background: linear-gradient(90deg, var(--bhbr-accent), #175364);
}

/* header */
.bhbr-pack-icon{
  width:44px; height:44px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: var(--bhbr-accent-2); color: var(--bhbr-accent);
  box-shadow: inset 0 0 0 1px rgba(31,111,139,.15);
}
.bhbr-pack-name2{
  font-weight:800; letter-spacing:.2px; font-size:1.15rem;
  padding:.15rem .5rem; border-radius:8px;
  background: linear-gradient(180deg, #f1f8fb 0%, #e6f2f6 100%); color:#0d2a33;
}

/* featured chip вместо кривой ленты */
.bhbr-pack-chip{
  font-size:.75rem; padding:.25rem .6rem; border-radius:999px;
  background:#175364; color:#fff; box-shadow:0 6px 16px rgba(23,83,100,.25);
}

/* checklist ровный */
.bhbr-list-check2{ list-style:none; padding-left:0; margin:0; }
.bhbr-list-check2 li{ display:flex; gap:.55rem; margin-bottom:.45rem; color:#5f676e; }
.bhbr-list-check2 i{ flex:0 0 auto; color: var(--bhbr-accent); margin-top:.25rem; }

/* одинаковая ширина кнопок, выравнивание снизу */
.bhbr-pack-btn{ min-width:132px; }

/* чуть плотнее на крупных экранах */
@media (min-width: 1400px){
  #packages .container{ max-width: 1200px; }
}
/* ===== Partners (brand wall) ===== */
.bhbr-partners{
  position: relative;
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(31,111,139,.06) 0%, rgba(31,111,139,0) 55%) no-repeat,
    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%); /* мягкий фон поверх паттерна */
}
.bhbr-partners-divider{
  width:120px;height:4px;border-radius:999px;
  background: linear-gradient(90deg, var(--bhbr-accent), #175364);
  box-shadow:0 2px 8px rgba(31,111,139,.25);
}

/* brand tiles */
.bhbr-brandtile{
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:.9rem 1rem; min-height:56px;
  border:1px solid #e6edf2; border-radius:999px; background:#ffffff;
  font-weight:700; color:#2f4550; letter-spacing:.2px;
  box-shadow: 0 3px 12px rgba(31,111,139,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  user-select:none;
}
.bhbr-brandtile:hover{ transform: translateY(-2px); box-shadow: 0 10px 22px rgba(31,111,139,.12); border-color:#dbe7ef; }
.bhbr-brandtile:active{ transform: translateY(0); }
@media (min-width:992px){ .bhbr-brandtile{ min-height:64px; padding:1rem 1.25rem; } }

/* тёмная тема для очень светлых фонов (если понадобится) */
/* .bhbr-partners.dark .bhbr-brandtile{ background:#0f1e24; color:#e8f2f6; border-color:#14303a; } */
/* ===== Partners: photo background (with readable overlay) ===== */
.bhbr-bg-partners{
  position: relative;
  background-color: #f5fafc; /* базовый цвет виден даже без изображения */
  z-index: 0;
}
.bhbr-bg-partners::before{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background-image: url('images/bg-partners.jpg'); /* положи файл в /images */
  background-size: cover; background-position: center; background-repeat: no-repeat;
  opacity: .28;                 /* мягкая видимость фото */
  filter: saturate(1.05) contrast(1.03);
}
.bhbr-bg-partners::after{
  content: ""; position: absolute; inset: 0; z-index: -1;
  /* светлый градиент для контраста текста и тайлов */
  background: linear-gradient(180deg, rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 52%) 100%);
}
/* На мобилках без "fixed" для стабильности */
@media (max-width: 991.98px){
  .bhbr-bg-partners::before{ background-attachment: scroll; }
}

/* ===== FAQ styling ===== */
.bhbr-faq{
  position:relative;
  background:
    radial-gradient(880px 420px at 0% 0%, rgba(31,111,139,.06) 0%, rgba(31,111,139,0) 55%) no-repeat,
    linear-gradient(180deg, #f8fbfd 0%, #ffffff 100%);
}
.bhbr-faq-divider{
  width:120px;height:4px;border-radius:999px;
  background:linear-gradient(90deg, var(--bhbr-accent), #175364);
  box-shadow:0 2px 8px rgba(31,111,139,.25);
}

/* accordion container */
.bhbr-faq-accordion .accordion-item{
  border:1px solid #e6edf2; border-radius:16px; overflow:hidden;
  background:#fff; box-shadow:0 4px 14px rgba(31,111,139,.06);
  margin-bottom:12px;
}
.bhbr-faq-accordion .accordion-item:last-child{ margin-bottom:0; }

/* button */
.bhbr-faq-accordion .accordion-button{
  padding:1rem 1.1rem 1rem .9rem; gap:.6rem;
  background:#fff; color:#0d2a33; font-weight:700;
  box-shadow:none; outline:0;
}
.bhbr-faq-accordion .accordion-button:not(.collapsed){
  background:linear-gradient(180deg,#ffffff 0%,#f2f8fb 100%);
  color:#0d2a33; border-bottom:1px solid #e9f0f4;
}
.bhbr-faq-accordion .accordion-button:focus{ box-shadow:0 0 0 .25rem rgba(31,111,139,.15); }

/* remove Bootstrap caret */
.bhbr-faq-accordion .accordion-button::after{ display:none; }

/* custom icon */
.bhbr-faq-ico{
  width:28px;height:28px;border-radius:8px; flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--bhbr-accent-2); color:var(--bhbr-accent);
  box-shadow: inset 0 0 0 1px rgba(31,111,139,.18);
}

/* body */
.bhbr-faq-accordion .accordion-body{
  color:#5f676e; padding:1rem 1.1rem;
}
/* ===== Footer (BrightHarbor) ===== */
.bhbr-footer{
  position: relative;
  background: radial-gradient(1200px 600px at 0% 0%, #0f1e24 0%, #0c171c 55%) no-repeat,
              linear-gradient(180deg, #0c171c 0%, #0a1418 100%);
}
.bhbr-footer-cta{
  background: linear-gradient(90deg, rgba(230,242,246,.12), rgba(255,255,255,.05));
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: .9rem 0;
}
.bhbr-footer-logo{
  width: 36px; height: 36px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.12); color: #e7f3f8;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.bhbr-footer-title{
  text-transform: uppercase; letter-spacing: .08em;
  font-size: .8rem; color:#cfe3ee; margin-bottom:.75rem;
}
.bhbr-footer-list{ list-style: none; padding-left: 0; margin: 0; }
.bhbr-footer-list li{ margin-bottom: .35rem; }
.bhbr-footer-list a{ color: #b8ced9; text-decoration: none; }
.bhbr-footer-list a:hover{ color: #e7f3f8; text-decoration: underline; }

.bhbr-footer-socialbtn{
  width: 36px; height: 36px; border-radius: 10px;
  display:inline-flex; align-items:center; justify-content:center;
  color:#e7f3f8; background: rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
  transition: transform .18s ease, background .18s ease;
}
.bhbr-footer-socialbtn:hover{ transform: translateY(-2px); background: rgba(255,255,255,.14); }

.bhbr-footer-form .form-control{
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  color:#e7f3f8;
}
.bhbr-footer-form .form-control::placeholder{ color:#b3c6cf; opacity:.9; }
.bhbr-footer-form .btn{ border-color:#e7f3f8; color:#0a1418; background:#e7f3f8; }
.bhbr-footer-form .btn:hover{ background:#d9edf5; }

.bhbr-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.08);
  padding: .9rem 0;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.04));
}

/* Back-to-top */
.bhbr-totop{
  position: fixed; right: 18px; bottom: 18px; z-index: 1040;
  width: 40px; height: 40px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bhbr-accent); color: #fff; text-decoration: none;
  box-shadow: 0 10px 22px rgba(31,111,139,.35);
  opacity: 0; transform: translateY(8px); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.bhbr-totop.is-visible{ opacity: 1; transform: none; pointer-events: all; }
.bhbr-totop:hover{ filter: brightness(1.05); }
/* ===== Cookie Banner (no localStorage) ===== */
.bhbr-cookiebanner{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1080;
  padding: 12px; background: rgba(35,38,41,.95); color:#fff;
  backdrop-filter: blur(6px);
  box-shadow: 0 -10px 26px rgba(0,0,0,.2);
}
.bhbr-cookiebanner-inner{
  max-width: 1100px; margin: 0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.bhbr-cookiebanner-text{ font-size:.95rem; line-height:1.4; }
.bhbr-cookiebanner-link{ color:#bfe7f6; text-decoration: underline; text-underline-offset:2px; }
.bhbr-cookiebanner-actions{ display:flex; gap:8px; flex:0 0 auto; }
@media (max-width: 768px){
  .bhbr-cookiebanner-inner{ flex-direction:column; align-items:flex-start; }
  .bhbr-cookiebanner-actions{ width:100%; justify-content:flex-end; }
}

