/* =========================================================
   BAYVIEW DOWNINGS — MASTER STYLESHEET
   Shared stylesheet for Home, Guesthouse, Self-Catering,
   Tilly's Restaurant, Things To Do and Contact
   ========================================================= */

/* =========================================
   BAYVIEW HOMEPAGE - FULL WIDTH FIX
   ========================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: clip;
}

.wp-site-blocks,
.wp-block-post-content,
.entry-content,
main {
    width: 100%;
    max-width: none !important;
}

/* Remove WordPress content width restriction */
.wp-block-post-content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* BayView homepage sections */
.wp-block-post-content > .bv-hero-wrap,
.wp-block-post-content > .bayview-below-search,
.bv-hero-wrap,
.bayview-below-search {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.bv-hero-wrap,
.bv-hero-wrap *,
.bayview-below-search,
.bayview-below-search *,
.bayview-below-search *::before,
.bayview-below-search *::after {
  box-sizing: border-box;
}

.bv-hero-wrap,
.bayview-below-search {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: #f7f2ea;
  color: #24384f;
}

.bv-hero-wrap a,
.bayview-below-search a {
  color: inherit;
  text-decoration: none;
}

/* HERO */
.bv-hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin: 0;
  background: #011E41;
}

.bv-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 85%;
  z-index: 0;
}

.bv-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(16,40,64,0.82), rgba(16,40,64,0.45), rgba(16,40,64,0.15));
  z-index: 1;
}

.bv-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 20px 85px;
}

.bv-hero-content {
  max-width: 720px;
}

.bv-hero-eyebrow {
  margin: 0 0 20px;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #d1a85a;
  font-weight: 700;
}

.bv-hero-title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 82px;
  line-height: 0.98;
  letter-spacing: -1.8px;
  font-weight: 500;
  color: #ffffff;
}

.bv-hero-title em {
  display: block;
  margin-top: 5px;
  color: #d1a85a;
  font-style: italic;
}

.bv-hero-text {
  margin: 30px 0 0;
  max-width: 590px;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255,255,255,0.9);
}

.bv-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}


/* PRIMARY — GOLD */
.bv-hero-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 26px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: all 0.25s ease;
  overflow: hidden;
}

/* subtle glow ring */
.bv-hero-btn::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(120deg, rgba(255,255,255,0.5), rgba(255,255,255,0));
  opacity: 0.25;
  pointer-events: none;
}

/* inner soft shine */
.bv-hero-btn::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background: linear-gradient(to bottom, rgba(255,255,255,0.25), rgba(255,255,255,0));
  pointer-events: none;
}

/* Primary (gold) */
.bv-hero-btn-primary {
  background: rgba(216, 173, 87, 0.88); /* was solid */
  color: #011E41;
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 8px 20px rgba(16,40,64,0.18);
}

.bv-hero-btn-primary:hover {
  background: rgba(216, 173, 87, 0.98);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(16,40,64,0.28);
}

/* Secondary (light blue) */
.bv-hero-btn-secondary {
  background: rgba(143, 192, 221, 0.75); /* softer */
  color: #011E41;
  border: 1px solid rgba(255,255,255,0.4);
  box-shadow: 0 8px 20px rgba(16,40,64,0.16);
}

.bv-hero-btn-secondary:hover {
  background: rgba(143, 192, 221, 0.95);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(16,40,64,0.25);
}
/* SECTIONS */
.bv-section {
  padding: 78px 20px;
}

.bv-section-white {
  background: #fffdf9;
}

.bv-section-soft {
  background: #f7f2ea;
}

.bv-container {
  max-width: 1180px;
  margin: 0 auto;
}

.bv-narrow {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.bv-section-soft .bv-narrow::before,
.bv-section-white .bv-narrow::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -28px;
  width: min(720px, 100%);
  height: 150px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(176,122,60,0.13), rgba(255,255,255,0));
  pointer-events: none;
  z-index: 0;
  opacity: 0.45;
  filter: blur(18px);
}

.bv-narrow > * {
  position: relative;
  z-index: 1;
}

.bv-eyebrow {
  margin: 0 0 12px;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #b07a3c;
  font-weight: 700;
}

.bv-title {
  margin: 0 0 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  line-height: 1.12;
  font-weight: 500;
  color: #132b47;
}

.bv-text {
  margin: 0;
  font-size: 17px;
  line-height: 1.8;
  color: #334960;
}

.bv-divider {
  width: 120px;
  height: 1px;
  margin: 0 auto 26px;
  background: linear-gradient(to right, rgba(176,122,60,0), rgba(176,122,60,0.75), rgba(176,122,60,0));
  position: relative;
}

.bv-divider::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -4px;
  width: 9px;
  height: 9px;
  border: 1px solid #b07a3c;
  background: #fffdf9;
  transform: translateX(-50%) rotate(45deg);
}

/* GRIDS */
.bv-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.bv-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* CARDS */
.bv-card,
.bv-property-card {
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(16,40,64,0.11);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.bv-card:hover,
.bv-property-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 48px rgba(16,40,64,0.16);
}

.bv-card-image-link,
.bv-property-card > a {
  display: block;
  overflow: hidden;
  line-height: 0;
}

.bv-card-image,
.bv-property-image {
  width: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.bv-card-image {
  height: 330px;
}

.bv-property-image {
  height: 245px;
}

.bv-card:hover .bv-card-image,
.bv-property-card:hover .bv-property-image {
  transform: scale(1.05);
}

.bv-card-body {
  padding: 34px 36px 38px;
}

.bv-property-body {
  padding: 26px 26px 28px;
}

.bv-card-subtitle {
  margin: 0 0 12px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #b07a3c;
  font-weight: 700;
}

.bv-card-title,
.bv-property-title,
.bv-feature-title {
  font-family: Georgia, "Times New Roman", serif;
  color: #132b47;
  font-weight: 500;
}

.bv-card-title {
  margin: 0 0 16px;
  font-size: 30px;
  line-height: 1.18;
}

.bv-property-title {
  margin: 0 0 12px;
  font-size: 24px;
  line-height: 1.22;
}

.bv-card-text {
  margin: 0 0 26px;
  font-size: 16px;
  line-height: 1.78;
  color: #334960;
}

.bv-property-text {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.72;
  color: #334960;
}

/* LINKS */
.bv-button-row,
.bv-property-link-row {
  display: flex;
  justify-content: flex-end;
}

.bv-button,
.bv-link {
  position: relative;
  display: inline-block;
  padding-bottom: 5px;
  font-size: 15px;
  font-weight: 700;
  color: #132b47 !important;
}

.bv-button::before,
.bv-link::before {
  content: "›";
  margin-right: 7px;
  color: #b07a3c;
}

.bv-button::after,
.bv-link::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #b07a3c;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.bv-button:hover::after,
.bv-link:hover::after {
  transform: scaleX(1);
}

/* FEATURES */
.bv-feature-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
}

.bv-feature {
  padding: 20px 22px;
  text-align: center;
  border-right: 1px solid rgba(176,122,60,0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bv-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(16,40,64,0.08);
}

.bv-feature:last-child {
  border-right: none;
}

.bv-feature-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  border-radius: 50%;
  border: 1px solid rgba(176,122,60,0.35);
  background: #fffaf3;
  color: #b07a3c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

.bv-feature-title {
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.2;
}

.bv-feature-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #334960;
}


.bv-discover-wrap {
  border-radius: 24px;
  background: #011E41;
  overflow: hidden;
}

.bv-discover-wrap,
.bv-discover-wrap * {
  color: #ffffff !important;
}

.bv-discover-wrap .bv-eyebrow {
  color: #b07a3c !important;
}

.bv-discover-wrap .bv-divider::after {
  background: #011E41;
}

.bv-discover {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 38px;
  align-items: center;
  padding: 52px 42px;
}

.bv-discover-image {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}

.bv-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.bv-tag {
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.13);
  color: #fff;
  font-size: 14px;
}

/* AWARDS SCROLL STRIP */
.bv-awards-grid {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 6px 4px 22px;
  margin: 0 auto 34px;
  max-width: 980px;
}

.bv-awards-grid::-webkit-scrollbar {
  height: 8px;
}

.bv-awards-grid::-webkit-scrollbar-thumb {
  background: rgba(16,40,64,0.25);
  border-radius: 99px;
}

.bv-award-slide {
  flex: 0 0 210px;
  width: 210px;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  scroll-snap-align: start;
  box-shadow: 0 12px 28px rgba(16,40,64,0.12);
  background: #0f3e8c;
}

.bv-award-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* STATIC REVIEWS */
.bv-review-grid-clean {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 980px;
  margin: 34px auto 0;
}

.bv-review {
  background: linear-gradient(180deg, #ffffff, #f8fbfd);
  border: 1px solid rgba(15,62,140,0.14);
  border-radius: 22px;
  padding: 28px 26px;
  box-shadow: 0 12px 28px rgba(16,40,64,0.08);
  text-align: left;
  position: relative;
}

.bv-review::before {
  content: "“";
  position: absolute;
  top: 14px;
  right: 22px;
  font-family: Georgia, serif;
  font-size: 58px;
  line-height: 1;
  color: #6FA8DC;
text-shadow: 0 0 12px rgba(176,122,60,0.15);
opacity: 0.35;
}

.bv-review-stars {
  color: #b07a3c;
  letter-spacing: 3px;
  font-size: 14px;
  margin-bottom: 18px;
}

.bv-quote {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1.55;
  color: #132b47;
}

.bv-review-label {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #6FA8DC;
  font-weight: 700;
}

@media (max-width: 700px) {
  .bv-review-grid-clean {
    grid-template-columns: 1fr;
  }
}






/* RESPONSIVE */
@media (max-width: 1000px) {
  .bv-grid-3,
  .bv-feature-grid,
  .bv-awards-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .bv-feature {
    border-right: none;
    border-bottom: 1px solid rgba(176,122,60,0.2);
  }
}

@media (max-width: 900px) {
  .bv-hero {
    min-height: 68vh;
  }

  .bv-hero-inner {
    padding: 80px 18px 120px;
  }

}

@media (max-width: 820px) {
  .bv-section {
    padding: 58px 16px;
  }

  .bv-grid-2,
  .bv-grid-3,
  .bv-feature-grid,
  .bv-discover,
  .bv-awards-grid,
  .bv-review-grid-clean {
    grid-template-columns: 1fr;
  }

  .bv-title {
    font-size: 34px;
  }

  .bv-card-image,
  .bv-discover-image {
    height: 280px;
  }

  .bv-button-row,
  .bv-property-link-row {
    justify-content: flex-start;
  }

  .bv-discover {
    padding: 38px 24px;
  }
}

@media (max-width: 700px) {
    .bv-hero {
        min-height: 558px;
        height: auto;
        align-items: center;
    }

    .bv-hero-video {
        object-position: center center;
    }

    .bv-hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(5, 28, 52, 0.80) 0%,
            rgba(5, 28, 52, 0.54) 48%,
            rgba(5, 28, 52, 0.16) 100%
        );
    }

    .bv-hero-inner {
        width: 100%;
        padding: 70px 19px 72px;
    }

    .bv-hero-content {
        width: 100%;
        max-width: none;
    }

    .bv-hero-eyebrow {
        margin: 0 0 22px;
        font-size: 11px;
        line-height: 1.3;
        letter-spacing: 2.5px;
        white-space: nowrap;
    }

    .bv-hero-title {
        max-width: 100%;
        margin: 0;
        font-size: 44px;
        line-height: 1.08;
        letter-spacing: -0.7px;
    }

    .bv-hero-title em {
        display: inline;
        margin: 0;
        font-size: inherit;
        line-height: inherit;
    }

    .bv-hero-text {
        max-width: 100%;
        margin: 30px 0 0;
        font-size: 16px;
        line-height: 1.75;
    }

    .bv-hero-actions {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 14px;
        margin-top: 34px;
    }

    .bv-hero-btn {
        width: 100%;
        min-height: 54px;
        padding: 16px 24px;
        font-size: 14px;
    }

    .bv-section {
        padding: 48px 12px;
    }

    .bv-title {
        font-size: 30px;
    }

    .bv-card-title {
        font-size: 25px;
    }

    .bv-property-title {
        font-size: 22px;
    }

    .bv-card-body,
    .bv-property-body {
        padding: 22px 18px 24px;
    }

    .bv-card-image,
    .bv-property-image {
        height: 235px;
    }

    .bv-restaurant-feature {
        border-radius: 20px;
    }

    .bv-restaurant-copy {
        padding: 42px 24px;
    }

    .bv-restaurant-actions .bv-hero-btn {
        width: 100%;
    }

    .bv-restaurant-image,
    .bv-restaurant-image img {
        min-height: 280px;
    }
}

@media (max-width: 520px) {
  .bv-section {
    padding: 48px 12px;
  }

  .bv-title {
    font-size: 30px;
  }

  .bv-card-title {
    font-size: 25px;
  }

  .bv-property-title {
    font-size: 22px;
  }

  .bv-card-body,
  .bv-property-body {
    padding: 22px 18px 24px;
  }

  .bv-card-image,
  .bv-property-image {
    height: 235px;
  }
}
.bv-feature-icon svg {
  width: 26px;
  height: 26px;
  transition: all 0.3s ease;
}

.bv-feature:hover svg {
  stroke: #6FA8DC; /* light blue from logo */
  transform: scale(1.12);
}


/* HOMEPAGE RESTAURANT FEATURE */
.bv-restaurant {
  background: #fffdf9;
}

.bv-restaurant-feature {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 470px;
  max-width: 1040px;
  margin: 0 auto;
  border-radius: 26px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(209,168,90,.18), transparent 34%),
    linear-gradient(135deg, #011E41 0%, #06284e 100%);
  box-shadow: 0 22px 56px rgba(16,40,64,.18);
}

.bv-restaurant-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 52px;
}

.bv-restaurant-copy .bv-eyebrow {
  color: #d1a85a;
}

.bv-restaurant-copy .bv-title {
  color: #ffffff;
  font-size: clamp(38px, 4vw, 52px);
}

.bv-restaurant-copy .bv-text {
  max-width: 560px;
  color: rgba(255,255,255,.86);
}

.bv-restaurant-copy .bv-divider {
  margin-left: auto;
  margin-right: auto;
}

.bv-restaurant-copy .bv-divider::after {
  background: #011E41;
}

.bv-restaurant-image {
  position: relative;
  min-height: 470px;
  overflow: hidden;
}

.bv-restaurant-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(1,30,65,.45), rgba(1,30,65,.02) 45%);
  pointer-events: none;
}

.bv-restaurant-image img {
  width: 100%;
  height: 100%;
  min-height: 470px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.bv-restaurant-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 30px;
}

.bv-restaurant-actions .bv-hero-btn-primary {
  background: rgba(216,173,87,.96);
}

.bv-restaurant-note {
  margin-top: 18px;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,.65);
}

@media (max-width: 900px) {
  .bv-restaurant-feature {
    grid-template-columns: 1fr;
  }

  .bv-restaurant-copy {
    padding: 50px 38px;
    text-align: center;
  }

  .bv-restaurant-copy .bv-divider {
    margin-left: auto;
    margin-right: auto;
  }

  .bv-restaurant-copy .bv-text {
    margin-left: auto;
    margin-right: auto;
  }

  .bv-restaurant-actions {
    justify-content: center;
  }

  .bv-restaurant-image,
  .bv-restaurant-image img {
    min-height: 360px;
  }
}

@media (max-width: 520px) {
  .bv-restaurant-feature {
    border-radius: 20px;
  }

  .bv-restaurant-copy {
    padding: 42px 24px;
  }

  .bv-restaurant-actions .bv-hero-btn {
    width: 100%;
  }

  .bv-restaurant-image,
  .bv-restaurant-image img {
    min-height: 280px;
  }
}

/* =========================================================
   16. SITE HEADER
   ========================================================= */

.bv-site-header,
.bv-site-header *,
.bv-site-header *::before,
.bv-site-header *::after {
    box-sizing: border-box;
}

.bv-site-header {
    position: relative;
    z-index: 9999;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
    border: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.bv-header-inner {
    width: 100%;
    max-width: 1280px;
    min-height: 96px;
    margin: 0 auto;
    padding: 10px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.bv-header-logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none;
}

.bv-header-logo img {
    display: block;
    width: auto;
    height: 76px;
    max-width: 220px;
    object-fit: contain;
}

.bv-header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 26px;
    min-width: 0;
}

.bv-header-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
}

.bv-header-nav a {
    position: relative;
    display: inline-block;
    padding: 10px 0;
    color: #011e41;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.bv-header-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 0;
    height: 2px;
    background: #d8ad59;
    transition: width 0.25s ease;
}

.bv-header-nav a:hover::after,
.bv-header-nav a:focus::after {
    width: 100%;
}

.bv-header-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 25px;
    background: #d8ad59;
    color: #011e41 !important;
    border-radius: 30px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bv-header-book:hover,
.bv-header-book:focus {
    background: #e3bb6b;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(1, 30, 65, 0.12);
}

.bv-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 8px;
    background: transparent;
    border: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.bv-menu-toggle span {
    display: block;
    width: 27px;
    height: 2px;
    margin: 6px auto;
    background: #011e41;
}

@media (max-width: 1200px) {
    .bv-header-inner {
        padding-left: 24px;
        padding-right: 24px;
        gap: 24px;
    }

    .bv-header-logo img {
        height: 68px;
        max-width: 200px;
    }

    .bv-header-right {
        gap: 18px;
    }

    .bv-header-nav {
        gap: 18px;
    }

    .bv-header-nav a {
        font-size: 12px;
        letter-spacing: 0.6px;
    }

    .bv-header-book {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 950px) {
    .bv-header-inner {
        min-height: 80px;
        padding: 8px 20px;
    }

    .bv-header-logo img {
        height: 62px;
        max-width: 185px;
    }

    .bv-menu-toggle {
        display: block;
    }

    .bv-header-right {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        padding: 18px 22px 24px;
        background: #ffffff;
        border-top: 1px solid rgba(1, 30, 65, 0.08);
        box-shadow: 0 12px 24px rgba(1, 30, 65, 0.12);
    }

    .bv-header-right.bv-menu-open {
        display: block;
    }

    .bv-header-nav {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .bv-header-nav a {
        display: block;
        width: 100%;
        padding: 14px 4px;
        border-bottom: 1px solid rgba(1, 30, 65, 0.08);
        font-size: 13.5px;
        letter-spacing: 0.7px;
    }

    .bv-header-nav a::after {
        display: none;
    }

    .bv-header-book {
        display: flex;
        width: 100%;
        min-height: 48px;
        margin-top: 18px;
        font-size: 13.5px;
        letter-spacing: 0.8px;
    }
}

@media (max-width: 480px) {
    .bv-header-inner {
        min-height: 74px;
        padding: 7px 15px;
    }

    .bv-header-logo img {
        height: 56px;
        max-width: 165px;
    }

    .bv-header-right {
        padding-left: 18px;
        padding-right: 18px;
    }
}

/* Mobile-only hero line break */
.bv-mobile-break {
    display: none;
}

@media (max-width: 700px) {
    .bv-mobile-break {
        display: block;
    }
}

/* =========================================================
   17. PROMOTIONAL BAR
   Full-width announcement strip between header and hero
   ========================================================= */

.bv-promo {
    position: relative;
    z-index: 50;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #011e41;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.bv-promo-track {
    position: relative;
    width: 100%;
    min-height: 50px;
}

.bv-promo-slide {
    display: none;
    width: 100%;
    min-height: 50px;
    padding: 8px 72px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    text-align: center;
}

.bv-promo-slide.is-active {
    display: flex;
}

.bv-promo-label {
    color: #d8ad59;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    white-space: nowrap;
}

.bv-promo-separator {
    color: rgba(216,173,89,0.65);
    font-size: 12px;
}

.bv-promo-text {
    color: rgba(255,255,255,0.96);
    font-size: 14px;
    line-height: 1.4;
}

.bv-promo-link {
    position: relative;
    color: #d8ad59 !important;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.bv-promo-link:hover,
.bv-promo-link:focus {
    color: #efd18f !important;
    text-decoration: underline;
}

.bv-promo-arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 42px;
    height: 42px;
    padding: 0;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.75);
    background: transparent;
    border: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.bv-promo-arrow:hover,
.bv-promo-arrow:focus {
    color: #d8ad59;
}

.bv-promo-prev {
    left: 18px;
}

.bv-promo-next {
    right: 18px;
}

/* Mobile promo */
@media (max-width: 700px) {
    .bv-promo-track,
    .bv-promo-slide {
        min-height: 78px;
    }

    .bv-promo-slide {
        padding: 10px 48px;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
    }

    .bv-promo-label {
        font-size: 10px;
        line-height: 1.25;
        letter-spacing: 1.5px;
        white-space: normal;
    }

    .bv-promo-separator {
        display: none;
    }

    .bv-promo-text {
        font-size: 12px;
        line-height: 1.35;
    }

    .bv-promo-link {
        margin-top: 2px;
        font-size: 10px;
        letter-spacing: 0.6px;
    }

    .bv-promo-arrow {
        width: 38px;
        height: 48px;
        font-size: 25px;
    }

    .bv-promo-prev {
        left: 4px;
    }

    .bv-promo-next {
        right: 4px;
    }
}

/* =========================================================
   18. PROMOTIONAL BAR - FEATURED OFFER TREATMENT
   ========================================================= */

.bv-promo-slide {
    min-height: 58px;
    gap: 12px;
}

.bv-promo-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border: 1px solid rgba(216, 173, 89, 0.72);
    border-radius: 999px;
    color: #d8ad59;
    font-size: 11px;
    letter-spacing: 1.5px;
}

.bv-promo-text {
    font-size: 14px;
}

.bv-promo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 15px;
    border-radius: 999px;
    background: #d8ad59;
    color: #011e41 !important;
    font-size: 11px;
    letter-spacing: 0.7px;
    text-decoration: none;
}

.bv-promo-link:hover,
.bv-promo-link:focus {
    background: #e3bb6b;
    color: #011e41 !important;
    text-decoration: none;
}

@media (max-width: 700px) {
    .bv-promo-track,
    .bv-promo-slide {
        min-height: 122px;
    }

    .bv-promo-slide {
        padding: 13px 48px;
        gap: 6px;
    }

    .bv-promo-label {
        padding: 4px 9px;
        font-size: 9px;
        line-height: 1.2;
        letter-spacing: 1.4px;
    }

    .bv-promo-text {
        max-width: 330px;
        font-size: 13px;
        line-height: 1.35;
    }

    .bv-promo-link {
        min-height: 32px;
        margin-top: 3px;
        padding: 7px 14px;
        font-size: 10px;
    }
}

/* =========================================================
   19. PROMOTIONAL BAR - ARROW & CONTENT TIDY
   ========================================================= */

.bv-promo-slide {
    padding-left: 86px;
    padding-right: 86px;
}

.bv-promo-text {
    max-width: 620px;
}

.bv-promo-arrow,
.bv-promo-arrow:hover,
.bv-promo-arrow:focus,
.bv-promo-arrow:focus-visible {
    outline: none;
    box-shadow: none;
    border: 0;
    background: transparent;
}

.bv-promo-prev {
    left: 16px;
}

.bv-promo-next {
    right: 16px;
}

@media (max-width: 700px) {
    .bv-promo-slide {
        padding-left: 52px;
        padding-right: 52px;
    }

    .bv-promo-text {
        width: 100%;
        max-width: 315px;
        margin-left: auto;
        margin-right: auto;
    }

    .bv-promo-arrow {
        width: 32px;
        height: 44px;
        font-size: 24px;
    }

    .bv-promo-prev {
        left: 5px;
    }

    .bv-promo-next {
        right: 5px;
    }
}

/* =========================================================
   20. PROMOTIONAL BAR - BALANCED MOBILE ARROWS
   ========================================================= */

@media (max-width: 700px) {
    .bv-promo-arrow,
    .bv-promo-arrow:hover,
    .bv-promo-arrow:focus,
    .bv-promo-arrow:focus-visible {
        width: 28px;
        height: 40px;
        color: rgba(255, 255, 255, 0.62);
        background: transparent;
        border: 0;
        outline: none;
        box-shadow: none;
        font-size: 21px;
        opacity: 1;
    }

    .bv-promo-arrow:hover,
    .bv-promo-arrow:focus {
        color: rgba(255, 255, 255, 0.88);
    }

    .bv-promo-prev {
        left: 18px;
    }

    .bv-promo-next {
        right: 18px;
    }
}

/* =========================================================
   21. TABLET / SMALL LAPTOP REFINEMENTS
   701px - 950px
   ========================================================= */

@media (min-width: 701px) and (max-width: 950px) {

    /* HERO */
    .bv-hero {
        min-height: 650px;
    }

    .bv-hero-inner {
        width: 100%;
        max-width: 100%;
        padding: 72px 28px 90px;
    }

    .bv-hero-content {
        width: 100%;
        max-width: 650px;
    }

    .bv-hero-eyebrow {
        margin-bottom: 18px;
        font-size: 11px;
        letter-spacing: 2.4px;
    }

    .bv-hero-title {
        max-width: 650px;
        font-size: 56px;
        line-height: 1.02;
        letter-spacing: -1px;
    }

    .bv-hero-title em {
        display: block;
        margin-top: 4px;
    }

    .bv-hero-text {
        max-width: 570px;
        margin-top: 26px;
        font-size: 16px;
        line-height: 1.65;
    }

    .bv-hero-actions {
        flex-direction: row;
        width: auto;
        gap: 12px;
        margin-top: 26px;
    }

    .bv-hero-btn {
        width: auto;
        min-height: 48px;
        padding: 14px 24px;
    }

    /* PROMOTIONAL BAR */
    .bv-promo-track,
    .bv-promo-slide {
        min-height: 104px;
    }

    .bv-promo-slide {
        width: 100%;
        padding: 12px 62px;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        text-align: center;
    }

    .bv-promo-label {
        padding: 4px 10px;
        font-size: 10px;
        line-height: 1.2;
        letter-spacing: 1.5px;
        white-space: normal;
    }

    .bv-promo-separator {
        display: none;
    }

    .bv-promo-text {
        width: 100%;
        max-width: 560px;
        margin: 0 auto;
        font-size: 13px;
        line-height: 1.35;
        white-space: normal;
    }

    .bv-promo-link {
        min-height: 32px;
        margin-top: 2px;
        padding: 7px 15px;
        font-size: 10px;
    }

    .bv-promo-arrow,
    .bv-promo-arrow:hover,
    .bv-promo-arrow:focus,
    .bv-promo-arrow:focus-visible {
        width: 30px;
        height: 42px;
        color: rgba(255,255,255,0.62);
        background: transparent;
        border: 0;
        outline: none;
        box-shadow: none;
        font-size: 22px;
        opacity: 1;
    }

    .bv-promo-prev {
        left: 16px;
    }

    .bv-promo-next {
        right: 16px;
    }
}

/* =========================================================
   22. PROMOTIONAL BAR - TRUE CENTRE LAYOUT
   ========================================================= */

/* Arrows are independent of the centred offer content */
.bv-promo {
    position: relative;
}

.bv-promo-slide {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    text-align: center;
}

/* Keep the centre group centred to the viewport, not the arrows */
.bv-promo-slide.is-active {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Make the offer name read clearly */
.bv-promo-text strong {
    font-weight: 700;
}

/* Arrows occupy identical positions and never affect centring */
.bv-promo-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    transform: translateY(-50%);
}

.bv-promo-prev {
    left: 18px;
}

.bv-promo-next {
    right: 18px;
}


/* TABLET / SMALL LAPTOP */
@media (min-width: 701px) and (max-width: 950px) {

    .bv-promo-slide {
        min-height: 118px;
        padding: 14px 70px;
        flex-direction: column;
        gap: 5px;
    }

    .bv-promo-label {
        margin: 0 auto 1px;
    }

    .bv-promo-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        text-align: center;
    }

    .bv-promo-text strong {
        display: block;
        margin-bottom: 2px;
        font-size: 14px;
    }

    .bv-promo-link {
        margin: 4px auto 0;
    }

    .bv-promo-prev {
        left: 18px;
    }

    .bv-promo-next {
        right: 18px;
    }
}


/* MOBILE */
@media (max-width: 700px) {

    .bv-promo-slide {
        min-height: 126px;
        padding: 14px 58px;
        flex-direction: column;
        gap: 5px;
    }

    .bv-promo-label {
        margin: 0 auto 1px;
    }

    .bv-promo-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 330px;
        margin: 0 auto;
        text-align: center;
    }

    .bv-promo-text strong {
        display: block;
        margin-bottom: 2px;
        font-size: 13px;
    }

    .bv-promo-link {
        margin: 4px auto 0;
    }

    .bv-promo-prev {
        left: 18px;
    }

    .bv-promo-next {
        right: 18px;
    }
}

/* =========================================================
   23. PROMOTIONAL BAR - TIGHTER HEIGHT
   ========================================================= */

@media (min-width: 701px) and (max-width: 950px) {
    .bv-promo-track,
    .bv-promo-slide {
        min-height: 108px;
    }

    .bv-promo-slide {
        padding-top: 9px;
        padding-bottom: 9px;
    }
}

@media (max-width: 700px) {
    .bv-promo-track,
    .bv-promo-slide {
        min-height: 116px;
    }

    .bv-promo-slide {
        padding-top: 9px;
        padding-bottom: 9px;
    }
}

/* =========================================================
   24. PROMO DESKTOP TITLE / DESCRIPTION SEPARATOR
   ========================================================= */

@media (min-width: 951px) {
    .bv-promo-text {
        display: inline-flex;
        align-items: center;
        gap: 9px;
    }

    .bv-promo-description::before {
        content: "•";
        margin-right: 9px;
        color: #d8ad59;
        opacity: 0.7;
    }
}

/* =========================================================
   25. REMOVE GAP BETWEEN PROMO AND HERO
   WordPress Shortcode block followed by Custom HTML hero
   ========================================================= */

.wp-block-shortcode:has(.bv-promo) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    padding-bottom: 0 !important;
}

.wp-block-shortcode:has(.bv-promo) + .wp-block-html {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
}

.bv-promo,
.bv-promo-track,
.bv-promo-slide {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bv-hero-wrap,
.bv-hero {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bv-promo {
    padding-bottom: 0 !important;
}

.bv-hero-wrap {
    padding-top: 0 !important;
    border-top: 0 !important;
}

/* =========================================================
   26. REMOVE WORDPRESS EMPTY PARAGRAPH BETWEEN PROMO & HERO
   WordPress inserts an empty <p> between the promo shortcode
   output and the Custom HTML hero block.
   ========================================================= */

.entry-content > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    line-height: 0 !important;
}

/* =========================================================
   27. SITE FOOTER
   Shared full-width BayView footer
   ========================================================= */

.bv-site-footer,
.bv-site-footer *,
.bv-site-footer *::before,
.bv-site-footer *::after {
    box-sizing: border-box;
}

.bv-site-footer {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: #011e41;
    color: rgba(255,255,255,0.82);
    font-family: Arial, Helvetica, sans-serif;
}

.bv-footer-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: 64px 24px 48px;
    display: grid;
    grid-template-columns: 1.65fr 1fr 1fr 1.2fr;
    gap: 52px;
}

.bv-footer-brand {
    max-width: 330px;
}

.bv-footer-logo {
    display: inline-block;
    margin-bottom: 22px;
    line-height: 0;
}

.bv-footer-logo img {
    display: block;
    width: auto;
    height: 76px;
    max-width: 220px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.bv-footer-intro {
    margin: 0;
    max-width: 310px;
    font-size: 14px;
    line-height: 1.75;
    color: rgba(255,255,255,0.72);
}

.bv-footer-heading {
    margin: 8px 0 20px;
    color: #d8ad59;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 500;
}

.bv-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bv-footer-links li {
    margin: 0 0 12px;
}

.bv-site-footer a {
    color: rgba(255,255,255,0.82);
    text-decoration: none;
    transition: color 0.2s ease;
}

.bv-site-footer a:hover,
.bv-site-footer a:focus {
    color: #d8ad59;
}

.bv-footer-links a {
    font-size: 14px;
    line-height: 1.5;
}

.bv-footer-contact {
    margin: 0;
    font-size: 14px;
    line-height: 1.75;
    color: rgba(255,255,255,0.72);
}

.bv-footer-contact strong {
    color: #ffffff;
    font-weight: 600;
}

.bv-footer-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: 18px;
    padding: 10px 20px;
    border-radius: 999px;
    background: #d8ad59;
    color: #011e41 !important;
    font-size: 11px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.bv-footer-book:hover,
.bv-footer-book:focus {
    background: #e3bb6b;
    color: #011e41 !important;
}

.bv-footer-bottom {
    border-top: 1px solid rgba(216,173,89,0.28);
}

.bv-footer-bottom-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 24px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.bv-footer-copyright {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: rgba(255,255,255,0.55);
}

.bv-footer-legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 20px;
}

.bv-footer-legal a {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
}

/* Keep footer full width inside Twenty Twenty-Five constrained layouts */
.wp-site-blocks > .bv-site-footer,
.wp-block-template-part .bv-site-footer,
.bv-site-footer {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 950px) {
    .bv-footer-main {
        grid-template-columns: 1.5fr 1fr 1fr;
        gap: 42px 32px;
        padding-top: 52px;
    }

    .bv-footer-contact-column {
        grid-column: 1 / -1;
        padding-top: 8px;
        border-top: 1px solid rgba(255,255,255,0.1);
    }
}

@media (max-width: 700px) {
    .bv-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 38px 28px;
        padding: 46px 20px 38px;
    }

    .bv-footer-brand {
        grid-column: 1 / -1;
        max-width: none;
    }

    .bv-footer-logo img {
        height: 66px;
        max-width: 195px;
    }

    .bv-footer-contact-column {
        grid-column: 1 / -1;
    }

    .bv-footer-bottom-inner {
        padding: 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .bv-footer-legal {
        justify-content: flex-start;
        gap: 16px;
    }
}

@media (max-width: 480px) {
    .bv-footer-main {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 42px 20px 34px;
    }

    .bv-footer-brand,
    .bv-footer-contact-column {
        grid-column: auto;
    }

    .bv-footer-column {
        padding-bottom: 4px;
    }

    .bv-footer-heading {
        margin-bottom: 14px;
    }

    .bv-footer-links li {
        margin-bottom: 10px;
    }
}

/* =========================================================
   28. FOOTER POLISH — LARGER, CLEARER TYPOGRAPHY
   Keeps the existing layout; improves scale and balance.
   ========================================================= */

@media (min-width: 951px) {
    .bv-footer-main {
        padding-top: 58px;
        padding-bottom: 52px;
    }

    .bv-footer-logo img {
        height: 86px;
        max-width: 250px;
    }

    .bv-footer-intro {
        max-width: 330px;
        font-size: 15px;
        line-height: 1.7;
    }

    .bv-footer-heading {
        font-size: 18px;
        margin-bottom: 21px;
    }

    .bv-footer-links a,
    .bv-footer-contact {
        font-size: 14px;
    }

    .bv-footer-links li {
        margin-bottom: 13px;
    }

    .bv-footer-book {
        min-height: 44px;
        padding: 11px 22px;
        font-size: 11px;
    }
}

.bv-footer-bottom {
    border-top-color: rgba(216,173,89,0.42);
}

.bv-footer-copyright,
.bv-footer-legal a {
    font-size: 12.5px;
}

@media (max-width: 950px) {
    .bv-footer-logo img {
        height: 76px;
        max-width: 220px;
    }

    .bv-footer-intro {
        font-size: 14.5px;
    }

    .bv-footer-heading {
        font-size: 18px;
    }

    .bv-footer-links a,
    .bv-footer-contact {
        font-size: 14px;
    }
}

@media (max-width: 700px) {
    .bv-footer-logo img {
        height: 72px;
        max-width: 210px;
    }

    .bv-footer-heading {
        font-size: 18px;
    }

    .bv-footer-links a,
    .bv-footer-contact,
    .bv-footer-intro {
        font-size: 14px;
    }
}

/* =========================================================
   29. MOBILE FOOTER — COMPACT FINAL POLISH
   Shorter footer on phones; desktop/tablet unchanged.
   ========================================================= */

@media (max-width: 480px) {
    .bv-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 24px 22px;
        padding: 32px 17px 28px;
    }

    .bv-footer-brand {
        grid-column: 1 / -1;
        max-width: 280px;
    }

    .bv-footer-logo {
        margin-bottom: 14px;
    }

    .bv-footer-logo img {
        height: 60px;
        max-width: 180px;
    }

    .bv-footer-intro {
        max-width: 280px;
        font-size: 13px;
        line-height: 1.6;
    }

    .bv-footer-column {
        padding-bottom: 0;
    }

    .bv-footer-heading {
        margin: 2px 0 13px;
        font-size: 17px;
    }

    .bv-footer-links li {
        margin-bottom: 9px;
    }

    .bv-footer-links a,
    .bv-footer-contact {
        font-size: 13px;
        line-height: 1.55;
    }

    .bv-footer-contact-column {
        grid-column: 1 / -1;
        padding-top: 18px;
        margin-top: 2px;
    }

    .bv-footer-book {
        min-height: 40px;
        margin-top: 14px;
        padding: 10px 18px;
        font-size: 10px;
    }

    .bv-footer-bottom-inner {
        padding: 16px 17px 18px;
        gap: 9px;
    }

    .bv-footer-copyright {
        font-size: 11px;
        line-height: 1.5;
    }

    .bv-footer-legal {
        gap: 8px 18px;
    }

    .bv-footer-legal a {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        font-size: 11px;
    }
}















.bv-divider {
    position: relative !important;
    display: block !important;
    width: 78px !important;
    height: 12px !important;
    margin: 16px auto 22px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
}

.bv-divider::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background: rgba(216, 173, 89, 0.72) !important;
    transform: translateY(-50%) !important;
}

.bv-divider::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 7px !important;
    height: 7px !important;
    box-sizing: border-box !important;
    background: #f7f3eb !important;
    border: 1px solid #d8ad59 !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
    z-index: 2 !important;
}

/* White section centre fill */
.bv-section-white .bv-divider::after {
    background: #ffffff !important;
}

/* Soft/cream section centre fill */
.bv-section-soft .bv-divider::after {
    background: #f7f3eb !important;
}






/* Mobile spacing stays compact */
@media (max-width: 700px) {
    .bv-divider {
        width: 70px !important;
        height: 11px !important;
        margin: 14px auto 18px !important;
    }
}

@media (max-width: 480px) {
    .bv-divider {
        width: 66px !important;
        margin: 12px auto 16px !important;
    }
}


/* =========================================================
   34. THINGS TO DO PAGE — FULL WIDTH / RESPONSIVE
   ========================================================= */
.bv-things-page,
.bv-things-page *,
.bv-things-page *::before,
.bv-things-page *::after { box-sizing: border-box; }

.bv-things-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f7f3eb;
    color: #24384f;
    font-family: Arial, Helvetica, sans-serif;
}

.wp-block-post-content > .wp-block-html:has(.bv-things-page),
.entry-content > .wp-block-html:has(.bv-things-page) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bv-things-page a { text-decoration: none; }

.bv-things-hero {
    position: relative;
    width: 100%;
    min-height: 470px;
    margin: 0;
    padding: 90px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    background:
      linear-gradient(rgba(1,30,65,.58), rgba(1,30,65,.64)),
      url("/wp-content/uploads/2026/09/Ebikes.jpg") center/cover no-repeat;
}

.bv-things-hero .bv-things-kicker { color: #d8ad59; }
.bv-things-hero h1 {
    max-width: 900px;
    margin: 8px auto 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 6vw, 72px);
    line-height: 1.04;
    font-weight: 500;
    color: #fff;
}
.bv-things-hero > p:last-child {
    max-width: 760px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255,255,255,.94);
}

.bv-things-kicker {
    margin: 0 0 10px;
    color: #b07a3c;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.bv-things-container {
    width: min(100% - 40px, 1180px);
    margin: 0 auto;
    padding: 74px 0 70px;
}

.bv-things-intro {
    max-width: 820px;
    margin: 0 auto 52px;
    text-align: center;
}
.bv-things-intro h2 {
    margin: 0 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 500;
    color: #132b47;
}
.bv-things-intro > p:last-child {
    margin: 0 auto;
    max-width: 760px;
    font-size: 16px;
    line-height: 1.75;
}

.bv-things-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    margin: 0 0 60px;
}
.bv-things-card {
    overflow: hidden;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(16,40,64,.10);
}
.bv-things-card > img {
    display: block;
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.bv-things-card-content { padding: 28px 26px 30px; }
.bv-things-card-content h2 {
    margin: 0 0 15px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.18;
    font-weight: 500;
    color: #132b47;
}
.bv-things-card-content p {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.72;
    color: #334960;
}
.bv-things-card-content p:last-child { margin-bottom: 0; }

.bv-things-feature-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin: 0 0 60px;
}
.bv-things-feature-card {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border-radius: 22px;
    background: #011e41;
    box-shadow: 0 16px 38px rgba(16,40,64,.14);
}
.bv-things-feature-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bv-things-feature-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(1,30,65,.92), rgba(1,30,65,.18) 70%);
}
.bv-things-feature-overlay {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 34px;
    color: #fff;
}
.bv-things-feature-overlay .bv-things-kicker { color: #d8ad59; }
.bv-things-feature-overlay h2 {
    margin: 0 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 500;
    color: #fff;
}
.bv-things-feature-overlay > p:not(.bv-things-kicker) {
    margin: 0 0 18px;
    line-height: 1.65;
    color: rgba(255,255,255,.92);
}
.bv-things-feature-link {
    color: #d8ad59 !important;
    font-size: 13px;
    font-weight: 700;
}

.bv-things-food {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    align-items: stretch;
    overflow: hidden;
    margin: 0;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 16px 38px rgba(16,40,64,.10);
}
.bv-things-food-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 590px;
    object-fit: cover;
}
.bv-things-food-box { padding: 42px 42px 38px; }
.bv-things-food-box > h2 {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    font-weight: 500;
    color: #132b47;
}
.bv-things-food-intro {
    margin: 0 0 24px;
    font-size: 15px;
    line-height: 1.7;
}
.bv-things-tillys {
    margin: 0 0 25px;
    padding: 22px 24px;
    background: #f7f3eb;
    border: 1px solid rgba(216,173,89,.55);
    border-radius: 14px;
}
.bv-things-tillys h3 {
    margin: 0 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    color: #132b47;
}
.bv-things-tillys p:not(.bv-things-kicker) {
    margin: 0 0 13px;
    font-size: 14px;
    line-height: 1.65;
}
.bv-things-tillys-link { color: #132b47 !important; font-size: 13px; font-weight: 700; }
.bv-things-nearby-heading {
    margin: 0 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    color: #132b47;
}
.bv-things-food-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.bv-things-food-list li { border-bottom: 1px solid rgba(19,43,71,.13); }
.bv-things-food-list a {
    display: block;
    padding: 8px 0;
    color: #132b47 !important;
    font-size: 13px;
    line-height: 1.35;
}
.bv-things-food-list a::before { content: "•"; margin-right: 8px; color: #d8ad59; }





@media (max-width: 900px) {
    .bv-things-card-grid { grid-template-columns: 1fr; }
    .bv-things-card { display: grid; grid-template-columns: .9fr 1.1fr; }
    .bv-things-card > img { height: 100%; min-height: 330px; }
    .bv-things-feature-links { grid-template-columns: 1fr; }
    .bv-things-food { grid-template-columns: 1fr; }
    .bv-things-food-image img { min-height: 360px; max-height: 440px; }
}

@media (max-width: 700px) {
    .bv-things-hero { min-height: 410px; padding: 64px 18px; }
    .bv-things-hero h1 { font-size: 44px; }
    .bv-things-hero > p:last-child { font-size: 15px; }
    .bv-things-container { width: calc(100% - 30px); padding: 48px 0 42px; }
    .bv-things-intro { margin-bottom: 34px; }
    .bv-things-intro h2 { font-size: 34px; }
    .bv-things-card-grid,
    .bv-things-feature-links { gap: 20px; margin-bottom: 38px; }
    .bv-things-card { display: block; }
    .bv-things-card > img { height: 235px; min-height: 0; }
    .bv-things-card-content { padding: 24px 20px 26px; }
    .bv-things-card-content h2 { font-size: 25px; }
    .bv-things-feature-card { min-height: 350px; }
    .bv-things-feature-overlay { padding: 26px 22px; }
    .bv-things-feature-overlay h2 { font-size: 29px; }
    .bv-things-food-image img { min-height: 280px; height: 300px; }
    .bv-things-food-box { padding: 30px 22px; }
    .bv-things-food-box > h2 { font-size: 31px; }
    .bv-things-food-list { grid-template-columns: 1fr; }
    
}

@media (max-width: 480px) {
    .bv-things-hero { min-height: 390px; }
    .bv-things-hero h1 { font-size: 39px; }
    .bv-things-container { width: calc(100% - 26px); }
    .bv-things-feature-card { min-height: 330px; }
    
}

/* =========================================================
   34. THINGS TO DO — FEATURE OVERLAY + NEARBY LIST FINAL FIX
   ========================================================= */

/* Keep the feature photographs visible and restore the text overlay */
.bv-things-page .bv-things-feature-card {
    position: relative !important;
    min-height: 360px !important;
    height: 360px !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #011e41 !important;
}

.bv-things-page .bv-things-feature-card > .bv-things-feature-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Light grey readability panel at the top, with only a gentle lower image shade */
.bv-things-page .bv-things-feature-card > .bv-things-feature-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    opacity: 1 !important;
    background: linear-gradient(
        to bottom,
        rgba(232, 235, 238, .92) 0%,
        rgba(232, 235, 238, .88) 38%,
        rgba(1, 30, 65, .08) 66%,
        rgba(1, 30, 65, .22) 100%
    ) !important;
    pointer-events: none !important;
}

.bv-things-page .bv-things-feature-card > .bv-things-feature-overlay {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 5 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 28px 30px !important;
    color: #011e41 !important;
    background: transparent !important;
    transform: none !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-kicker {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 7px !important;
    color: #a96f17 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.bv-things-page .bv-things-feature-overlay h2 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 8px !important;
    color: #011e41 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 500 !important;
    text-shadow: none !important;
}

.bv-things-page .bv-things-feature-overlay > p:not(.bv-things-kicker) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 92% !important;
    margin: 0 0 12px !important;
    color: #233d58 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-shadow: none !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-feature-link {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #8c5a10 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

/* Local Places to Eat — tidy compact nearby links */
.bv-things-page .bv-things-nearby-heading {
    margin: 20px 0 8px !important;
    padding: 0 !important;
    color: #132b47 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.bv-things-page .bv-things-food-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.bv-things-page .bv-things-food-list li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(19, 43, 71, .12) !important;
    list-style: none !important;
}

.bv-things-page .bv-things-food-list li::marker {
    content: "" !important;
}

.bv-things-page .bv-things-food-list a {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 7px 4px 7px 13px !important;
    color: #132b47 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.bv-things-page .bv-things-food-list a::before {
    content: "" !important;
    position: absolute !important;
    top: 13px !important;
    left: 1px !important;
    width: 4px !important;
    height: 4px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #d8ad59 !important;
}

.bv-things-page .bv-things-food-list a:hover {
    color: #a96f17 !important;
}

@media (max-width: 700px) {
    .bv-things-page .bv-things-feature-card {
        min-height: 330px !important;
        height: 330px !important;
    }
    .bv-things-page .bv-things-feature-card > .bv-things-feature-overlay {
        padding: 24px 22px !important;
    }
    .bv-things-page .bv-things-feature-overlay h2 {
        font-size: 26px !important;
    }
    .bv-things-page .bv-things-food-list {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   35. THINGS TO DO — OVERLAY TEXT + FOOD LINKS HARD FIX
   ========================================================= */

/* Feature cards: keep photo bright and put a compact grey text panel over top */
.bv-things-page .bv-things-feature-card {
    position: relative !important;
    isolation: isolate !important;
    height: 330px !important;
    min-height: 330px !important;
    overflow: hidden !important;
}

.bv-things-page .bv-things-feature-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Remove the old full-card dark/grey shade */
.bv-things-page .bv-things-feature-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background: linear-gradient(to bottom,
        rgba(1,30,65,.04) 0%,
        rgba(1,30,65,.02) 55%,
        rgba(1,30,65,.16) 100%) !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

/* The text itself is the grey overlay panel */
.bv-things-page .bv-things-feature-overlay {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    right: 20px !important;
    bottom: auto !important;
    z-index: 50 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    padding: 18px 20px 17px !important;
    border-radius: 12px !important;
    background: rgba(235,238,240,.92) !important;
    box-shadow: 0 8px 24px rgba(1,30,65,.12) !important;
    color: #011e41 !important;
    pointer-events: auto !important;
}

.bv-things-page .bv-things-feature-overlay * {
    visibility: visible !important;
    opacity: 1 !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-kicker {
    margin: 0 0 5px !important;
    color: #a66d18 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
}

.bv-things-page .bv-things-feature-overlay h2 {
    margin: 0 0 7px !important;
    color: #011e41 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
    line-height: 1.08 !important;
    font-weight: 500 !important;
}

.bv-things-page .bv-things-feature-overlay > p:not(.bv-things-kicker) {
    margin: 0 0 9px !important;
    max-width: none !important;
    color: #29425d !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-feature-link {
    display: inline-block !important;
    color: #8e5b0d !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-feature-link:hover {
    color: #011e41 !important;
}

/* More places nearby: small elegant directory rather than large bullets */
.bv-things-page .bv-things-nearby-heading {
    margin: 22px 0 10px !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid rgba(216,173,89,.65) !important;
    color: #011e41 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.bv-things-page ul.bv-things-food-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.bv-things-page ul.bv-things-food-list > li {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(1,30,65,.10) !important;
}

.bv-things-page ul.bv-things-food-list > li::before {
    content: "" !important;
    position: absolute !important;
    left: 1px !important;
    top: 13px !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background: #d8ad59 !important;
}

.bv-things-page ul.bv-things-food-list > li > a {
    display: block !important;
    margin: 0 !important;
    padding: 7px 4px 7px 13px !important;
    color: #183550 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background: transparent !important;
}

.bv-things-page ul.bv-things-food-list > li > a::before,
.bv-things-page ul.bv-things-food-list > li > a::after {
    content: none !important;
    display: none !important;
}

.bv-things-page ul.bv-things-food-list > li > a:hover {
    color: #a66d18 !important;
}

@media (max-width: 700px) {
    .bv-things-page .bv-things-feature-card {
        height: 315px !important;
        min-height: 315px !important;
    }
    .bv-things-page .bv-things-feature-overlay {
        top: 15px !important;
        left: 15px !important;
        right: 15px !important;
        padding: 16px 17px !important;
    }
    .bv-things-page .bv-things-feature-overlay h2 {
        font-size: 24px !important;
    }
    .bv-things-page ul.bv-things-food-list {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   35. THINGS TO DO — FEATURE IMAGE + TILLY'S FINAL POLISH
   ========================================================= */
.bv-things-feature-card {
    position: relative !important;
    overflow: hidden !important;
    background: #011e41 !important;
}
.bv-things-feature-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    filter: none !important;
}
.bv-things-feature-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(45,55,65,.52) 0%, rgba(28,46,61,.27) 34%, rgba(1,30,65,.12) 64%, rgba(1,30,65,.20) 100%) !important;
}
.bv-things-feature-overlay {
    position: relative !important;
    z-index: 3 !important;
    color: #fff !important;
}
.bv-things-feature-overlay h2,
.bv-things-feature-overlay p { color: #fff !important; }
.bv-things-feature-overlay .bv-things-kicker,
.bv-things-feature-link { color: #e2b454 !important; }
.bv-things-feature-link {
    font-weight: 700 !important;
    text-decoration: none !important;
}
.bv-things-feature-overlay h2,
.bv-things-feature-overlay > p:not(.bv-things-kicker) {
    text-shadow: 0 1px 4px rgba(0,0,0,.38) !important;
}
.bv-things-tillys-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 10px !important;
    padding: 11px 19px !important;
    background: #d8ad59 !important;
    color: #011e41 !important;
    border-radius: 999px !important;
    border: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .2s ease, transform .2s ease !important;
}
.bv-things-tillys-link:hover {
    background: #e4bb69 !important;
    color: #011e41 !important;
    transform: translateY(-1px) !important;
}

/* =========================================================
   36. THINGS TO DO — LIGHTER IMAGE OVERLAY FINAL
   Keep the grey text panel, but leave the photograph bright.
   ========================================================= */
.bv-things-page .bv-things-feature-card > .bv-things-feature-shade {
    background: linear-gradient(
        to bottom,
        rgba(1,30,65,.02) 0%,
        rgba(1,30,65,.01) 60%,
        rgba(1,30,65,.08) 100%
    ) !important;
    opacity: 1 !important;
}

.bv-things-page .bv-things-feature-card > .bv-things-feature-overlay {
    top: 20px !important;
    left: 20px !important;
    right: 20px !important;
    bottom: auto !important;
    padding: 17px 20px 16px !important;
    border-radius: 12px !important;
    background: rgba(235,238,240,.88) !important;
    box-shadow: 0 7px 20px rgba(1,30,65,.10) !important;
    color: #011e41 !important;
}

.bv-things-page .bv-things-feature-overlay h2 {
    color: #011e41 !important;
    text-shadow: none !important;
}

.bv-things-page .bv-things-feature-overlay > p:not(.bv-things-kicker) {
    color: #29425d !important;
    text-shadow: none !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-kicker {
    color: #a66d18 !important;
}

.bv-things-page .bv-things-feature-overlay .bv-things-feature-link {
    color: #8e5b0d !important;
}

@media (max-width: 700px) {
    .bv-things-page .bv-things-feature-card > .bv-things-feature-overlay {
        top: 14px !important;
        left: 14px !important;
        right: 14px !important;
        padding: 15px 16px !important;
    }
}
































/* Critical fix: Things To Do had a narrower container */





















/* Container — identical on every page */





/* Exact same internal spacing */












/* Tablet */


/* Mobile */


























/* Home review spacing */
.bv-review-grid-clean {
    margin-bottom: 44px !important;
}



@media (max-width: 700px) {
    
    
    .bv-review-grid-clean {
        margin-bottom: 32px !important;
    }
}

@media (max-width: 480px) {
    
    
    .bv-review-grid-clean {
        margin-bottom: 26px !important;
    }
}





























/* =========================================================
   CONTACT PAGE
   ========================================================= */

.bayview-contact-page,
.bayview-contact-page * {
    box-sizing: border-box;
}

.bayview-contact-page {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #f7f3eb;
    color: #24384f;
    overflow: hidden;
}

.bayview-contact-page a {
    text-decoration: none;
}

.bvc-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

/* CONTACT HERO */
.bvc-hero {
    min-height: 500px;
    padding: 90px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    background:
        linear-gradient(rgba(1, 30, 65, .62), rgba(1, 30, 65, .62)),
        url("/wp-content/uploads/2026/10/Bay-View-Exterior-View2-WEB-scaled.jpg")
        center center / cover no-repeat;
}

.bvc-hero .bv-eyebrow {
    color: #d8ad59 !important;
    margin-bottom: 12px !important;
}

.bvc-hero h1 {
    max-width: 900px;
    margin: 0 0 18px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 5vw, 62px);
    line-height: 1.08;
    font-weight: 500;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .24);
}

.bvc-hero-text {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .94);
    font-size: 17px;
    line-height: 1.8;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .28);
}

/* INTRO */
.bvc-intro {
    max-width: 820px;
    margin: 0 auto;
    padding: 72px 0 38px;
    text-align: center;
}

.bvc-intro .bv-divider {
    margin-left: auto !important;
    margin-right: auto !important;
}

.bvc-intro .bv-text {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

/* CONTACT CARDS */
.bvc-main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
    padding: 34px 0 78px;
}

.bvc-card {
    min-width: 0;
    padding: 42px;
    background: #ffffff;
    border: 1px solid rgba(216, 173, 89, .22);
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(16, 40, 64, .09);
}

.bvc-card .bv-eyebrow {
    margin-bottom: 10px !important;
}

.bvc-card-title {
    margin: 0 0 16px;
    color: #132b47;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.12;
    font-weight: 500;
}

.bvc-card-intro {
    margin: 0 0 24px;
    color: #52667a;
    font-size: 15px;
    line-height: 1.75;
}

.bvc-detail {
    padding: 20px 0;
    border-top: 1px solid rgba(216, 173, 89, .28);
}

.bvc-detail strong {
    display: block;
    margin-bottom: 6px;
    color: #132b47;
    font-size: 15px;
}

.bvc-detail a,
.bvc-detail span {
    color: #52667a !important;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.bvc-detail a:hover {
    color: #b07a3c !important;
    text-decoration: underline;
}

/* CONTACT ACTION BUTTONS */
.bvc-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.bvc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 23px;
    border: 1px solid #d8ad59;
    border-radius: 999px;
    background: #d8ad59;
    color: #011e41 !important;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.bvc-button:hover {
    background: #e2bd73;
    transform: translateY(-1px);
}

.bvc-button-outline {
    background: #ffffff;
    color: #011e41 !important;
}

.bvc-button-outline:hover {
    background: #f7f3eb;
}

.bvc-button-navy {
    border-color: #011e41;
    background: #011e41;
    color: #ffffff !important;
}

.bvc-button-navy:hover {
    background: #132b47;
}

/* ENQUIRY LIST */
.bvc-info-list {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.bvc-info-list li {
    position: relative;
    margin: 0;
    padding: 14px 0 14px 20px;
    border-top: 1px solid rgba(216, 173, 89, .24);
    color: #52667a;
    line-height: 1.65;
}

.bvc-info-list li::before {
    content: "";
    position: absolute;
    top: 23px;
    left: 2px;
    width: 6px;
    height: 6px;
    background: #d8ad59;
    transform: rotate(45deg);
}

/* MAP */
.bvc-map-section {
    padding: 0 0 72px;
}

.bvc-map-heading {
    max-width: 760px;
    margin: 0 auto 30px;
    text-align: center;
}

.bvc-map-card {
    padding: 12px;
    background: #ffffff;
    border: 1px solid rgba(216, 173, 89, .22);
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(16, 40, 64, .09);
}

.bvc-map-card iframe {
    display: block;
    width: 100%;
    height: 430px;
    border: 0;
    border-radius: 16px;
}



@media (max-width: 900px) {
    .bayview-contact-page {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .bvc-hero {
        min-height: 430px;
        padding: 74px 20px;
    }

    .bvc-intro {
        padding: 58px 0 30px;
    }

    .bvc-main {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 28px 0 62px;
    }

    .bvc-card {
        padding: 34px 28px;
    }

    .bvc-map-section {
        padding-bottom: 60px;
    }

    .bvc-map-card iframe {
        height: 350px;
    }
}

@media (max-width: 600px) {
    .bvc-container {
        padding: 0 16px;
    }

    .bvc-hero {
        min-height: 390px;
        padding: 58px 18px;
    }

    .bvc-hero h1 {
        font-size: 38px;
    }

    .bvc-hero-text {
        font-size: 15px;
        line-height: 1.7;
    }

    .bvc-intro {
        padding: 48px 0 24px;
    }

    .bvc-main {
        padding: 24px 0 52px;
    }

    .bvc-card {
        padding: 28px 21px;
        border-radius: 18px;
    }

    .bvc-card-title {
        font-size: 28px;
    }

    .bvc-buttons {
        flex-direction: column;
    }

    .bvc-button {
        width: 100%;
    }

    .bvc-map-heading {
        margin-bottom: 24px;
    }

    .bvc-map-section {
        padding-bottom: 50px;
    }

    .bvc-map-card {
        padding: 8px;
        border-radius: 18px;
    }

    .bvc-map-card iframe {
        height: 300px;
        border-radius: 13px;
    }
}

/* =========================================================
   CONTACT PAGE — FINAL FULL WIDTH FIX
   Match Home + Things To Do
   ========================================================= */

.wp-block-post-content > .bayview-contact-page {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.bayview-contact-page {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.bayview-contact-page .bvc-hero {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.bayview-contact-page .bvc-container {
    width: 100% !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.bayview-contact-page .bvc-main {
    width: 100% !important;
    max-width: none !important;
}

.bayview-contact-page .bvc-map-section,
.bayview-contact-page .bvc-map-card {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 900px) {
    .wp-block-post-content > .bayview-contact-page,
    .bayview-contact-page {
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .bayview-contact-page .bvc-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 600px) {
    .bayview-contact-page .bvc-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* =========================================================
   CONTACT PAGE — FINAL TYPOGRAPHY ALIGNMENT
   Matches Home + Things To Do
   ========================================================= */

/* Contact body copy uses the same sans-serif family as Home + Things To Do */
.bayview-contact-page,
.bayview-contact-page p,
.bayview-contact-page li,
.bayview-contact-page a,
.bayview-contact-page span,
.bayview-contact-page strong,
.bayview-contact-page .bvc-hero-text,
.bayview-contact-page .bvc-card-intro,
.bayview-contact-page .bvc-detail,
.bayview-contact-page .bvc-info-list {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Internal-page hero title: exactly the same typography as Things To Do */
.bayview-contact-page .bvc-hero h1 {
    max-width: 900px !important;
    margin: 8px auto 18px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(46px, 6vw, 72px) !important;
    line-height: 1.04 !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    color: #ffffff !important;
}

/* Main section headings: same serif family used throughout Home */
.bayview-contact-page .bv-title,
.bayview-contact-page .bvc-card-title {
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
}

/* Contact card headings */
.bayview-contact-page .bvc-card-title {
    font-size: 30px !important;
    line-height: 1.12 !important;
}

/* Gold eyebrow styling: same sans-serif treatment used site-wide */
.bayview-contact-page .bv-eyebrow {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

/* Hero eyebrow remains gold */
.bayview-contact-page .bvc-hero .bv-eyebrow {
    color: #d8ad59 !important;
}

/* Standard body sizing */
.bayview-contact-page .bvc-hero-text {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

.bayview-contact-page .bvc-card-intro,
.bayview-contact-page .bvc-detail,
.bayview-contact-page .bvc-info-list li {
    font-size: 15px !important;
}

/* Buttons match the established site sans-serif */
.bayview-contact-page .bvc-button {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}



@media (max-width: 600px) {
    .bayview-contact-page .bvc-hero h1 {
        font-size: 38px !important;
    }

    .bayview-contact-page .bvc-hero-text {
        font-size: 15px !important;
    }

    .bayview-contact-page .bvc-card-title {
        font-size: 28px !important;
    }
}










.bayview-contact-page + .bv-section.bv-section-white,
.bv-things-page + .bv-section.bv-section-white {
    margin-top: 0 !important;
}

/* HOME — GUEST REVIEW BOTTOM SPACING */
.bv-review-grid-clean {
    margin-bottom: 44px !important;
}

@media (max-width: 700px) {
    .bv-review-grid-clean {
        margin-bottom: 32px !important;
    }
}

@media (max-width: 480px) {
    .bv-review-grid-clean {
        margin-bottom: 26px !important;
    }
}


/* =========================================================
   BOOK DIRECT CTA — SINGLE GLOBAL MASTER RULE
   Home + Things To Do + Contact
   ========================================================= */

/* One identical white CTA section on every page */
.bv-section.bv-section-white:has(.bv-cta-box) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 48px 24px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

/* One identical content container */
.bv-section.bv-section-white:has(.bv-cta-box) > .bv-container {
    display: block !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* One identical navy CTA box */
.bv-section.bv-section-white .bv-cta-box {
    display: block !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 980px !important;
    min-height: 230px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 38px 48px 36px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: #011e41 !important;
    border: 1px solid rgba(216, 173, 89, .28) !important;
    border-radius: 18px !important;
    text-align: center !important;
    color: #ffffff !important;
}

.bv-section.bv-section-white .bv-cta-box,
.bv-section.bv-section-white .bv-cta-box * {
    color: #ffffff !important;
}

/* Eyebrow */
.bv-section.bv-section-white .bv-cta-box .bv-eyebrow {
    display: block !important;
    position: static !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    transform: none !important;
    color: #d8ad59 !important;
    text-align: center !important;
}

/* Heading */
.bv-section.bv-section-white .bv-cta-box .bv-title {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
    line-height: 1.12 !important;
}

/* Gold line + diamond */
.bv-section.bv-section-white .bv-cta-box .bv-divider {
    position: relative !important;
    display: block !important;
    width: 78px !important;
    height: 12px !important;
    margin: 14px auto 17px !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
}

.bv-section.bv-section-white .bv-cta-box .bv-divider::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background: rgba(216, 173, 89, .58) !important;
    transform: translateY(-50%) !important;
}

.bv-section.bv-section-white .bv-cta-box .bv-divider::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 7px !important;
    height: 7px !important;
    box-sizing: border-box !important;
    background: #011e41 !important;
    border: 1px solid #d8ad59 !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

/* Body text */
.bv-section.bv-section-white .bv-cta-box .bv-text {
    display: block !important;
    position: static !important;
    max-width: 680px !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
}

/* Button row */
.bv-section.bv-section-white .bv-cta-box .bv-button-row {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
}

/* Gold button */
.bv-section.bv-section-white .bv-cta-box .bv-button {
    display: inline-flex !important;
    position: static !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 12px 26px !important;
    transform: none !important;
    box-sizing: border-box !important;
    background: #d8ad59 !important;
    color: #011e41 !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
}

.bv-section.bv-section-white .bv-cta-box .bv-button:hover,
.bv-section.bv-section-white .bv-cta-box .bv-button:focus {
    background: #e3bb6b !important;
    color: #011e41 !important;
}

.bv-section.bv-section-white .bv-cta-box .bv-button::before,
.bv-section.bv-section-white .bv-cta-box .bv-button::after {
    content: none !important;
    display: none !important;
}

/* Do not allow page wrappers or WordPress blocks to add space after the CTA */
.bv-things-page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.wp-block-post-content > .wp-block-html:has(.bv-things-page),
.entry-content > .wp-block-html:has(.bv-things-page),
.wp-block-post-content > .wp-block-html:has(.bayview-contact-page),
.entry-content > .wp-block-html:has(.bayview-contact-page) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Tablet */
@media (max-width: 900px) {
    .bv-section.bv-section-white:has(.bv-cta-box) {
        padding: 38px 20px !important;
    }

    .bv-section.bv-section-white .bv-cta-box {
        min-height: 0 !important;
        padding: 34px 28px 32px !important;
    }

    .bv-section.bv-section-white .bv-cta-box .bv-title {
        white-space: normal !important;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .bv-section.bv-section-white:has(.bv-cta-box) {
        padding: 32px 17px !important;
    }

    .bv-section.bv-section-white .bv-cta-box {
        min-height: 0 !important;
        padding: 32px 22px 30px !important;
        border-radius: 16px !important;
    }

    .bv-section.bv-section-white .bv-cta-box .bv-divider {
        width: 70px !important;
        height: 11px !important;
        margin: 14px auto 18px !important;
    }
}

@media (max-width: 480px) {
    .bv-section.bv-section-white:has(.bv-cta-box) {
        padding: 28px 16px !important;
    }

    .bv-section.bv-section-white .bv-cta-box {
        padding: 30px 18px 28px !important;
    }

    .bv-section.bv-section-white .bv-cta-box .bv-divider {
        width: 66px !important;
        margin: 12px auto 16px !important;
    }

    .bv-section.bv-section-white .bv-cta-box .bv-button {
        width: 100% !important;
        max-width: 230px !important;
    }
}

/* =========================================================
   BAYVIEW UNIVERSAL TYPOGRAPHY SYSTEM
   ========================================================= */
:root {
    --bv-font-heading: Georgia, "Times New Roman", serif;
    --bv-font-body: Arial, Helvetica, sans-serif;
    --bv-navy: #011e41;
    --bv-gold: #d8ad59;
    --bv-cream: #f7f3eb;
}

/* Universal body typography */
.bv-things-page,
.bayview-contact-page,
.bv-section,
.bv-container,
.bv-things-page p,
.bayview-contact-page p,
.bv-section p,
.bv-things-page li,
.bayview-contact-page li,
.bv-section li,
.bv-things-page a,
.bayview-contact-page a,
.bv-section a,
.bv-things-page span,
.bayview-contact-page span,
.bv-section span {
    font-family: var(--bv-font-body) !important;
    font-weight: 400;
}

/* Universal serif headings */
.bv-things-page h1,
.bayview-contact-page h1,
.bv-things-page h2,
.bayview-contact-page h2,
.bv-things-page h3,
.bayview-contact-page h3,
.bv-title,
.bvc-card-title {
    font-family: var(--bv-font-heading) !important;
    font-weight: 400 !important;
    letter-spacing: normal;
}

/* Hero headings */
.bv-things-hero h1,
.bayview-contact-page .bvc-hero h1 {
    font-family: var(--bv-font-heading) !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
}

/* Gold uppercase labels */
.bv-eyebrow,
.bv-things-kicker,
.bayview-contact-page .bv-eyebrow {
    font-family: var(--bv-font-body) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

/* Normal body copy */
.bv-text,
.bv-things-page p,
.bayview-contact-page .bv-text,
.bayview-contact-page .bvc-hero-text,
.bayview-contact-page .bvc-card-intro,
.bayview-contact-page .bvc-info-list,
.bayview-contact-page .bvc-detail span {
    font-family: var(--bv-font-body) !important;
    font-weight: 400 !important;
}

/* Contact labels */
.bayview-contact-page .bvc-detail strong {
    font-family: var(--bv-font-body) !important;
    font-weight: 600 !important;
}

/* Buttons and action links */
.bv-button,
.bvc-button,
.bv-things-feature-link,
.bv-things-tillys-link {
    font-family: var(--bv-font-body) !important;
    font-weight: 700 !important;
}

/* Shared CTA */
.bv-cta-box .bv-title {
    font-family: var(--bv-font-heading) !important;
    font-weight: 400 !important;
}
.bv-cta-box .bv-text {
    font-family: var(--bv-font-body) !important;
    font-weight: 400 !important;
}
.bv-cta-box .bv-eyebrow,
.bv-cta-box .bv-button {
    font-family: var(--bv-font-body) !important;
    font-weight: 700 !important;
}

@media (max-width: 700px) {
    .bv-things-hero h1,
    .bayview-contact-page .bvc-hero h1 {
        font-weight: 400 !important;
    }
}

/* =========================================================
   TILLY'S RESTAURANT — LAYOUT
   Typography inherits the BayView universal system.
   ========================================================= */

.bvt-page,
.bvt-page * { box-sizing: border-box; }

.bvt-page {
    width: 100%;
    margin: 0;
    background: #fffdf9;
    color: #24384f;
    font-family: var(--bv-font-body);
}

.bvt-page a { text-decoration: none; }

.bvt-container {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
}

.bvt-section { padding: 70px 0; }
.bvt-soft { background: #f7f2ea; }

.bvt-eyebrow,
.bvt-preview-eyebrow,
.bvt-detail-label {
    font-family: var(--bv-font-body) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--bv-gold) !important;
}

.bvt-title,
.bvt-page h1,
.bvt-page h2,
.bvt-page h3 {
    font-family: var(--bv-font-heading) !important;
    font-weight: 400 !important;
    letter-spacing: normal;
    color: var(--bv-navy);
}

.bvt-title {
    margin: 0 0 16px;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.1;
}

.bvt-text,
.bvt-page p,
.bvt-page li {
    font-family: var(--bv-font-body) !important;
    font-weight: 400 !important;
}

.bvt-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.8;
    color: #42566b;
}

/* Hero */
.bvt-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 90px 20px;
    background:
        linear-gradient(rgba(1,30,65,.62), rgba(1,30,65,.62)),
        url("/wp-content/uploads/2026/10/Tillys-Restaurant-Image-updated.png") center center / cover no-repeat;
    text-align: center;
}

.bvt-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}

.bvt-hero .bvt-eyebrow { color: var(--bv-gold) !important; }

.bvt-hero .bvt-title {
    margin: 0 0 16px;
    font-size: clamp(46px, 6vw, 72px);
    line-height: 1.04;
    font-weight: 400 !important;
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.25);
}

.bvt-hero .bvt-text {
    max-width: 720px;
    margin: 0 auto;
    color: #fff;
    font-size: 17px;
    text-shadow: 0 1px 8px rgba(0,0,0,.3);
}

.bvt-hero-btn,
.bvt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border-radius: 999px;
    font-family: var(--bv-font-body) !important;
    font-size: 13px;
    font-weight: 700 !important;
}

.bvt-hero-btn {
    margin-top: 26px;
    padding: 12px 24px;
    background: var(--bv-gold);
    color: var(--bv-navy) !important;
}

.bvt-hero-btn:hover { background: #e0bd75; }

/* Intro / booking */
.bvt-intro {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

#book-a-table { scroll-margin-top: 90px; }

.bvt-book-grid {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 36px;
    align-items: start;
    margin-top: 38px;
}

.bvt-book-copy { padding: 34px 8px 0 0; }

.bvt-book-copy h3 {
    margin: 0 0 13px;
    font-size: 30px;
    line-height: 1.15;
}

.bvt-book-copy > p:not(.bvt-eyebrow) {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.75;
    color: #52667a;
}

.bvt-details {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #ddd5ca;
}

.bvt-detail-label {
    margin: 0 0 10px !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
}

.bvt-address {
    margin: 0 0 14px !important;
    line-height: 1.7 !important;
    color: #42566b !important;
}

.bvt-address strong {
    color: var(--bv-navy);
    font-weight: 600;
}

.bvt-phone {
    display: inline-block;
    color: var(--bv-navy) !important;
    font-weight: 600 !important;
}

.bvt-phone:hover { color: var(--bv-gold) !important; }

/* ResDiary */
.bvt-widget {
    background: #fff;
    border-radius: 18px;
    padding: 12px;
    box-shadow: 0 14px 38px rgba(16,40,64,.10);
    border: 1px solid #eee7dd;
}

.bvt-widget iframe {
    display: block;
    width: 100%;
    min-height: 760px;
    border: 0;
    border-radius: 12px;
    background: #fff;
}

/* Menus */
.bvt-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    max-width: 900px;
    margin: 42px auto 0;
}

.bvt-menu-card {
    background: #fff;
    border: 1px solid #e8dfd4;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(16,40,64,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.bvt-menu-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 38px rgba(16,40,64,.13);
}

.bvt-menu-preview {
    min-height: 340px;
    padding: 42px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(216,173,89,.12), transparent 46%),
        var(--bv-navy);
    color: #fff;
}

.bvt-menu-preview .bvt-preview-eyebrow {
    margin: 0 0 16px;
    font-size: 11px !important;
    letter-spacing: 2.8px !important;
}

.bvt-menu-preview h3 {
    margin: 0;
    font-size: 31px;
    line-height: 1.1;
    color: #fff !important;
}

.bvt-preview-divider {
    width: 58px;
    height: 1px;
    margin: 22px auto 18px;
    background: var(--bv-gold);
}

.bvt-menu-preview p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,.86);
}

.bvt-menu-preview strong {
    display: block;
    margin-top: 4px;
    color: var(--bv-gold);
    font-family: var(--bv-font-body);
    font-size: 15px;
    font-weight: 600;
}

.bvt-menu-body {
    padding: 24px 22px 26px;
    text-align: center;
}

.bvt-menu-body h3 {
    margin: 0 0 16px;
    font-size: 26px;
}

.bvt-btn {
    padding: 11px 22px;
    background: var(--bv-navy);
    color: #fff !important;
}

.bvt-btn:hover { background: var(--bv-gold); }

.bvt-section:has(.bvt-menu-grid) { padding-bottom: 58px; }

/* Opening times */
.bvt-hours {
    max-width: 780px;
    margin: 34px auto 0;
    background: #fff;
    border: 1px solid #e9e1d6;
    border-radius: 16px;
    padding: 12px 32px;
    box-shadow: 0 10px 28px rgba(16,40,64,.06);
}

.bvt-hour {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 24px;
    padding: 21px 0;
    border-bottom: 1px solid #eee7dd;
}

.bvt-hour:last-child { border-bottom: 0; }

.bvt-hour h3 {
    margin: 0;
    font-family: var(--bv-font-body) !important;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700 !important;
    letter-spacing: 1.7px;
    text-transform: uppercase;
    color: var(--bv-gold);
}

.bvt-hour p {
    margin: 0;
    line-height: 1.7;
    color: #334960;
}

.bvt-hour strong { font-weight: 600; }

/* Responsive */
@media (max-width: 900px) {
    .bvt-container { width: min(100% - 32px, 1120px); }
    .bvt-book-grid { grid-template-columns: 1fr; gap: 28px; }
    .bvt-book-copy { padding: 0; text-align: center; }
    .bvt-book-copy > p:not(.bvt-eyebrow) {
        max-width: 620px;
        margin-left: auto;
        margin-right: auto;
    }
    .bvt-details { max-width: 500px; margin: 24px auto 0; }
    .bvt-widget { max-width: 820px; width: 100%; margin: 0 auto; }
    .bvt-menu-grid { max-width: 760px; }
    .bvt-hour { grid-template-columns: 160px 1fr; }
}

@media (max-width: 700px) {
    .bvt-section { padding: 52px 0; }
    .bvt-container { width: min(100% - 24px, 1120px); }
    .bvt-hero { min-height: 420px; padding: 64px 18px; }
    .bvt-hero .bvt-title { font-size: clamp(38px, 11vw, 50px); }
    .bvt-hero .bvt-text { font-size: 16px; line-height: 1.7; }
    .bvt-hero-btn { width: min(100%, 280px); }
    .bvt-title { font-size: clamp(30px, 9vw, 38px); }
    .bvt-text { font-size: 15px; line-height: 1.75; }
    .bvt-book-grid { margin-top: 30px; gap: 24px; }
    .bvt-book-copy h3 { font-size: 27px; }
    .bvt-details { text-align: center; }
    .bvt-widget { padding: 6px; border-radius: 14px; overflow: hidden; }
    .bvt-widget iframe { min-height: 860px; border-radius: 10px; }
    .bvt-menu-grid { grid-template-columns: 1fr; gap: 20px; max-width: 520px; }
    .bvt-menu-preview { min-height: 300px; padding: 34px 22px; }
    .bvt-menu-preview h3 { font-size: 30px; }
    .bvt-menu-body { padding: 20px 18px 22px; }
    .bvt-btn { width: min(100%, 220px); }
    .bvt-hours { padding: 6px 20px; }
    .bvt-hour { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; text-align: center; }
}

@media (max-width: 430px) {
    .bvt-container { width: min(100% - 18px, 1120px); }
    .bvt-hero { min-height: 390px; padding: 54px 14px; }
    .bvt-hero .bvt-eyebrow { font-size: 10px !important; letter-spacing: 2px !important; }
    .bvt-hero .bvt-title { font-size: 38px; }
    .bvt-hero .bvt-text { font-size: 15px; }
    .bvt-section { padding: 44px 0; }
    .bvt-eyebrow { font-size: 10px !important; letter-spacing: 2px !important; }
    .bvt-widget iframe { min-height: 900px; }
    .bvt-menu-card { border-radius: 14px; }
    .bvt-menu-body h3 { font-size: 23px; }
    .bvt-hours { padding: 4px 16px; }
    .bvt-address, .bvt-phone { font-size: 14px; }
}

/* =========================================================
   RESTAURANT — FULL WIDTH WORDPRESS BREAKOUT
   ========================================================= */

.wp-block-post-content > .bvt-page,
.entry-content > .bvt-page,
.bvt-page {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.bvt-page .bvt-hero {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.bvt-page .bvt-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.bvt-page .bvt-container {
    width: calc(100% - 48px) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.wp-block-post-content > .wp-block-html:has(.bvt-page),
.entry-content > .wp-block-html:has(.bvt-page) {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 700px) {
    .bvt-page .bvt-container {
        width: calc(100% - 34px) !important;
    }
}

/* =========================================================
   TILLY'S — BOOKING + MENU VISUAL UPGRADE
   Restaurant only. Universal typography remains unchanged.
   ========================================================= */

/* BOOKING — better balance and less empty widget space */
.bvt-book-grid {
    grid-template-columns: minmax(300px, 0.62fr) minmax(0, 1fr) !important;
    gap: 46px !important;
    align-items: center !important;
    max-width: 1040px !important;
    margin: 38px auto 0 !important;
}

.bvt-book-copy {
    padding: 0 !important;
}

.bvt-widget {
    padding: 10px !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 40px rgba(16,40,64,.10) !important;
}

.bvt-widget iframe {
    min-height: 610px !important;
    height: 610px !important;
}

/* MENUS — stronger visual section */
.bvt-section:has(.bvt-menu-grid) {
    position: relative !important;
    overflow: hidden !important;
    padding-top: 78px !important;
    padding-bottom: 78px !important;
    background:
        radial-gradient(circle at 12% 15%, rgba(216,173,89,.08), transparent 24%),
        radial-gradient(circle at 88% 84%, rgba(1,30,65,.045), transparent 28%),
        #fffdf9 !important;
}

.bvt-section:has(.bvt-menu-grid) .bvt-intro {
    margin-bottom: 46px !important;
}

/* Wider, more editorial 2 x 2 grid */
.bvt-menu-grid {
    max-width: 1040px !important;
    gap: 30px !important;
    margin: 0 auto !important;
}

.bvt-menu-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1.18fr .82fr !important;
    min-height: 285px !important;
    border: 1px solid rgba(216,173,89,.34) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(16,40,64,.08) !important;
}

.bvt-menu-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 44px rgba(16,40,64,.13) !important;
    border-color: rgba(216,173,89,.62) !important;
}

/* Navy menu panel */
.bvt-menu-preview {
    position: relative !important;
    min-height: 285px !important;
    padding: 38px 30px !important;
    background:
        linear-gradient(145deg, rgba(255,255,255,.035), transparent 46%),
        #011e41 !important;
}

/* Fine inset gold frame */
.bvt-menu-preview::before {
    content: "" !important;
    position: absolute !important;
    inset: 13px !important;
    border: 1px solid rgba(216,173,89,.30) !important;
    border-radius: 10px !important;
    pointer-events: none !important;
}

.bvt-menu-preview .bvt-preview-eyebrow,
.bvt-menu-preview h3,
.bvt-menu-preview p,
.bvt-menu-preview .bvt-preview-divider {
    position: relative !important;
    z-index: 1 !important;
}

.bvt-menu-preview h3 {
    font-size: 29px !important;
    line-height: 1.08 !important;
}

.bvt-preview-divider {
    position: relative !important;
    width: 70px !important;
    height: 11px !important;
    margin: 18px auto 17px !important;
    background: transparent !important;
}

.bvt-preview-divider::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    background: rgba(216,173,89,.68) !important;
}

.bvt-preview-divider::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 7px !important;
    height: 7px !important;
    background: #011e41 !important;
    border: 1px solid #d8ad59 !important;
    transform: translate(-50%,-50%) rotate(45deg) !important;
}

/* White action panel */
.bvt-menu-body {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 30px 24px !important;
    background: #ffffff !important;
}

.bvt-menu-body::before {
    content: "MENU" !important;
    display: block !important;
    margin-bottom: 12px !important;
    font-family: var(--bv-font-body) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 2.6px !important;
    color: #d8ad59 !important;
}

.bvt-menu-body h3 {
    margin: 0 0 20px !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.bvt-menu-body .bvt-btn {
    min-width: 116px !important;
    padding: 12px 20px !important;
    background: #011e41 !important;
    border: 1px solid #011e41 !important;
}

.bvt-menu-body .bvt-btn:hover {
    background: #d8ad59 !important;
    border-color: #d8ad59 !important;
    color: #011e41 !important;
}

/* Tablet */
@media (max-width: 900px) {
    .bvt-book-grid {
        grid-template-columns: 1fr !important;
        max-width: 780px !important;
        gap: 30px !important;
        align-items: start !important;
    }

    .bvt-book-copy {
        max-width: 620px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .bvt-widget iframe {
        min-height: 650px !important;
        height: 650px !important;
    }

    .bvt-menu-grid {
        max-width: 760px !important;
        grid-template-columns: 1fr !important;
    }

    .bvt-menu-card {
        grid-template-columns: 1.25fr .75fr !important;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .bvt-widget iframe {
        min-height: 820px !important;
        height: 820px !important;
    }

    .bvt-section:has(.bvt-menu-grid) {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
    }

    .bvt-menu-grid {
        gap: 22px !important;
    }

    .bvt-menu-card {
        display: block !important;
        min-height: 0 !important;
    }

    .bvt-menu-preview {
        min-height: 260px !important;
        padding: 34px 24px !important;
    }

    .bvt-menu-body {
        padding: 25px 20px 27px !important;
    }
}

/* =========================================================
   TILLY'S DYNAMIC OPENING HOURS
   Output of [bayview_restaurant_hours]
   ========================================================= */

.bvh-hours-wrap {
    width: 100%;
    padding: 74px 0;
    background: #f7f2ea;
}

.bvh-heading {
    margin-bottom: 36px !important;
}

.bvh-hours-card {
    max-width: 900px;
    margin: 0 auto;
    padding: 10px 34px;
    background: #fff;
    border: 1px solid rgba(216,173,89,.28);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(16,40,64,.07);
}

.bvh-day {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 28px;
    align-items: center;
    min-height: 82px;
    padding: 18px 0;
    border-bottom: 1px solid #eee7dd;
}

.bvh-day:last-child { border-bottom: 0; }

.bvh-day h3 {
    margin: 0;
    font-family: var(--bv-font-body) !important;
    font-size: 12px !important;
    line-height: 1.4;
    font-weight: 700 !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase;
    color: #d8ad59 !important;
}

.bvh-day-times {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px 28px;
}

.bvh-service {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bvh-service span {
    font-family: var(--bv-font-body);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #7a8794;
}

.bvh-service strong {
    font-family: var(--bv-font-body);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
    color: #011e41;
}

.bvh-closed {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 7px 13px;
    border-radius: 999px;
    background: #f7f2ea;
    color: #7b5a31;
    font-family: var(--bv-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.bvh-notices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 22px;
    max-width: 900px;
    margin: 24px auto 0;
}

.bvh-notice {
    padding: 25px 28px;
    background: #011e41;
    border: 1px solid rgba(216,173,89,.32);
    border-radius: 16px;
    color: #fff;
}

.bvh-notice-kicker {
    margin: 0 0 8px !important;
    font-family: var(--bv-font-body) !important;
    font-size: 10px !important;
    line-height: 1.4;
    font-weight: 700 !important;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: #d8ad59 !important;
}

.bvh-notice h3 {
    margin: 0 0 9px;
    font-family: var(--bv-font-heading) !important;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 400 !important;
    color: #fff !important;
}

.bvh-notice p:last-child {
    margin: 0;
    font-family: var(--bv-font-body);
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
    color: rgba(255,255,255,.88);
}

@media (max-width: 700px) {
    .bvh-hours-wrap { padding: 56px 0; }
    .bvh-hours-card { padding: 6px 20px; }
    .bvh-day {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 19px 0;
        text-align: center;
    }
    .bvh-day-times { grid-template-columns: 1fr; gap: 10px; }
    .bvh-service { align-items: center; }
    .bvh-closed { margin: 0 auto; }
    .bvh-notices { grid-template-columns: 1fr; }
    .bvh-notice { text-align: center; }
}

/* =========================================================
   TILLY'S OPENING HOURS — PREMIUM NOTICE CARDS
   ========================================================= */

.bvh-notices {
    gap: 24px !important;
    margin-top: 28px !important;
}

.bvh-notice {
    position: relative !important;
    overflow: hidden !important;
    min-height: 180px !important;
    padding: 34px 34px 30px !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(216,173,89,.10), transparent 38%),
        #011e41 !important;
    border: 1px solid rgba(216,173,89,.38) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 32px rgba(1,30,65,.10) !important;
    color: #fff !important;
}

.bvh-notice::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 34px !important;
    width: 64px !important;
    height: 3px !important;
    background: #d8ad59 !important;
    border-radius: 0 0 3px 3px !important;
}

.bvh-notice::after {
    content: "" !important;
    position: absolute !important;
    right: 30px !important;
    top: 31px !important;
    width: 8px !important;
    height: 8px !important;
    border: 1px solid rgba(216,173,89,.72) !important;
    transform: rotate(45deg) !important;
    opacity: .8 !important;
}

.bvh-notice-kicker {
    margin: 0 0 12px !important;
    font-family: var(--bv-font-body) !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: #d8ad59 !important;
}

.bvh-notice h3 {
    max-width: 85% !important;
    margin: 0 0 14px !important;
    font-family: var(--bv-font-heading) !important;
    font-size: 25px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    color: #fff !important;
}

.bvh-notice p:last-child {
    max-width: 95% !important;
    margin: 0 !important;
    font-family: var(--bv-font-body) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,.88) !important;
}

@media (hover: hover) {
    .bvh-notice {
        transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
    }

    .bvh-notice:hover {
        transform: translateY(-3px) !important;
        border-color: rgba(216,173,89,.62) !important;
        box-shadow: 0 18px 38px rgba(1,30,65,.15) !important;
    }
}

@media (max-width: 700px) {
    .bvh-notices {
        gap: 18px !important;
    }

    .bvh-notice {
        min-height: 0 !important;
        padding: 30px 26px 27px !important;
        text-align: left !important;
    }

    .bvh-notice::before {
        left: 26px !important;
    }

    .bvh-notice::after {
        right: 25px !important;
        top: 28px !important;
    }

    .bvh-notice h3 {
        font-size: 23px !important;
    }
}

/* =========================================================
   TILLY'S — LOCATION TEXT SIZE
   ========================================================= */

.bvt-details .bvt-address {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.bvt-details .bvt-address strong {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.bvt-details .bvt-phone {
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}

/* =========================================================
   TILLY'S — FINAL MENU CARDS
   Clean menu-only cards; opening times live below.
   ========================================================= */

.bvt-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 940px !important;
    gap: 26px !important;
}

.bvt-menu-card-simple {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 250px !important;
    padding: 42px 34px 38px !important;
    overflow: hidden !important;
    text-align: center !important;
    background:
        radial-gradient(circle at 50% -15%, rgba(216,173,89,.13), transparent 38%),
        linear-gradient(145deg, rgba(255,255,255,.025), transparent 48%),
        #011e41 !important;
    border: 1px solid rgba(216,173,89,.40) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 34px rgba(1,30,65,.10) !important;
}

.bvt-menu-card-simple::before {
    content: "" !important;
    position: absolute !important;
    inset: 12px !important;
    border: 1px solid rgba(216,173,89,.28) !important;
    border-radius: 11px !important;
    pointer-events: none !important;
}

.bvt-menu-card-simple::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 72px !important;
    height: 3px !important;
    transform: translateX(-50%) !important;
    background: #d8ad59 !important;
    border-radius: 0 0 3px 3px !important;
}

.bvt-menu-card-simple .bvt-preview-eyebrow {
    position: relative !important;
    z-index: 1 !important;
    margin: 0 0 15px !important;
    font-family: var(--bv-font-body) !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 2.6px !important;
    text-transform: uppercase !important;
    color: #d8ad59 !important;
}

.bvt-menu-card-simple h3 {
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
    font-family: var(--bv-font-heading) !important;
    font-size: 31px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #fff !important;
}

.bvt-menu-card-simple .bvt-preview-divider {
    position: relative !important;
    z-index: 1 !important;
    width: 74px !important;
    height: 12px !important;
    margin: 20px auto 22px !important;
}

.bvt-menu-card-simple .bvt-btn {
    position: relative !important;
    z-index: 1 !important;
    min-width: 126px !important;
    padding: 12px 22px !important;
    background: #d8ad59 !important;
    border: 1px solid #d8ad59 !important;
    color: #011e41 !important;
    box-shadow: none !important;
}

.bvt-menu-card-simple .bvt-btn:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #011e41 !important;
}

@media (hover:hover) {
    .bvt-menu-card-simple {
        transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
    }
    .bvt-menu-card-simple:hover {
        transform: translateY(-4px) !important;
        border-color: rgba(216,173,89,.68) !important;
        box-shadow: 0 20px 42px rgba(1,30,65,.15) !important;
    }
}

/* =========================================================
   TILLY'S — FINAL SPECIAL NOTICE CARDS
   ========================================================= */

.bvh-notices {
    max-width: 900px !important;
    gap: 24px !important;
    margin-top: 30px !important;
}

.bvh-notice {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 205px !important;
    padding: 38px 38px 34px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(216,173,89,.12), transparent 36%),
        linear-gradient(145deg, rgba(255,255,255,.025), transparent 50%),
        #011e41 !important;
    border: 1px solid rgba(216,173,89,.42) !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 36px rgba(1,30,65,.10) !important;
}

.bvh-notice::before {
    left: 38px !important;
    width: 72px !important;
    height: 3px !important;
}

.bvh-notice::after {
    right: 34px !important;
    top: 33px !important;
    width: 8px !important;
    height: 8px !important;
}

.bvh-notice-kicker {
    margin-bottom: 13px !important;
    font-size: 10px !important;
    letter-spacing: 2.6px !important;
}

.bvh-notice h3 {
    max-width: 88% !important;
    margin-bottom: 15px !important;
    font-size: 26px !important;
    line-height: 1.12 !important;
}

.bvh-notice p:last-child {
    max-width: 92% !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

@media (max-width: 700px) {
    .bvt-menu-grid {
        grid-template-columns: 1fr !important;
        max-width: 520px !important;
        gap: 20px !important;
    }
    .bvt-menu-card-simple {
        min-height: 225px !important;
        padding: 36px 26px 33px !important;
    }
    .bvt-menu-card-simple h3 {
        font-size: 28px !important;
    }
    .bvh-notice {
        min-height: 0 !important;
        padding: 32px 28px 29px !important;
    }
    .bvh-notice::before {
        left: 28px !important;
    }
    .bvh-notice::after {
        right: 27px !important;
        top: 29px !important;
    }
}

/* =========================================================
   TILLY'S — FINAL MENU CARD PROPORTIONS
   Tightens the approved menu design without changing style.
   ========================================================= */

.bvt-section:has(.bvt-menu-grid) {
    padding-top: 68px !important;
    padding-bottom: 62px !important;
}

.bvt-section:has(.bvt-menu-grid) .bvt-intro {
    margin-bottom: 36px !important;
}

.bvt-menu-grid {
    max-width: 900px !important;
    gap: 20px 24px !important;
}

.bvt-menu-card-simple {
    min-height: 210px !important;
    padding: 32px 30px 29px !important;
    border-radius: 18px !important;
}

.bvt-menu-card-simple::before {
    inset: 10px !important;
    border-radius: 10px !important;
}

.bvt-menu-card-simple::after {
    width: 62px !important;
}

.bvt-menu-card-simple .bvt-preview-eyebrow {
    margin-bottom: 12px !important;
    font-size: 9px !important;
    letter-spacing: 2.5px !important;
}

.bvt-menu-card-simple h3 {
    font-size: 28px !important;
    line-height: 1.08 !important;
}

.bvt-menu-card-simple .bvt-preview-divider {
    width: 68px !important;
    margin: 16px auto 18px !important;
}

.bvt-menu-card-simple .bvt-btn {
    min-width: 112px !important;
    padding: 10px 18px !important;
    font-size: 11px !important;
}

@media (max-width: 900px) {
    .bvt-menu-grid {
        max-width: 720px !important;
    }
}

@media (max-width: 700px) {
    .bvt-section:has(.bvt-menu-grid) {
        padding-top: 52px !important;
        padding-bottom: 50px !important;
    }

    .bvt-menu-grid {
        max-width: 500px !important;
        gap: 16px !important;
    }

    .bvt-menu-card-simple {
        min-height: 195px !important;
        padding: 30px 24px 27px !important;
    }

    .bvt-menu-card-simple h3 {
        font-size: 26px !important;
    }
}

/* =========================================================
   TILLY'S HOURS — SPECIAL NOTICE BANNER
   Temporary Bank Holiday / Christmas information.
   Replaces the old two-card notice layout.
   ========================================================= */

.bvh-notices {
    display: block !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 28px auto 0 !important;
}

.bvh-notice {
    display: none !important;
}

/* Plugin outputs this combined banner */
.bvh-special-banner {
    position: relative !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 28px auto 0 !important;
    padding: 34px 48px 36px !important;
    overflow: hidden !important;
    text-align: center !important;
    background:
        radial-gradient(circle at 50% -40%, rgba(216,173,89,.15), transparent 48%),
        #011e41 !important;
    border: 1px solid rgba(216,173,89,.42) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(1,30,65,.10) !important;
    box-sizing: border-box !important;
}

.bvh-special-banner::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 86px !important;
    height: 3px !important;
    transform: translateX(-50%) !important;
    background: #d8ad59 !important;
    border-radius: 0 0 3px 3px !important;
}

.bvh-special-banner .bvh-banner-eyebrow {
    margin: 0 0 10px !important;
    font-family: var(--bv-font-body) !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 2.7px !important;
    text-transform: uppercase !important;
    color: #d8ad59 !important;
}

.bvh-special-banner h3 {
    margin: 0 auto 14px !important;
    font-family: var(--bv-font-heading) !important;
    font-size: 29px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    color: #fff !important;
}

.bvh-banner-items {
    display: flex !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 0 !important;
    max-width: 760px !important;
    margin: 0 auto !important;
}

.bvh-banner-item {
    flex: 1 1 0 !important;
    padding: 4px 28px 0 !important;
    font-family: var(--bv-font-body) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,.90) !important;
}

.bvh-banner-item + .bvh-banner-item {
    border-left: 1px solid rgba(216,173,89,.35) !important;
}

.bvh-banner-item strong {
    display: block !important;
    margin-bottom: 4px !important;
    font-family: var(--bv-font-body) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #d8ad59 !important;
}

@media (max-width: 700px) {
    .bvh-special-banner {
        margin-top: 22px !important;
        padding: 30px 24px 31px !important;
    }

    .bvh-special-banner h3 {
        font-size: 25px !important;
    }

    .bvh-banner-items {
        display: block !important;
    }

    .bvh-banner-item {
        padding: 7px 0 !important;
    }

    .bvh-banner-item + .bvh-banner-item {
        margin-top: 13px !important;
        padding-top: 18px !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(216,173,89,.35) !important;
    }
}

/* =========================================================
   TILLY'S — TOP SPECIAL OPENING INFORMATION BAR
   ========================================================= */

.bvt-special-topbar {
    width: 100% !important;
    margin: 0 !important;
    padding: 13px 24px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px 12px !important;
    text-align: center !important;
    background: #011e41 !important;
    border-top: 1px solid rgba(216,173,89,.35) !important;
    border-bottom: 1px solid rgba(216,173,89,.42) !important;
    font-family: var(--bv-font-body) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: rgba(255,255,255,.94) !important;
}

.bvt-special-topbar > strong {
    margin-right: 8px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 2.2px !important;
    color: #d8ad59 !important;
}

.bvt-special-topbar b {
    font-weight: 700 !important;
    color: #fff !important;
}

.bvt-special-separator {
    color: #d8ad59 !important;
    font-weight: 700 !important;
}

/* Special dates are now shown once, above the Restaurant hero. */
.bvh-special-banner {
    display: none !important;
}

@media (max-width: 700px) {
    .bvt-special-topbar {
        display: block !important;
        padding: 13px 18px 14px !important;
        font-size: 11px !important;
        line-height: 1.55 !important;
    }

    .bvt-special-topbar > strong {
        display: block !important;
        margin: 0 0 5px !important;
    }

    .bvt-special-topbar span {
        display: inline !important;
    }
}

/* =========================================================
   BAYVIEW CTA — PREMIUM SITE-WIDE UPDATE
   Added 17 September 2026
   CSS only — no images
   ========================================================= */

/* Richer navy treatment */
.bv-section.bv-section-white .bv-cta-box {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216,173,89,.15) 0, rgba(216,173,89,.045) 24%, transparent 46%),
        radial-gradient(circle at 91% 92%, rgba(111,168,220,.10) 0, transparent 38%),
        linear-gradient(135deg, #011e41 0%, #052a53 52%, #011e41 100%) !important;
    border: 1px solid rgba(216,173,89,.38) !important;
    box-shadow: 0 18px 46px rgba(1,30,65,.13) !important;
}

/* Decorative gold contour — CSS only */
.bv-section.bv-section-white .bv-cta-box::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: -155px !important;
    right: -105px !important;
    width: 310px !important;
    height: 310px !important;
    border: 1px solid rgba(216,173,89,.16) !important;
    border-radius: 50% !important;
    box-shadow:
        0 0 0 42px rgba(216,173,89,.028),
        0 0 0 84px rgba(216,173,89,.018) !important;
    pointer-events: none !important;
}

/* Subtle diagonal light sweep */
.bv-section.bv-section-white .bv-cta-box::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    left: -12% !important;
    bottom: -100px !important;
    width: 125% !important;
    height: 165px !important;
    background: linear-gradient(
        105deg,
        transparent 8%,
        rgba(255,255,255,.025) 48%,
        rgba(216,173,89,.07) 100%
    ) !important;
    transform: rotate(-4deg) !important;
    pointer-events: none !important;
}

/* Keep CTA content above decorative layers */
.bv-section.bv-section-white .bv-cta-box > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Slightly stronger premium typography */
.bv-section.bv-section-white .bv-cta-box .bv-eyebrow {
    letter-spacing: 2.5px !important;
}

.bv-section.bv-section-white .bv-cta-box .bv-title {
    color: #ffffff !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.08) !important;
}

/* Refined gold CTA button */
.bv-section.bv-section-white .bv-cta-box .bv-button {
    position: relative !important;
    z-index: 3 !important;
    min-height: 46px !important;
    padding: 13px 28px !important;
    background: linear-gradient(180deg, #e2bb69 0%, #d8ad59 100%) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
    letter-spacing: .8px !important;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.bv-section.bv-section-white .bv-cta-box .bv-button:hover,
.bv-section.bv-section-white .bv-cta-box .bv-button:focus {
    background: linear-gradient(180deg, #edc97d 0%, #dfb760 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 25px rgba(0,0,0,.17) !important;
}

/* Mobile: keep decoration restrained */
@media (max-width: 700px) {
    .bv-section.bv-section-white .bv-cta-box::before {
        top: -185px !important;
        right: -155px !important;
    }

    .bv-section.bv-section-white .bv-cta-box::after {
        bottom: -125px !important;
    }
}

/* =========================================================
   BAYVIEW VOUCHERS
   Universal BayView typography + current WordPress styling
   ========================================================= */

.bv-vouchers {
    background: #fff;
    color: #011e41;
    font-family: Arial, Helvetica, sans-serif;
}

.bv-vouchers *,
.bv-vouchers *::before,
.bv-vouchers *::after {
    box-sizing: border-box;
}

.bv-vouchers h1,
.bv-vouchers h2,
.bv-vouchers h3 {
    font-family: Georgia, "Times New Roman", serif;
    color: #011e41;
    font-weight: 400;
}

.bv-vouchers .bv-kicker {
    margin-bottom: 14px;
    color: #d8ad59;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.4;
    text-transform: uppercase;
}

.bv-vouchers .bv-divider {
    position: relative;
    width: 66px;
    height: 18px;
    margin: 15px auto 20px;
    background:
        linear-gradient(
            45deg,
            transparent 46%,
            #d8ad59 47%,
            #d8ad59 53%,
            transparent 54%
        )
        center / 8px 8px no-repeat;
}

.bv-vouchers .bv-divider::before,
.bv-vouchers .bv-divider::after {
    content: "";
    position: absolute;
    top: 8px;
    width: 27px;
    height: 1px;
    background: #d8ad59;
}

.bv-vouchers .bv-divider::before { left: 0; }
.bv-vouchers .bv-divider::after { right: 0; }

/* Hero */
.bv-voucher-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 90px 24px;
    background:
        url("/wp-content/uploads/2026/10/Golden-Hour-Coastal-Gift-Retreat.png")
        center center / cover no-repeat;
}

.bv-voucher-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(1, 30, 65, 0.67);
}

.bv-voucher-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.bv-voucher-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.08;
}

.bv-voucher-hero p {
    max-width: 650px;
    margin: 0 auto 30px;
    color: rgba(255,255,255,.94);
    font-size: 17px;
    line-height: 1.7;
}

/* Gold button */
.bv-vouchers .bv-gold-button {
    display: inline-block;
    padding: 16px 30px;
    background: #d8ad59;
    border: 1px solid #d8ad59;
    border-radius: 4px;
    color: #011e41 !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-decoration: none !important;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.bv-vouchers .bv-gold-button:hover {
    background: #fff;
    color: #011e41 !important;
    transform: translateY(-1px);
}

/* Intro */
.bv-voucher-intro {
    padding: 85px 24px 95px;
    background: #f7f3eb;
}

.bv-voucher-container {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.bv-voucher-intro h2 {
    max-width: 720px;
    margin: 0 auto;
    font-size: clamp(34px, 4vw, 46px);
    line-height: 1.15;
}

.bv-voucher-lead {
    max-width: 690px;
    margin: 0 auto;
    color: #526176;
    font-size: 16px;
    line-height: 1.8;
}

/* Benefit cards */
.bv-voucher-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 50px;
    text-align: left;
}

.bv-voucher-benefit {
    position: relative;
    min-height: 220px;
    padding: 32px 30px;
    overflow: hidden;
    background:
        radial-gradient(circle at 95% 5%, rgba(216,173,89,.09), transparent 42%),
        linear-gradient(145deg, #011e41 0%, #052a53 55%, #011e41 100%);
    border-top: 2px solid #d8ad59;
}

.bv-voucher-benefit::after {
    content: "";
    position: absolute;
    right: -75px;
    bottom: -115px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(216,173,89,.13);
    border-radius: 50%;
    box-shadow:
        0 0 0 34px rgba(216,173,89,.025),
        0 0 0 68px rgba(216,173,89,.015);
    pointer-events: none;
}

.bv-voucher-benefit span {
    position: relative;
    z-index: 2;
    display: block;
    margin-bottom: 13px;
    color: #d8ad59;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.2px;
}

.bv-voucher-benefit h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 14px;
    color: #fff;
    font-size: 23px;
    line-height: 1.2;
}

.bv-voucher-benefit p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: rgba(255,255,255,.91);
    font-size: 14px;
    line-height: 1.7;
}

/* Gift Up purchase section */
.bv-voucher-purchase {
    padding: 90px 24px;
    background: #fff;
}

.bv-voucher-purchase-inner {
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

.bv-voucher-purchase h2 {
    max-width: 720px;
    margin: 0 auto;
    font-size: clamp(34px, 4vw, 46px);
    line-height: 1.15;
}

.bv-voucher-purchase-inner > p {
    margin: 0 auto 40px;
    color: #526176;
    font-size: 16px;
    line-height: 1.7;
}

.bv-giftup-wrap {
    margin-top: 38px;
    padding: 35px;
    background: #f7f3eb;
    border-top: 2px solid #d8ad59;
    text-align: left;
}

@media (max-width: 800px) {
    .bv-voucher-hero {
        min-height: 440px;
        padding: 70px 20px;
    }

    .bv-voucher-hero h1 {
        font-size: 42px;
    }

    .bv-voucher-benefits {
        grid-template-columns: 1fr;
    }

    .bv-voucher-benefit {
        min-height: 0;
    }

    .bv-voucher-intro,
    .bv-voucher-purchase {
        padding: 65px 20px;
    }

    .bv-giftup-wrap {
        padding: 22px 15px;
    }
}

@media (max-width: 520px) {
    .bv-voucher-hero h1 {
        font-size: 36px;
    }

    .bv-voucher-hero p {
        font-size: 15px;
    }

    .bv-voucher-intro h2,
    .bv-voucher-purchase h2 {
        font-size: 32px;
    }
}

/* =========================================================
   VOUCHERS — FULL WIDTH FIX
   Breaks the page design out of the WordPress content column
   while retaining centred BayView content widths.
   ========================================================= */

.bv-vouchers {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.bv-voucher-hero {
    width: 100%;
    max-width: none;
}

.bv-voucher-hero-inner {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.bv-voucher-container {
    width: 100%;
    max-width: 1150px;
    margin-left: auto;
    margin-right: auto;
}

.bv-voucher-purchase-inner {
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
/* BayView Offers v1.0 — scoped styles; does not alter universal Site Shell */
.bv-offer-page,.bv-offers-archive{font-family:Arial,Helvetica,sans-serif;color:#0b2341}.bv-offer-page *,.bv-offers-archive *{box-sizing:border-box}.bv-offer-page h1,.bv-offer-page h2,.bv-offers-archive h1,.bv-offers-card strong{font-family:Georgia,'Times New Roman',serif;font-weight:400}.bv-offer-inner{max-width:1100px;margin:auto;padding:0 28px}.bv-offer-kicker{display:block;color:#dfb86e;letter-spacing:.22em;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:20px}.bv-offer-hero{position:relative;isolation:isolate;min-height:540px;display:flex;align-items:center;background:#091a30;color:#fff;overflow:hidden}.bv-offer-hero:before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(5,19,37,.96) 0%,rgba(5,19,37,.8) 45%,rgba(5,19,37,.24) 100%),var(--bv-offer-hero,linear-gradient(130deg,#142c48,#071526));background-size:cover;background-position:center}.bv-offer-hero:after{content:'✧   ✦   ✧';position:absolute;right:4%;top:8%;font-size:44px;letter-spacing:25px;color:#d8ad59;opacity:.55;pointer-events:none}.bv-offer-hero .bv-offer-inner{width:100%;padding-top:85px;padding-bottom:85px}.bv-offer-hero h1{font-size:clamp(45px,6vw,86px);line-height:1.05;color:white;max-width:780px;margin:0 0 24px}.bv-offer-hero p{font-size:17px;line-height:1.75;max-width:570px;color:#fff}.bv-offer-dates{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.bv-offer-dates span{border:1px solid #d8ad59;border-radius:10px;padding:15px 22px;color:#fff;font-weight:700}.bv-offer-intro{text-align:center;background:#fcf9f3;padding:82px 0 74px}.bv-offer-intro .bv-offer-kicker{color:#b48a45}.bv-offer-intro h2,.bv-offer-book h2{font-size:clamp(30px,4vw,48px);line-height:1.18;margin:0 0 24px}.bv-offer-description{max-width:780px;margin:0 auto 40px;line-height:1.8;font-size:17px}.bv-offer-included{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.bv-offer-included li{padding:24px 16px;border-top:2px solid #d8ad59;font-weight:600;line-height:1.55}.bv-offer-packages{background:linear-gradient(125deg,#efe4d3,#faf6ed);padding:70px 0}.bv-offer-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bv-offer-package{border:1px solid #d8ad59;background:#fff;border-radius:15px;padding:44px 35px;text-align:center;box-shadow:0 10px 35px #0b234112}.bv-offer-package h2{font-size:30px;margin:0 0 18px}.bv-offer-price{font-family:Georgia,serif;color:#b48a45;font-size:68px;line-height:1.15}.bv-offer-package>span{font-size:13px}.bv-offer-package p{line-height:1.7;margin:25px auto 0;max-width:350px}.bv-offer-package-dark{background:#0b2341;color:#fff}.bv-offer-package-dark h2{color:#fff}.bv-offer-book{text-align:center;background:#0b2341;color:white;padding:85px 0 95px}.bv-offer-book h2{color:white}.bv-offer-book p{max-width:630px;margin:0 auto 32px;line-height:1.75}.bv-offer-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.bv-offer-actions a{display:inline-block;padding:17px 29px;border:1px solid #d8ad59;border-radius:40px;color:#0b2341!important;background:#d8ad59;font-weight:700;text-decoration:none!important}.bv-offer-actions a+a{color:#fff!important;background:transparent}.bv-offer-actions a:hover{filter:brightness(1.12)}.bv-offer-email{display:block;margin-top:22px;color:#e4c991}.bv-offers-archive-hero{text-align:center;background:#f7f3eb;padding:85px 24px}.bv-offers-archive-hero span,.bv-offers-card small{color:#b48a45;letter-spacing:.17em;font-size:11px;font-weight:700}.bv-offers-archive-hero h1{font-size:clamp(34px,5vw,55px);margin:15px 0}.bv-offers-archive-body{max-width:1100px;margin:70px auto;padding:0 24px}.bv-offers-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bv-offers-card{display:block;border:1px solid #e8dfd1;border-radius:12px;overflow:hidden;text-decoration:none!important;color:#0b2341!important;background:white}.bv-offers-card img{width:100%;height:260px;object-fit:cover}.bv-offers-card>span{display:grid;gap:12px;padding:26px}.bv-offers-card strong{font-size:30px}.bv-offers-card em{font-style:normal;line-height:1.6}.bv-offers-card b{color:#a77a33;font-size:12px;letter-spacing:.1em}@media(max-width:700px){.bv-offer-hero{min-height:450px}.bv-offer-hero .bv-offer-inner{padding-top:65px;padding-bottom:65px}.bv-offer-included,.bv-offer-package-grid,.bv-offers-list{grid-template-columns:1fr}.bv-offer-included{gap:0}.bv-offer-included li{padding:17px}.bv-offer-package{padding:32px 22px}.bv-offer-price{font-size:56px}.bv-offer-hero:after{font-size:22px;letter-spacing:8px}}

/* v1.1: Full-document offer templates share the existing Site Shell, without theme wrappers. */
body.bv-offers-document{margin:0!important;background:#fff;overflow-x:hidden}body.bv-offers-document .bv-offers-main{display:block;width:100%;max-width:none;margin:0;padding:0}body.bv-offers-document .bv-offer-page,body.bv-offers-document .bv-offers-archive{width:100%;max-width:none;margin:0;padding:0}body.bv-offers-document .bv-site-header,body.bv-offers-document .bv-site-footer{width:100%}body.bv-offers-document .bv-offer-hero{width:100%;max-width:none}body.bv-offers-document .bv-offer-hero h1{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important}body.bv-offers-document .bv-offer-page p{margin-top:0}body.bv-offers-document .bv-offer-page .bv-offer-inner{box-sizing:border-box}body.bv-offers-document .bv-offer-hero .bv-offer-inner{margin-left:auto;margin-right:auto}body.bv-offers-document .bv-offer-intro h2,body.bv-offers-document .bv-offer-package h2,body.bv-offers-document .bv-offer-book h2{font-family:Georgia,'Times New Roman',serif!important}

/* v1.2: Editable celebration/packages headings, diamond divider and optional gallery */
.bv-offer-page .bv-offer-diamond{position:relative;width:140px;height:18px;margin:10px auto 28px;background:linear-gradient(#d8ad59,#d8ad59) center/100% 1px no-repeat}.bv-offer-page .bv-offer-diamond:after{content:"";position:absolute;top:6px;left:calc(50% - 5px);width:10px;height:10px;background:#fcf9f3;border:1px solid #d8ad59;transform:rotate(45deg)}
.bv-offer-page .bv-offer-packages .bv-offer-diamond:after{background:#f5eee2}.bv-offer-page .bv-offer-section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.bv-offer-page .bv-offer-section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,4vw,50px);line-height:1.2;margin:0}.bv-offer-page .bv-offer-section-heading p{font-size:17px;line-height:1.75;margin:0 auto;max-width:680px}.bv-offer-page .bv-offer-description p{margin:0 auto 16px}.bv-offer-page .bv-offer-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#fff;padding:8px}.bv-offer-page .bv-offer-gallery figure{margin:0;min-width:0}.bv-offer-page .bv-offer-gallery img{display:block;width:100%;height:310px;object-fit:cover}.bv-offer-page .bv-offer-packages .bv-offer-package-grid{max-width:1000px;margin:auto}@media(max-width:700px){.bv-offer-page .bv-offer-gallery{grid-template-columns:1fr}.bv-offer-page .bv-offer-gallery img{height:240px}.bv-offer-page .bv-offer-section-heading{margin-bottom:28px}}

/* v1.3 — single celebration divider and premium icon highlights. */
.bv-offer-page .bv-offer-intro .bv-offer-diamond{display:none!important}
.bv-offer-page .bv-offer-intro .bv-offer-inner>h2::after{content:"";display:block;width:140px;height:18px;margin:18px auto 26px;background:linear-gradient(#d8ad59,#d8ad59) center/100% 1px no-repeat;clip-path:none}
.bv-offer-page .bv-offer-intro .bv-offer-inner>h2{margin-bottom:0}
.bv-offer-page .bv-offer-included{list-style:none!important;margin:30px auto 0!important;padding:0!important;max-width:1000px;gap:0!important;align-items:stretch}
.bv-offer-page .bv-offer-included li{border:0!important;background:transparent!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:13px;padding:10px 22px!important;min-width:0;text-align:center;color:#0b2341;font-size:16px;line-height:1.45}
.bv-offer-page .bv-offer-included li+li{border-left:1px solid #e7dccc!important}
.bv-offer-page .bv-offer-highlight-icon{width:76px;height:76px;min-width:76px;display:grid;place-items:center;border:1.5px solid #bd8d39;border-radius:50%;background:#fffdf9;color:#b68430}
.bv-offer-page .bv-offer-highlight-icon svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bv-offer-page .bv-offer-highlight-label{display:block;max-width:190px;font-weight:600}
@media(max-width:700px){.bv-offer-page .bv-offer-included{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:22px!important}.bv-offer-page .bv-offer-included li:nth-child(odd){border-left:0!important}.bv-offer-page .bv-offer-included li{padding:10px!important;font-size:14px}.bv-offer-page .bv-offer-highlight-icon{width:65px;height:65px;min-width:65px}.bv-offer-page .bv-offer-highlight-icon svg{width:34px;height:34px}}

/* v1.4 — one aligned gold rule/diamond and user-uploaded gold highlight icons */
.bv-offer-page .bv-offer-intro .bv-offer-inner>h2::before,.bv-offer-page .bv-offer-intro .bv-offer-inner>h2::after{content:none!important;display:none!important;background:none!important;border:0!important}
.bv-offer-page .bv-offer-intro .bv-offer-diamond.bv-offer-celebration-diamond{display:block!important}
.bv-offer-page .bv-offer-intro .bv-offer-inner>h2{margin:0!important}
.bv-offer-page .bv-offer-diamond,.bv-offer-page .bv-offer-intro .bv-offer-diamond.bv-offer-celebration-diamond{display:block!important;position:relative!important;width:170px!important;height:18px!important;margin:18px auto 28px!important;background:linear-gradient(#c99a4b,#c99a4b) center/100% 1px no-repeat!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.bv-offer-page .bv-offer-diamond::before{content:none!important;display:none!important}
.bv-offer-page .bv-offer-diamond::after{content:""!important;display:block!important;position:absolute!important;left:calc(50% - 5px)!important;top:4px!important;width:10px!important;height:10px!important;transform:rotate(45deg)!important;background:#fcf9f3!important;border:1px solid #c99a4b!important;box-sizing:border-box!important}
.bv-offer-page .bv-offer-packages .bv-offer-diamond::after{background:#f5eee2!important}
.bv-offer-page .bv-offer-highlight-icon{width:76px!important;height:76px!important;min-width:76px!important;overflow:hidden!important}
.bv-offer-page .bv-offer-highlight-icon .bv-offer-uploaded-icon{display:block!important;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;filter:brightness(0) saturate(100%) invert(57%) sepia(39%) saturate(739%) hue-rotate(356deg) brightness(91%) contrast(85%)!important;mix-blend-mode:multiply}
@media(max-width:700px){.bv-offer-page .bv-offer-highlight-icon{width:65px!important;height:65px!important;min-width:65px!important}.bv-offer-page .bv-offer-highlight-icon .bv-offer-uploaded-icon{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}}

/* End of unified BayView stylesheet. */

/* BayView Offers v1.5 — two-line highlight copy; all other site styling retained */
.bv-offer-included .bv-offer-highlight-label{display:flex;flex-direction:column;align-items:center;gap:6px;line-height:1.4;text-align:center}
.bv-offer-included .bv-offer-highlight-title{display:block;color:#011e41;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;line-height:1.35}
.bv-offer-included .bv-offer-highlight-description{display:block;color:#40516a;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:400;line-height:1.45;max-width:190px}


/* BayView Offers 1.5.6 — refined package cards; scoped to Offers only. */
body .bv-offer-page .bv-offer-packages .bv-offer-package-dates{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:12px!important;max-width:1000px!important;margin:0 auto 25px!important;padding:0 12px!important;border:0!important;background:transparent!important;box-shadow:none!important}
body .bv-offer-page .bv-offer-package-dates-label{display:inline!important;margin:0!important;color:#a77a32!important;font:700 11px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.16em!important}
body .bv-offer-page .bv-offer-package-dates-values{display:inline!important;color:#011e41!important;font:600 14px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:0!important}
body .bv-offer-page .bv-offer-package-dates-values>span{padding:0 5px;color:#b48a45}
body .bv-offer-page .bv-offer-package-grid{max-width:1000px!important;align-items:stretch!important;gap:22px!important}
body .bv-offer-page .bv-offer-package{display:flex!important;flex-direction:column!important;align-items:center!important;min-height:410px!important;padding:34px 32px 30px!important;border:1px solid #d8ad59!important;border-radius:14px!important;box-shadow:0 10px 30px rgba(11,35,65,.07)!important}
body .bv-offer-page .bv-offer-package-tag{display:inline-block!important;margin:0 0 18px!important;color:#a77a32!important;font:700 10px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:.17em!important;text-transform:uppercase!important}
body .bv-offer-page .bv-offer-package-dark .bv-offer-package-tag{color:#e3bd78!important}
body .bv-offer-page .bv-offer-package h2{margin:0 0 15px!important;font:400 clamp(25px,2.4vw,32px)/1.18 Georgia,'Times New Roman',serif!important;color:#011e41!important}
body .bv-offer-page .bv-offer-package-dark h2{color:#fff!important}
body .bv-offer-page .bv-offer-package .bv-offer-price{font:400 65px/1.05 Georgia,'Times New Roman',serif!important;color:#ad833f!important}
body .bv-offer-page .bv-offer-package-dark .bv-offer-price{color:#d8ad59!important}
body .bv-offer-page .bv-offer-package .bv-offer-price-note{display:block!important;margin:7px 0 0!important;font-size:12px!important;color:#011e41!important}
body .bv-offer-page .bv-offer-package-dark .bv-offer-price-note{color:#fff!important}
body .bv-offer-page .bv-offer-package-rule{height:1px;width:75px;margin:22px auto 2px;background:#d8ad59}
body .bv-offer-page .bv-offer-package p{margin:18px auto 12px!important;max-width:330px!important;font:400 16px/1.65 Arial,Helvetica,sans-serif!important;color:#011e41!important}
body .bv-offer-page .bv-offer-package-dark p{color:#fff!important}
body .bv-offer-page .bv-offer-package-features{display:block!important;margin:0 auto 24px!important;font:400 13px/1.6 Arial,Helvetica,sans-serif!important;color:#8e6b34!important}
body .bv-offer-page .bv-offer-package-dark .bv-offer-package-features{color:#e7c88e!important}
body .bv-offer-page .bv-offer-package-button{display:block!important;width:min(100%,255px)!important;margin:auto auto 0!important;padding:13px 18px!important;border:1px solid #d8ad59!important;border-radius:50px!important;background:#d8ad59!important;color:#011e41!important;text-decoration:none!important;text-align:center!important;font:700 12px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:.09em!important}
body .bv-offer-page .bv-offer-package-button:hover{background:#edca85!important;border-color:#edca85!important}
@media(max-width:700px){body .bv-offer-page .bv-offer-package-grid{grid-template-columns:1fr!important}body .bv-offer-page .bv-offer-package{min-height:0!important;padding:30px 23px!important}body .bv-offer-page .bv-offer-package-dates{flex-direction:column!important;gap:4px!important}body .bv-offer-page .bv-offer-package-dates-values{font-size:13px!important;text-align:center!important}}

/* Footer contact: match reservations email to the other footer text. */
.bv-site-footer .bv-footer-email,
.bv-site-footer .bv-footer-email a,
.bv-site-footer a[href="mailto:reservations@bayviewdownings.com"] {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: anywhere;
}


/* =========================================================
   CTA BACKGROUND ARTWORK RESTORED — 22 SEPTEMBER 2026
   Keep existing CTA layout, gold contour and footer unchanged.
   ========================================================= */
.bv-section.bv-section-white .bv-cta-box::after {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: url("/wp-content/uploads/2026/10/cropped-Bayview-Logo-1.png") !important;
    background-repeat: no-repeat !important;
    background-position: 7% 50% !important;
    background-size: min(43%, 390px) auto !important;
    opacity: .10 !important;
    filter: brightness(0) invert(1) !important;
    transform: none !important;
    pointer-events: none !important;
}
.bv-section.bv-section-white .bv-cta-box > * {
    position: relative !important;
    z-index: 2 !important;
}
@media (max-width: 700px) {
    .bv-section.bv-section-white .bv-cta-box::after {
        background-size: 75% auto !important;
        background-position: center 50% !important;
        opacity: .065 !important;
    }
}

/* =========================================================
   BAYVIEW CTA — VERTICAL GOLD LOGO / FULL MASTER UPDATE
   22 September 2026
   ========================================================= */
.bv-section.bv-section-white .bv-cta-box {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:320px!important;
  padding:48px 42px 48px 270px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:radial-gradient(circle at 100% 0%,rgba(216,173,89,.09),transparent 34%),linear-gradient(115deg,#142d46 0%,#09264a 60%,#102d4d 100%)!important;
  border-radius:16px!important;
}
.bv-section.bv-section-white .bv-cta-box::before {
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:22px!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  width:240px!important;
  height:245px!important;
  transform:translateY(-50%)!important;
  background-image:url("/wp-content/uploads/2026/10/cropped-Bayview-Logo-1.png")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-color:transparent!important;
  filter:brightness(0) saturate(100%) invert(72%) sepia(29%) saturate(610%) hue-rotate(356deg) brightness(91%) contrast(88%)!important;
  opacity:.48!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:0!important;
}
.bv-section.bv-section-white .bv-cta-box::after {
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:-185px!important;
  right:-115px!important;
  bottom:auto!important;
  left:auto!important;
  width:310px!important;
  height:310px!important;
  transform:none!important;
  background:none!important;
  opacity:1!important;
  filter:none!important;
  border:1px solid rgba(216,173,89,.42)!important;
  border-radius:50%!important;
  box-shadow:0 0 0 45px rgba(216,173,89,.035),0 0 0 85px rgba(216,173,89,.025)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.bv-section.bv-section-white .bv-cta-box > * {
  position:relative!important;
  z-index:2!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.bv-section.bv-section-white .bv-cta-box h2,
.bv-section.bv-section-white .bv-cta-box h3 {
  max-width:650px!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  line-height:1.15!important;
}
.bv-section.bv-section-white .bv-cta-box p {max-width:610px!important;}
@media(max-width:900px){
  .bv-section.bv-section-white .bv-cta-box{padding:44px 28px 44px 205px!important;min-height:290px!important;}
  .bv-section.bv-section-white .bv-cta-box::before{left:14px!important;width:185px!important;height:205px!important;}
}
@media(max-width:650px){
  .bv-section.bv-section-white .bv-cta-box{padding:145px 24px 38px!important;min-height:0!important;}
  .bv-section.bv-section-white .bv-cta-box::before{top:15px!important;left:50%!important;right:auto!important;width:160px!important;height:115px!important;transform:translateX(-50%)!important;opacity:.48!important;}
  .bv-section.bv-section-white .bv-cta-box::after{top:-135px!important;right:-115px!important;width:210px!important;height:210px!important;}
  .bv-section.bv-section-white .bv-cta-box h2,
  .bv-section.bv-section-white .bv-cta-box h3{font-size:clamp(27px,7vw,36px)!important;}
}

/* =========================================================
   BAYVIEW CTA — FINAL ARTWORK REFINEMENT
   Larger, warmer gold BayView mark with a taller composition.
   ========================================================= */
.bv-section.bv-section-white .bv-cta-box {
    min-height: 330px !important;
    padding-left: 300px !important;
}

.bv-section.bv-section-white .bv-cta-box::before {
    left: 30px !important;
    top: 51% !important;
    width: 250px !important;
    height: 285px !important;
    transform: translateY(-50%) rotate(-2deg) !important;
    background-size: 245px auto !important;
    background-position: center center !important;
    filter: brightness(0) saturate(100%) invert(77%) sepia(42%) saturate(690%) hue-rotate(352deg) brightness(96%) contrast(90%) !important;
    opacity: .62 !important;
}

/* Fine gold vertical accent gives the left artwork more height without
   altering the actual BayView logo artwork. */
.bv-section.bv-section-white .bv-cta-box {
    background:
        radial-gradient(circle at 100% 0%, rgba(216,173,89,.10), transparent 34%),
        radial-gradient(ellipse at 14% 52%, rgba(216,173,89,.055), transparent 31%),
        linear-gradient(115deg,#142d46 0%,#09264a 60%,#102d4d 100%) !important;
}

@media (max-width: 900px) {
    .bv-section.bv-section-white .bv-cta-box {
        min-height: 300px !important;
        padding-left: 220px !important;
    }

    .bv-section.bv-section-white .bv-cta-box::before {
        left: 12px !important;
        width: 205px !important;
        height: 245px !important;
        background-size: 200px auto !important;
        opacity: .58 !important;
    }
}

@media (max-width: 650px) {
    .bv-section.bv-section-white .bv-cta-box {
        min-height: 0 !important;
        padding: 150px 24px 38px !important;
    }

    .bv-section.bv-section-white .bv-cta-box::before {
        top: 14px !important;
        left: 50% !important;
        width: 205px !important;
        height: 125px !important;
        transform: translateX(-50%) rotate(-2deg) !important;
        background-size: 195px auto !important;
        opacity: .56 !important;
    }
}

/* =========================================================
   BAYVIEW CTA — CENTRED COPY + ANGLED GOLD UNDERLAY
   Overrides the earlier split-column CTA treatment only.
   ========================================================= */
.bv-section.bv-section-white .bv-cta-box {
  min-height: 285px !important;
  padding: 42px 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}
.bv-section.bv-section-white .bv-cta-box::before {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  width: 510px !important;
  height: 255px !important;
  top: 50% !important;
  left: 23% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) rotate(-18deg) !important;
  transform-origin: center !important;
  background-image: url("/wp-content/uploads/2026/10/cropped-Bayview-Logo-1.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-color: transparent !important;
  filter: brightness(0) saturate(100%) invert(77%) sepia(42%) saturate(690%) hue-rotate(352deg) brightness(96%) contrast(90%) !important;
  opacity: .16 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.bv-section.bv-section-white .bv-cta-box > * {
  position: relative !important;
  z-index: 2 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.bv-section.bv-section-white .bv-cta-box h2,
.bv-section.bv-section-white .bv-cta-box h3,
.bv-section.bv-section-white .bv-cta-box p {
  max-width: 690px !important;
}
@media (max-width: 650px) {
  .bv-section.bv-section-white .bv-cta-box {
    min-height: 275px !important;
    padding: 38px 22px !important;
  }
  .bv-section.bv-section-white .bv-cta-box::before {
    width: 340px !important;
    height: 200px !important;
    top: 50% !important;
    left: 28% !important;
    transform: translate(-50%, -50%) rotate(-18deg) !important;
    opacity: .13 !important;
  }
}

/* BAYVIEW CTA: remove logo underlay; retain centred content and decorative rings. */
.bv-section.bv-section-white .bv-cta-box::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

/* Guesthouse property link decoration must never leak into the universal footer.
   Keep the existing footer typography, layout, buttons and hover colours. */
.bv-site-footer .bv-footer-logo::before,
.bv-site-footer .bv-footer-logo::after,
.bv-site-footer .bv-footer-brand a::before,
.bv-site-footer .bv-footer-brand a::after,
.bv-site-footer .bv-footer-links a::before,
.bv-site-footer .bv-footer-links a::after,
.bv-site-footer .bv-footer-contact-column a:not(.bv-footer-book)::before,
.bv-site-footer .bv-footer-contact-column a:not(.bv-footer-book)::after {
    content: none !important;
    display: none !important;
}
.bv-site-footer .bv-footer-links a,
.bv-site-footer .bv-footer-brand a,
.bv-site-footer .bv-footer-contact-column a:not(.bv-footer-book) {
    background-image: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}


/* =========================================================
   UNIVERSAL FOOTER — GUESTHOUSE / SELF-CATERING ISOLATION
   Stop accommodation-card link decoration from leaking into
   the shared footer. Preserve footer colours, layout and CTA.
   ========================================================= */
.bv-site-footer .bv-footer-main a:not(.bv-footer-book),
.bv-site-footer .bv-footer-bottom a {
    position: static !important;
    display: inline !important;
    padding: 0 !important;
    margin-left: 0 !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
}
.bv-site-footer .bv-footer-logo,
.bv-site-footer .bv-footer-brand a {
    line-height: 0 !important;
}
.bv-site-footer .bv-footer-main a:not(.bv-footer-book)::before,
.bv-site-footer .bv-footer-main a:not(.bv-footer-book)::after,
.bv-site-footer .bv-footer-bottom a::before,
.bv-site-footer .bv-footer-bottom a::after,
.bv-site-footer .bv-footer-logo::before,
.bv-site-footer .bv-footer-logo::after,
.bv-site-footer .bv-footer-brand::before,
.bv-site-footer .bv-footer-brand::after,
.bv-site-footer .bv-footer-links li::before,
.bv-site-footer .bv-footer-links li::after,
.bv-site-footer .bv-footer-contact-column::before,
.bv-site-footer .bv-footer-contact-column::after {
    content: none !important;
    display: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
.bv-site-footer .bv-footer-main a:not(.bv-footer-book):hover,
.bv-site-footer .bv-footer-main a:not(.bv-footer-book):focus,
.bv-site-footer .bv-footer-bottom a:hover,
.bv-site-footer .bv-footer-bottom a:focus {
    color: #d8ad59 !important;
}
.bv-site-footer .bv-footer-logo img {
    display: block !important;
}
