/* ==========================================================================
   Build On Renovations - site-wide typography standardisation
   Source of truth: page 11386 (/services/bathroom-renovations-gold-coast-test/)
   Spec lifted verbatim from that page's .bo-bath system.
   Exact Funnel / Novamira. Delete this file + the sandbox loader to revert.
   ========================================================================== */

:root{
  --bo-fd:"Fraunces",Georgia,serif;
  --bo-fb:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* --------------------------------------------------------------------------
   A. FONT FAMILY - applies on every page, including the source pages.
   Family only. No sizes, weights or spacing touched here, so nothing reflows.
   !important is required because 469 module-level font settings exist in
   post content and would otherwise win the cascade.
   -------------------------------------------------------------------------- */
body,
body p, body li, body td, body th, body dd, body dt,
body label, body input, body select, body textarea, body button,
#main-header, #top-header, #et-top-navigation,
#top-menu li a, .nav li li a, .et_mobile_menu li a,
#main-footer, #footer-widgets, .et_pb_widget, .et_pb_widget a,
.et_pb_button, .et_pb_contact_form .input, .et_pb_contact_submit,
.et_pb_newsletter_button, .et_pb_promo_button, .et_pb_more_button{
  font-family:var(--bo-fb)!important;
}

body h1, body h2, body h3, body h4, body h5, body h6,
.et_pb_module_header, .entry-title, .et_pb_slide_title,
#main-footer h1, #main-footer h2, #main-footer h3, #main-footer h4,
#footer-widgets .title, #footer-widgets .widgettitle{
  font-family:var(--bo-fd)!important;
}

/* The source page renders accordion/toggle titles in the BODY face, not the
   display face. Preserve that exception everywhere. */
.et_pb_toggle_title, h5.et_pb_toggle_title, .et_pb_accordion .et_pb_toggle_title{
  font-family:var(--bo-fb)!important;
}

/* --------------------------------------------------------------------------
   B. TYPE SCALE - legacy pages only.
   Pages that already carry the design system (the source page, the approved
   homepage, the v2 set and the demo set) are excluded via .bo-typo-native so
   their own component rules keep winning. Values below are copied exactly
   from page 11386.
   -------------------------------------------------------------------------- */
body:not(.bo-typo-native) #main-content{
  line-height:1.65;
}

body:not(.bo-typo-native) #main-content h1,
body:not(.bo-typo-native) #main-content h2,
body:not(.bo-typo-native) #main-content h3,
body:not(.bo-typo-native) #main-content h4,
body:not(.bo-typo-native) #main-content h5,
body:not(.bo-typo-native) #main-content h6,
body:not(.bo-typo-native) #main-content .et_pb_module_header{
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.01em;
}

/* Clamps carry desktop -> tablet -> mobile in one declaration, exactly as the
   source page does. No breakpoint-specific overrides needed. */
body:not(.bo-typo-native) #main-content h1{font-size:clamp(2.4rem,5.4vw,4.1rem)}
body:not(.bo-typo-native) #main-content h2{font-size:clamp(1.85rem,3.4vw,2.8rem)}
body:not(.bo-typo-native) #main-content h3{font-size:1.3rem}
body:not(.bo-typo-native) #main-content h4{font-size:1.12rem}
/* h5/h6 are not defined on the source page - continued at the same ratio. */
body:not(.bo-typo-native) #main-content h5{font-size:1.02rem}
body:not(.bo-typo-native) #main-content h6{font-size:.92rem}

body:not(.bo-typo-native) #main-content p,
body:not(.bo-typo-native) #main-content li{
  font-size:1.02rem;
  line-height:1.65;
}

/* Toggle titles keep the source page's own size + weight. */
body:not(.bo-typo-native) #main-content .et_pb_toggle_title{
  font-size:1.05rem;
  font-weight:600;
  line-height:1.4;
  letter-spacing:0;
}

/* --------------------------------------------------------------------------
   C. BUTTONS - matches the source page's button typography.
   Type only: padding, radius, colour and borders are left to each page.
   -------------------------------------------------------------------------- */
body:not(.bo-typo-native) .et_pb_button,
body:not(.bo-typo-native) .et_pb_contact_submit,
body:not(.bo-typo-native) .et_pb_promo_button,
body:not(.bo-typo-native) .et_pb_more_button{
  font-weight:600!important;
  font-size:.95rem!important;
  line-height:1.4!important;
  letter-spacing:0!important;
}

/* --------------------------------------------------------------------------
   D. NAVIGATION + FOOTER - shared Divi Theme Builder templates, so these rules
   deliberately apply on every page including the source pages. The source page
   inherits Divi's Montserrat nav; standardising it to Inter is what makes the
   header read as one system with the body. Remove this block to keep the nav
   exactly as the source page renders it today.
   -------------------------------------------------------------------------- */
#top-menu li a, .et_mobile_menu li a, #et_mobile_nav_menu a{
  font-weight:500;
  letter-spacing:.01em;
}

#footer-widgets .title, #footer-widgets .widgettitle{
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
}

/* --------------------------------------------------------------------------
   E. FORMS - body face at the source page's input size.
   -------------------------------------------------------------------------- */
body:not(.bo-typo-native) #main-content input,
body:not(.bo-typo-native) #main-content select,
body:not(.bo-typo-native) #main-content textarea{
  font-size:1rem;
  line-height:1.4;
}

body:not(.bo-typo-native) #main-content label{
  font-size:.9rem;
  font-weight:600;
}

/* --------------------------------------------------------------------------
   F. v2 SCALE ALIGNMENT
   bo-v2.css is an earlier revision of the system with a slightly larger scale.
   The source page (11386) is the agreed source of truth, so its clamps are
   restated here for the v2 pages. Same specificity as bo-v2.css, and this file
   is enqueued after it, so these win on order. Family, weight, line-height and
   letter-spacing already match - sizes only.
   -------------------------------------------------------------------------- */
body.bo-v2 #main-content h1{font-size:clamp(2.4rem,5.4vw,4.1rem)}
body.bo-v2 #main-content h2{font-size:clamp(1.85rem,3.4vw,2.8rem)}
body.bo-v2 #main-content h3{font-size:1.3rem}
body.bo-v2 #main-content p,
body.bo-v2 #main-content li,
body.bo-v2 #main-content .et_pb_text,
body.bo-v2 #main-content .et_pb_blurb,
body.bo-v2 #main-content .et_pb_testimonial{font-size:1.02rem}
