/* CEMENTARE — GLOBAL TYPOGRAPHY STANDARD V2
   Scope: typography only. Loaded last to defeat legacy font/size overrides.
   Font loading note: Inter family is kept via the existing Inter loader in
   cementare-inter-global-v1.css; this file standardises family/size/weight/leading. */

:root{
  --ct-font-sans:"Inter",Arial,Helvetica,sans-serif;
  --ct-weight-regular:400;
  --ct-weight-medium:500;

  --ct-fs-home-hero:80px;
  --ct-fs-inner-hero:64px;
  --ct-fs-section:44px;
  --ct-fs-subtitle:22px;
  --ct-fs-body:16px;
  --ct-fs-cta:14px;
  --ct-fs-label:11px;
  --ct-fs-footer-link:14px;
  --ct-fs-main-nav:15px;
  --ct-fs-mobile-nav:16px;
  --ct-fs-mega-brand:14px;
  --ct-fs-mobile-mega-brand:15px;
  --ct-fs-mega-product:14px;

  --ct-lh-heading:1.05;
  --ct-lh-subtitle:1.3;
  --ct-lh-body:1.65;
  --ct-lh-link:1.4;
}

/* Base family + regular text. Icon fonts are explicitly excluded below. */
html,body,
body :where(h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,em,i,button,input,textarea,select,option,label,li,dt,dd,blockquote,figcaption,table,th,td,legend){
  font-family:var(--ct-font-sans)!important;
}
html body :where(h1,h2,h3,h4,h5,h6,p){font-weight:var(--ct-weight-regular)!important;}
html body :where(p,p[class],li,dd,dt,blockquote,figcaption,input,textarea,select,option){
  font-size:var(--ct-fs-body)!important;
  line-height:var(--ct-lh-body)!important;
}
html body :where(h1,h2,h3,h4,h5,h6) strong,
html body :where(h1,h2,h3,h4,h5,h6) b{font-weight:var(--ct-weight-regular)!important;}

/* Primary heading scale. */
html body.ct-index-logo-align .cmt-mbz-title-col h1,
html body.ct-index-logo-align #cb119-hero-title{
  font-size:var(--ct-fs-home-hero)!important;
  line-height:var(--ct-lh-heading)!important;
  font-weight:var(--ct-weight-regular)!important;
}
html body.ct-cementare-page:not(.ct-index-logo-align) h1,
html body.ct-cementare-page:not(.ct-index-logo-align) h1[class]{
  font-size:var(--ct-fs-inner-hero)!important;
  line-height:var(--ct-lh-heading)!important;
  font-weight:var(--ct-weight-regular)!important;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
}
html body h2,
html body h2[class]{
  font-size:var(--ct-fs-section)!important;
  line-height:var(--ct-lh-heading)!important;
  font-weight:var(--ct-weight-regular)!important;
}
html body h3,
html body h3[class],
html body .cmt-mbz-subtitle{
  font-size:var(--ct-fs-subtitle)!important;
  line-height:var(--ct-lh-subtitle)!important;
  font-weight:var(--ct-weight-regular)!important;
}

/* Small editorial labels / kickers / eyebrows. */
html body :is(
  .cmt-mbz-kicker,.cb119-kicker,
  .c8-kicker,.c16-cta-kicker,.c35-eyebrow,.c35-manifesto-label,.c40-material-eyebrow,
  .mc-kicker,.bc-kicker,.cc-eyebrow,.cf-kicker,
  .ct-color-kicker,.ct-about-label,.ct-price-label,.ct-contact-eyebrow-v4,
  .ct-contact-quicklabel,.ct-nav-kicker,.ct-nav-meta-label,
  .cementare-contact-card-eyebrow,.cementare-offer-label,
  .ev-g-cta-kicker,.ev-g-gallery-kicker,.c8-footer-label,
  .eyebrow,.kicker
),
html body :is(
  .cmt-mbz-kicker,.cb119-kicker,
  .c8-kicker,.c16-cta-kicker,.c35-eyebrow,.c35-manifesto-label,.c40-material-eyebrow,
  .mc-kicker,.bc-kicker,.cc-eyebrow,.cf-kicker,
  .ct-color-kicker,.ct-about-label,.ct-price-label,.ct-contact-eyebrow-v4,
  .ct-contact-quicklabel,.ct-nav-kicker,.ct-nav-meta-label,
  .cementare-contact-card-eyebrow,.cementare-offer-label,
  .ev-g-cta-kicker,.ev-g-gallery-kicker,.c8-footer-label,
  .eyebrow,.kicker
) :is(span,strong,b){
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-label)!important;
  font-weight:var(--ct-weight-medium)!important;
  line-height:var(--ct-lh-link)!important;
}
/* h2 is normally a section title; c8-kicker is the deliberate small-label exception. */
html body h2.c8-kicker{
  font-size:var(--ct-fs-label)!important;
  font-weight:var(--ct-weight-medium)!important;
  line-height:var(--ct-lh-link)!important;
}

/* CTA / text-link system — size and weight only; effects remain untouched. */
html body :is(
  .cmt-mbz-link,.cb119-link,.c8-link,.c35-text-link,.c35-row-link,.c40-material-link,
  .mc-link,.bc-link,.cc-link,.cf-link,
  .ct-standard-cta,.ct-color-palette-link,.ct-color-text-link,.ct-contact-maplink-v4,
  .ev-g-cta-link,.ev-g-seo-link,
  .btn,.mbr-section-btn a,.mbr-section-btn button,
  .cementare-order-form button,.cementare-contact-form button,.cementare-offer-form button,
  .c8-subscribe-form button
){
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-cta)!important;
  font-weight:var(--ct-weight-medium)!important;
  line-height:var(--ct-lh-link)!important;
}

/* Forms + modals. */
html body :is(input,textarea,select,option){
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-body)!important;
  font-weight:var(--ct-weight-regular)!important;
  line-height:var(--ct-lh-body)!important;
}
html body :is(.cementare-contact-form,.cementare-order-form,.cementare-offer-form,.c8-subscribe-form,.modal,.c35-color-modal,.ct-color-modal){
  font-family:var(--ct-font-sans)!important;
}
html body :is(.cementare-offer-title,.c35-color-modal-title,.ct-color-modal-title){
  font-weight:var(--ct-weight-regular)!important;
}
html body :is(.cementare-contact-form label,.cementare-order-form label,.cementare-offer-form label){
  font-size:var(--ct-fs-label)!important;
  font-weight:var(--ct-weight-medium)!important;
  line-height:var(--ct-lh-link)!important;
}

/* Header + mega menu. Header geometry/behaviour stays owned by existing header CSS/JS. */
html body#top #menu1-2uh .navbar-nav > .nav-item > .nav-link,
html body#top #menu1-2uh .navbar-nav .nav-item .nav-link{
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-main-nav)!important;
  font-weight:var(--ct-weight-medium)!important;
  line-height:var(--ct-lh-link)!important;
  letter-spacing:0!important;
}
html body#top #menu1-2uh .mega-menu-panel .mega-brand-link{
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-mega-brand)!important;
  font-weight:var(--ct-weight-medium)!important;
  line-height:var(--ct-lh-link)!important;
  letter-spacing:0!important;
}
html body#top #menu1-2uh .mega-menu-panel .mega-product-link{
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-mega-product)!important;
  font-weight:var(--ct-weight-regular)!important;
  line-height:var(--ct-lh-link)!important;
  letter-spacing:0!important;
}

/* Footer link standard. Logo remains image-based and therefore intentionally exempt. */
html body .c8-footer a{
  font-family:var(--ct-font-sans)!important;
  font-size:var(--ct-fs-footer-link)!important;
  line-height:var(--ct-lh-link)!important;
}
html body .c8-footer .c8-footer-links a,
html body .c8-footer .c8-socials a{
  font-weight:var(--ct-weight-regular)!important;
}
html body .c8-footer strong{font-weight:var(--ct-weight-regular)!important;}

/* Icon-font exceptions. */
html body [class*="socicon"],html body .socicon{font-family:"Socicon"!important;}
html body [class*="mbr-iconfont"],html body .mbr-iconfont,
html body [class*="mobi-mbri"],html body .mobi-mbri,
html body [class*="mbri-"]{font-family:"Moririse2"!important;}
html body code,html body kbd,html body pre,html body samp{
  font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;
}

/* TABLET 768–991 */
@media (min-width:768px) and (max-width:991px){
  :root{
    --ct-fs-home-hero:64px;
    --ct-fs-inner-hero:54px;
    --ct-fs-section:38px;
    --ct-fs-subtitle:21px;
  }
}

/* Hamburger navigation is active through 991px. */
@media (max-width:991px){
  html body#top #menu1-2uh .navbar-nav > .nav-item > .nav-link,
  html body#top #menu1-2uh .navbar-nav .nav-item .nav-link{
    font-size:var(--ct-fs-mobile-nav)!important;
    font-weight:var(--ct-weight-medium)!important;
  }
  html body#top #menu1-2uh .mega-menu-panel .mega-brand-link{
    font-size:var(--ct-fs-mobile-mega-brand)!important;
  }
}

/* MOBILE <=767 */
@media (max-width:767px){
  :root{
    --ct-fs-home-hero:44px;
    --ct-fs-inner-hero:42px;
    --ct-fs-section:32px;
    --ct-fs-subtitle:20px;
  }
  /* Keep long titles fluid by wrapping naturally, not by inventing ad-hoc font sizes. */
  html body h1,html body h2,html body h3{
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-wrap:pretty;
  }
}

/* 992+ uses desktop values. 844×390 follows the requested 768–991 tablet scale by width. */


/* GLOBAL TYPOGRAPHY COVERAGE FIX
   Applies the standard to all active Cementare pages, regardless of body class. */
:root{
  --ct-font-family:"InterLocal","Inter",Arial,Helvetica,sans-serif;
  --ct-fw-text:400;
  --ct-fw-ui:500;

  --ct-fs-hero-home-desktop:80px;
  --ct-fs-hero-home-tablet:64px;
  --ct-fs-hero-home-mobile:44px;

  --ct-fs-hero-inner-desktop:64px;
  --ct-fs-hero-inner-tablet:54px;
  --ct-fs-hero-inner-mobile:42px;

  --ct-fs-section-desktop:44px;
  --ct-fs-section-tablet:38px;
  --ct-fs-section-mobile:32px;

  --ct-fs-sub-desktop:22px;
  --ct-fs-sub-tablet:21px;
  --ct-fs-sub-mobile:20px;

  --ct-fs-body:16px;
  --ct-fs-cta:14px;
  --ct-fs-label:11px;
  --ct-fs-footer:14px;
}

html,body,
body :where(h1,h2,h3,h4,h5,h6,p,a,span,small,strong,b,em,i,button,input,textarea,select,option,label,li,dt,dd,blockquote,figcaption,table,th,td,legend){
  font-family:var(--ct-font-family)!important;
}

body :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,table,th,td){
  font-weight:var(--ct-fw-text)!important;
}

body :where(h1,h2,h3,h4,h5,h6) :where(strong,b),
body :where(h1,h2,h3,h4,h5,h6):where(strong,b){
  font-weight:var(--ct-fw-text)!important;
}

body :where(p,li,dt,dd,blockquote,figcaption,table,th,td,input,textarea,select,option,label){
  font-size:var(--ct-fs-body)!important;
  line-height:1.65!important;
}

body :where(button,.btn,[class*="cta"],[class*="link"],a.cta,a[class*="btn"]){
  font-weight:var(--ct-fw-ui)!important;
}

body :where(.eyebrow,.kicker,[class*="eyebrow"],[class*="kicker"],[class*="label"],[class*="tag"]){
  font-size:var(--ct-fs-label)!important;
  font-weight:var(--ct-fw-ui)!important;
}

body footer :where(a,button){
  font-size:var(--ct-fs-footer)!important;
}

/* Main homepage hero headings */
body :where(.cmt-mbz-title-col h1,.cb119-hero h1,.hero h1,.hero-title){
  font-size:var(--ct-fs-hero-home-desktop)!important;
  line-height:1.05!important;
  font-weight:var(--ct-fw-text)!important;
}

/* CTA text scale */
body :where(.cmt-mbz-link,.cc-link,.mc-link,.bc-link,.btn,.button,[class*="cta"]){
  font-size:var(--ct-fs-cta)!important;
  line-height:1.4!important;
  font-weight:var(--ct-fw-ui)!important;
}

/* Header / mega menu */
#menu1-2uh .navbar-nav .nav-item .nav-link{
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:0!important;
}
#menu1-2uh .mega-menu-panel .mega-brand-link{
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:0!important;
}
#menu1-2uh .mega-menu-panel .mega-product-link{
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.4!important;
  letter-spacing:0!important;
}

@media (min-width:768px) and (max-width:991px){
  body :where(.cmt-mbz-title-col h1,.cb119-hero h1,.hero h1,.hero-title){
    font-size:var(--ct-fs-hero-home-tablet)!important;
  }
  }

@media (max-width:767px){
  body :where(.cmt-mbz-title-col h1,.cb119-hero h1,.hero h1,.hero-title){
    font-size:var(--ct-fs-hero-home-mobile)!important;
  }
  #menu1-2uh .navbar-nav .nav-item .nav-link{
    font-size:16px!important;
    font-weight:500!important;
  }
  #menu1-2uh .mega-menu-panel .mega-brand-link{
    font-size:15px!important;
  }
}

/* Icon font exceptions */
[class*="socicon"],.socicon{
  font-family:"Socicon"!important;
}
[class*="mbr-iconfont"],.mbr-iconfont,
[class*="mobi-mbri"],.mobi-mbri,
[class*="mbri-"]{
  font-family:"Moririse2"!important;
}
code,kbd,pre,samp{
  font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;
}

/* Intentional exceptions:
   image-based logos, brand marks and graphic footer slogans are not altered. */


/* SELECTOR SCOPE FIX
   Explicitly target principal/section/sub headings without inflating FAQ or step titles. */

/* Inner-page principal H1s, including colour-detail pages. */
body :where(
  .mc-h1,
  .bc-h1,
  .cc-h1,
  .cf-hero h1,
  .product-hero h1,
  .cementare-color-title,
  .color-detail-title,
  .detail-hero h1,
  .page-hero h1,
  .inner-hero h1
){
  font-size:var(--ct-fs-hero-inner-desktop)!important;
  line-height:1.05!important;
  font-weight:var(--ct-fw-text)!important;
}

/* Section headings: explicit design-system classes only. */
body :where(
  .cc-title,
  .mc-title,
  .bc-title,
  .cf-title,
  .section-title,
  .c8-intro-heading h2,
  .c8-systems-head h2,
  .c16-brand-intro h2,
  .c16-systems h2,
  .c18-systems-intro h2,
  .pricing-title,
  .contact-title,
  .faq-section-title,
  .application-section-title
){
  font-size:var(--ct-fs-section-desktop)!important;
  line-height:1.05!important;
  font-weight:var(--ct-fw-text)!important;
}

/* Subheads: explicit classes; do not target all H3 elements. */
body :where(
  .subtitle,
  .sub-title,
  .cc-subtitle,
  .mc-subtitle,
  .bc-subtitle,
  .cf-subtitle,
  .section-subtitle,
  .content-subtitle
){
  font-size:var(--ct-fs-sub-desktop)!important;
  line-height:1.3!important;
  font-weight:var(--ct-fw-text)!important;
}

/* Deliberate exclusions: FAQ accordion questions and application step/card titles keep their
   component scale and are not promoted to section-heading size. */
body :where(
  .panel-title-edit,
  .accordion-title,
  .faq-question,
  .icon-title,
  [class*="icon-title"],
  .step-title,
  .card-title
){
  line-height:1.3!important;
  font-weight:var(--ct-fw-text)!important;
}

@media (min-width:768px) and (max-width:991px){
  body :where(
    .mc-h1,.bc-h1,.cc-h1,.cf-hero h1,.product-hero h1,
    .cementare-color-title,.color-detail-title,.detail-hero h1,.page-hero h1,.inner-hero h1
  ){
    font-size:var(--ct-fs-hero-inner-tablet)!important;
  }

  body :where(
    .cc-title,.mc-title,.bc-title,.cf-title,.section-title,
    .c8-intro-heading h2,.c8-systems-head h2,.c16-brand-intro h2,
    .c16-systems h2,.c18-systems-intro h2,.pricing-title,
    .contact-title,.faq-section-title,.application-section-title
  ){
    font-size:var(--ct-fs-section-tablet)!important;
  }

  body :where(
    .subtitle,.sub-title,.cc-subtitle,.mc-subtitle,.bc-subtitle,
    .cf-subtitle,.section-subtitle,.content-subtitle
  ){
    font-size:var(--ct-fs-sub-tablet)!important;
  }
}

@media (max-width:767px){
  body :where(
    .mc-h1,.bc-h1,.cc-h1,.cf-hero h1,.product-hero h1,
    .cementare-color-title,.color-detail-title,.detail-hero h1,.page-hero h1,.inner-hero h1
  ){
    font-size:var(--ct-fs-hero-inner-mobile)!important;
  }

  body :where(
    .cc-title,.mc-title,.bc-title,.cf-title,.section-title,
    .c8-intro-heading h2,.c8-systems-head h2,.c16-brand-intro h2,
    .c16-systems h2,.c18-systems-intro h2,.pricing-title,
    .contact-title,.faq-section-title,.application-section-title
  ){
    font-size:var(--ct-fs-section-mobile)!important;
  }

  body :where(
    .subtitle,.sub-title,.cc-subtitle,.mc-subtitle,.bc-subtitle,
    .cf-subtitle,.section-subtitle,.content-subtitle
  ){
    font-size:var(--ct-fs-sub-mobile)!important;
  }
}


/* FINAL LEGACY TYPOGRAPHY CONFLICT CLEANUP
   These selectors intentionally outrank legacy page-specific Georgia/Arial !important rules. */

/* Homepage section/system headings */
html body#top.ct-cementare-page .c8-system-card h3,
html body#top.ct-cementare-page .c8-contact h2,
html body#top.ct-cementare-page .c8 > section:not(.cb119-hero) h2,
html body#top.ct-cementare-page .c16-final-cta h2,
html body#top.ct-cementare-page .c16-systems .c18-system-card h2,
html body#top.ct-cementare-page .c16-systems .c18-system-card h3{
  font-family:var(--ct-font-family)!important;
  font-weight:var(--ct-fw-text)!important;
}

/* Contact page */
html body#top #header15-19w.cementare-contact-page,
html body#top #header15-19w .cementare-contact-card h2,
html body#top #header15-19w .cementare-contact-card-eyebrow,
html body#top #header15-19w .cementare-contact-card-head p,
html body#top #header15-19w .cementare-field input,
html body#top #header15-19w .cementare-field select,
html body#top #header15-19w .cementare-field textarea{
  font-family:var(--ct-font-family)!important;
}

/* FAQ */
html body#top.ct-page-faq .cementare-faq-premium .panel-title-edit,
html body#top.ct-page-faq .cementare-faq-premium .panel-text{
  font-family:var(--ct-font-family)!important;
}

/* Application */
html body#top.ct-page-application #features21-24m .step-number,
html body#top.ct-page-application #features21-24m .icon-title,
html body#top.ct-page-application #features21-24m .icon-text{
  font-family:var(--ct-font-family)!important;
}

/* Terms */
html body#top.ct-page-terms .cementare-terms-intro,
html body#top.ct-page-terms .cementare-terms-date,
html body#top.ct-page-terms .cementare-term-card::before,
html body#top.ct-page-terms .cementare-term-title,
html body#top.ct-page-terms .cementare-term-card p,
html body#top.ct-page-terms .ct-terms-editorial .cementare-terms-date,
html body#top.ct-page-terms .ct-terms-editorial .cementare-terms-intro p,
html body#top.ct-page-terms .ct-terms-editorial .cementare-term-card::before{
  font-family:var(--ct-font-family)!important;
}

/* Colour detail H1 — 18 TR/EN pages */
html body#top.ct-color-detail .mbr-gallery > h1.cementare-color-title{
  font-family:var(--ct-font-family)!important;
  font-size:var(--ct-fs-hero-inner-desktop)!important;
  line-height:1.05!important;
  font-weight:var(--ct-fw-text)!important;
}

/* Concrete-look page hero subcopy */
html body#top.ct-cementare-page .cb119-hero-sub{
  font-family:var(--ct-font-family)!important;
}

/* Header + mega menu: force Inter above old header rules */
html body#top #menu1-2uh .navbar-nav > .nav-item > .nav-link,
html body#top #menu1-2uh .mega-menu-panel .mega-brand-link,
html body#top #menu1-2uh .mega-menu-panel .mega-product-link{
  font-family:var(--ct-font-family)!important;
}

@media (min-width:768px) and (max-width:991px){
  html body#top.ct-color-detail .mbr-gallery > h1.cementare-color-title{
    font-size:var(--ct-fs-hero-inner-tablet)!important;
  }
}
@media (max-width:767px){
  html body#top.ct-color-detail .mbr-gallery > h1.cementare-color-title{
    font-size:var(--ct-fs-hero-inner-mobile)!important;
  }
}
