/* BORA Visual Blocks: strict global design system.
   Individual blocks may edit content and imagery, but typography roles and CTA radius
   are global by design so visual hierarchy cannot drift between pages. */
:root{
  --bvb-heading-desktop:45px;
  --bvb-heading-mobile:34px;
  --bvb-subtitle-desktop:18px;
  --bvb-subtitle-mobile:16px;
  --bvb-card-desktop:16px;
  --bvb-card-mobile:15px;
  --bvb-button-radius:8px;
  --bvb-heading-font:"Playfair Display",Georgia,serif;
  --bvb-subtitle-font:Manrope,Arial,sans-serif;
  --bvb-card-font:Manrope,Arial,sans-serif;
}

/* One typography for every major heading. */
body.bvb-managed-page h1,
body.bvb-managed-page h2,
body.bvb-managed-page .title-md,
body.bvb-managed-page .bora-team-title,
body.bvb-managed-page .bora-block-title,
body.bvb-managed-page .bora-vr-title,
body.bvb-managed-page .bora-reviews-title,
body.bvb-managed-page .bora-remont-process-title,
body.bvb-managed-page .bora-phone-video-title,
body.bvb-managed-page .bora-contacts-main-title{
  font-family:var(--bvb-heading-font)!important;
  font-size:var(--bvb-heading-desktop)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}

/* One typography for subtitles / introductory copy. */
body.bvb-managed-page .lead,
body.bvb-managed-page .hero-copy>p:not(.eyebrow),
body.bvb-managed-page .page-intro p:not(.eyebrow),
body.bvb-managed-page .quality-copy>p,
body.bvb-managed-page .trust-copy>p,
body.bvb-managed-page .contacts-trust-copy>p,
body.bvb-managed-page .office-copy>p,
body.bvb-managed-page .copy>p,
body.bvb-managed-page .overlay-copy>p,
body.bvb-managed-page .bora-phone-video-text{
  font-family:var(--bvb-subtitle-font)!important;
  font-size:var(--bvb-subtitle-desktop)!important;
  font-weight:400!important;
  line-height:1.55!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere;
}

/* One typography for cards and repeatable content. Titles differ only by weight. */
body.bvb-managed-page h3,
body.bvb-managed-page .card,
body.bvb-managed-page .card p,
body.bvb-managed-page .card li,
body.bvb-managed-page .card h3,
body.bvb-managed-page .feature,
body.bvb-managed-page .feature p,
body.bvb-managed-page .feature h3,
body.bvb-managed-page .project-card,
body.bvb-managed-page .project-card p,
body.bvb-managed-page .project-card h3,
body.bvb-managed-page .service-card,
body.bvb-managed-page .service-card p,
body.bvb-managed-page .service-card h3,
body.bvb-managed-page .payment-card,
body.bvb-managed-page .payment-card p,
body.bvb-managed-page .payment-card h3,
body.bvb-managed-page .bora-team-card,
body.bvb-managed-page .bora-team-card p,
body.bvb-managed-page .bora-team-card h3,
body.bvb-managed-page .contact-method-card,
body.bvb-managed-page .contact-method-card p,
body.bvb-managed-page .contact-method-card h3,
body.bvb-managed-page .blog-card,
body.bvb-managed-page .blog-card p,
body.bvb-managed-page .blog-card h3,
body.bvb-managed-page .bora-review-card,
body.bvb-managed-page .bora-review-text,
body.bvb-managed-page .faq-q,
body.bvb-managed-page .faq-a,
body.bvb-managed-page .checklist li,
body.bvb-managed-page .bora-remont-process-step-title,
body.bvb-managed-page .bora-remont-process-step-text{
  font-family:var(--bvb-card-font)!important;
  font-size:var(--bvb-card-desktop)!important;
  line-height:1.55!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere;
}
body.bvb-managed-page .card h3,
body.bvb-managed-page .feature h3,
body.bvb-managed-page .project-card h3,
body.bvb-managed-page .service-card h3,
body.bvb-managed-page .payment-card h3,
body.bvb-managed-page .bora-team-card h3,
body.bvb-managed-page .contact-method-card h3,
body.bvb-managed-page .blog-card h3,
body.bvb-managed-page .faq-q,
body.bvb-managed-page .bora-remont-process-step-title{font-weight:600!important;}

/* General body copy stays readable and cannot become tiny due to legacy inline rules. */
body.bvb-managed-page p:not(.lead),
body.bvb-managed-page li,
body.bvb-managed-page input,
body.bvb-managed-page select,
body.bvb-managed-page textarea{
  font-family:var(--bvb-card-font)!important;
  font-size:var(--bvb-card-desktop)!important;
  line-height:1.55!important;
}

/* Auxiliary labels are allowed to be smaller, but never below a readable floor. */
body.bvb-managed-page .eyebrow,
body.bvb-managed-page .bora-block-label,
body.bvb-managed-page .bora-team-label,
body.bvb-managed-page small,
body.bvb-managed-page .copyright{
  font-family:var(--bvb-card-font)!important;
  font-size:max(12px,calc(var(--bvb-card-desktop) - 3px))!important;
  line-height:1.35!important;
}

/* Same radius for every CTA/action button. UI controls (burger, carousel arrows, FAQ controls)
   are intentionally excluded because they are not CTA buttons. */
body.bvb-managed-page .btn,
body.bvb-managed-page .channel,
body.bvb-managed-page .channel-wide,
body.bvb-managed-page .form-button,
body.bvb-managed-page .cta-button,
body.bvb-managed-page .source-btn,
body.bvb-managed-page input[type="submit"]{
  border-radius:var(--bvb-button-radius)!important;
}
body.bvb-managed-page .btn,
body.bvb-managed-page .channel,
body.bvb-managed-page .channel-wide,
body.bvb-managed-page .form-button,
body.bvb-managed-page .cta-button,
body.bvb-managed-page .source-btn{
  font-family:var(--bvb-card-font)!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.2!important;
}

/* Readability guards. */
body.bvb-managed-page h1,
body.bvb-managed-page h2,
body.bvb-managed-page h3,
body.bvb-managed-page p,
body.bvb-managed-page li,
body.bvb-managed-page a{max-width:100%;}
body.bvb-managed-page .btn,
body.bvb-managed-page .channel,
body.bvb-managed-page .channel-wide{white-space:normal!important;text-align:center;min-width:0;}

@media(max-width:767px){
  body.bvb-managed-page h1,
  body.bvb-managed-page h2,
  body.bvb-managed-page .title-md,
  body.bvb-managed-page .bora-team-title,
  body.bvb-managed-page .bora-block-title,
  body.bvb-managed-page .bora-vr-title,
  body.bvb-managed-page .bora-reviews-title,
  body.bvb-managed-page .bora-remont-process-title,
  body.bvb-managed-page .bora-phone-video-title,
  body.bvb-managed-page .bora-contacts-main-title{font-size:var(--bvb-heading-mobile)!important;line-height:1.1!important;}

  body.bvb-managed-page .lead,
  body.bvb-managed-page .hero-copy>p:not(.eyebrow),
  body.bvb-managed-page .page-intro p:not(.eyebrow),
  body.bvb-managed-page .quality-copy>p,
  body.bvb-managed-page .trust-copy>p,
  body.bvb-managed-page .contacts-trust-copy>p,
  body.bvb-managed-page .office-copy>p,
  body.bvb-managed-page .copy>p,
  body.bvb-managed-page .overlay-copy>p,
  body.bvb-managed-page .bora-phone-video-text{font-size:var(--bvb-subtitle-mobile)!important;line-height:1.5!important;}

  body.bvb-managed-page h3,
  body.bvb-managed-page .card,
  body.bvb-managed-page .card p,
  body.bvb-managed-page .card li,
  body.bvb-managed-page .card h3,
  body.bvb-managed-page .feature,
  body.bvb-managed-page .feature p,
  body.bvb-managed-page .feature h3,
  body.bvb-managed-page .project-card,
  body.bvb-managed-page .project-card p,
  body.bvb-managed-page .project-card h3,
  body.bvb-managed-page .service-card,
  body.bvb-managed-page .service-card p,
  body.bvb-managed-page .service-card h3,
  body.bvb-managed-page .payment-card,
  body.bvb-managed-page .payment-card p,
  body.bvb-managed-page .payment-card h3,
  body.bvb-managed-page .bora-team-card,
  body.bvb-managed-page .bora-team-card p,
  body.bvb-managed-page .bora-team-card h3,
  body.bvb-managed-page .contact-method-card,
  body.bvb-managed-page .contact-method-card p,
  body.bvb-managed-page .contact-method-card h3,
  body.bvb-managed-page .blog-card,
  body.bvb-managed-page .blog-card p,
  body.bvb-managed-page .blog-card h3,
  body.bvb-managed-page .bora-review-card,
  body.bvb-managed-page .bora-review-text,
  body.bvb-managed-page .faq-q,
  body.bvb-managed-page .faq-a,
  body.bvb-managed-page .checklist li,
  body.bvb-managed-page .bora-remont-process-step-title,
  body.bvb-managed-page .bora-remont-process-step-text,
  body.bvb-managed-page p:not(.lead),
  body.bvb-managed-page li,
  body.bvb-managed-page input,
  body.bvb-managed-page select,
  body.bvb-managed-page textarea{font-size:var(--bvb-card-mobile)!important;line-height:1.5!important;}

  body.bvb-managed-page .eyebrow,
  body.bvb-managed-page .bora-block-label,
  body.bvb-managed-page .bora-team-label,
  body.bvb-managed-page small,
  body.bvb-managed-page .copyright{font-size:max(12px,calc(var(--bvb-card-mobile) - 2px))!important;}

  body.bvb-managed-page .btn,
  body.bvb-managed-page .channel,
  body.bvb-managed-page .channel-wide,
  body.bvb-managed-page .form-button,
  body.bvb-managed-page .cta-button,
  body.bvb-managed-page .source-btn{font-size:14px!important;min-height:44px;}
}
