
/* Berbeis Visual Pack (Per-Page Look & Feel) */
/* Uses CSS variables injected per page: --bvp-accent, --bvp-deep, --bvp-soft */

:root{
  --bvp-accent: #0B5FFF;
  --bvp-deep: #0B1F4B;
  --bvp-soft: #EEF4FF;
  --bvp-radius: 14px;
  --bvp-shadow: 0 10px 25px rgba(0,0,0,.08);
  --bvp-shadow-soft: 0 8px 20px rgba(0,0,0,.06);
}

/* Global polish */
body.berbeis-page{
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Links */
body.berbeis-page a{
  color: var(--bvp-accent);
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}
body.berbeis-page a:hover{
  opacity: .9;
}

/* Buttons (Astra + WP + Fluent Forms) */
body.berbeis-page .ast-button,
body.berbeis-page .button,
body.berbeis-page button,
body.berbeis-page input[type="submit"],
body.berbeis-page input[type="button"],
body.berbeis-page input[type="reset"],
body.berbeis-page .fluentform .ff-btn,
body.berbeis-page .fluentform button.ff-btn{
  background: var(--bvp-accent) !important;
  border-color: var(--bvp-accent) !important;
  color: #fff !important;
  border-radius: 12px !important;
  box-shadow: var(--bvp-shadow-soft);
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
body.berbeis-page .ast-button:hover,
body.berbeis-page .button:hover,
body.berbeis-page button:hover,
body.berbeis-page input[type="submit"]:hover,
body.berbeis-page .fluentform .ff-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--bvp-shadow);
}

/* Secondary buttons (outline style) */
body.berbeis-page .is-style-outline > .wp-block-button__link,
body.berbeis-page .wp-block-button__link.is-style-outline{
  background: transparent !important;
  color: var(--bvp-accent) !important;
  border: 2px solid var(--bvp-accent) !important;
}

/* Page header band (Astra pages) */
body.berbeis-page .ast-article-single .entry-header,
body.berbeis-page .site-content .entry-header{
  position: relative;
  padding: 28px 18px 20px 18px;
  margin-bottom: 14px;
  border-radius: var(--bvp-radius);
  background: linear-gradient(135deg, var(--bvp-soft), rgba(255,255,255,.85));
  box-shadow: var(--bvp-shadow-soft);
  overflow: hidden;
}
body.berbeis-page .ast-article-single .entry-header:before,
body.berbeis-page .site-content .entry-header:before{
  content: "";
  position: absolute;
  inset: -2px -2px auto -2px;
  height: 6px;
  background: linear-gradient(90deg, var(--bvp-accent), var(--bvp-deep));
}
body.berbeis-page .entry-title{
  margin: 0 0 8px 0 !important;
  letter-spacing: -0.02em;
}

/* Headings inside content */
body.berbeis-page .entry-content h2,
body.berbeis-page .entry-content h3{
  position: relative;
  padding-top: 10px;
  margin-top: 28px;
}
body.berbeis-page .entry-content h2:after{
  content:"";
  display:block;
  width: 64px;
  height: 4px;
  border-radius: 99px;
  margin-top: 10px;
  background: linear-gradient(90deg, var(--bvp-accent), rgba(11,95,255,0));
}
body.berbeis-page .entry-content h3:after{
  content:"";
  display:block;
  width: 42px;
  height: 3px;
  border-radius: 99px;
  margin-top: 8px;
  background: linear-gradient(90deg, var(--bvp-accent), rgba(11,95,255,0));
}

/* Content cards for Gutenberg Groups/Columns if present */
body.berbeis-page .wp-block-group.is-style-default,
body.berbeis-page .wp-block-group.has-background,
body.berbeis-page .wp-block-column{
  border-radius: var(--bvp-radius);
}
body.berbeis-page .wp-block-group.has-background{
  box-shadow: var(--bvp-shadow-soft);
}

/* Lists */
body.berbeis-page .entry-content ul > li::marker{
  color: var(--bvp-accent);
}

/* Quotes / callouts */
body.berbeis-page blockquote,
body.berbeis-page .wp-block-quote{
  border-left: 4px solid var(--bvp-accent);
  background: var(--bvp-soft);
  border-radius: 12px;
  padding: 14px 16px;
}

/* Tables */
body.berbeis-page table{
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: var(--bvp-shadow-soft);
}
body.berbeis-page table th{
  background: var(--bvp-soft);
}

/* Fluent Forms field focus */
body.berbeis-page .fluentform input:focus,
body.berbeis-page .fluentform textarea:focus,
body.berbeis-page .fluentform select:focus{
  border-color: var(--bvp-accent) !important;
  box-shadow: 0 0 0 3px rgba(11,95,255,.15) !important;
  outline: none !important;
}

/* Footer subtle top border */
body.berbeis-page .site-footer{
  position: relative;
}
body.berbeis-page .site-footer:before{
  content:"";
  display:block;
  height: 4px;
  background: linear-gradient(90deg, var(--bvp-accent), rgba(0,0,0,0));
}
