/* A22 - CG and CG Meridia brand-guideline compliance layer. */

@font-face{font-family:Mosvita;src:local("Mosvita Regular"),local("Mosvita-Regular"),local("Mosvita");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Mosvita;src:local("Mosvita Medium"),local("Mosvita-Medium"),local("Mosvita");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Mosvita;src:local("Mosvita SemiBold"),local("Mosvita-SemiBold"),local("Mosvita");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Mosvita;src:local("Mosvita Bold"),local("Mosvita-Bold"),local("Mosvita ExtraBold"),local("Mosvita-ExtraBold"),local("Mosvita");font-style:normal;font-weight:700 900;font-display:swap}

:root{
  --font-cg-brand:Poppins,"Helvetica Neue",Arial,sans-serif;
  --font-meridia-brand:Mosvita,"DM Sans",Arial,sans-serif;
  --brand-display-size:clamp(2.625rem,4.5vw,4rem);
  --brand-h1-size:clamp(2.25rem,4vw,3.5rem);
  --brand-h2-size:clamp(1.875rem,3vw,2.75rem);
  --brand-h3-size:clamp(1.25rem,2vw,1.75rem);
  --brand-body-size:1rem;
  --brand-small-size:.8125rem;
}

body{font-size:var(--brand-body-size);line-height:1.6}
body:not(.is-meridia-theme){color:var(--theme-cg-body);background:#fff}
body.is-meridia-theme{color:var(--theme-meridia-body);background:var(--theme-meridia-page-bg)}
h1{font-size:var(--brand-h1-size)!important;line-height:1.06!important}
h2{font-size:var(--brand-h2-size)!important;line-height:1.12!important}
h3{font-size:var(--brand-h3-size);line-height:1.2}

/* Official website logo sizing: 55px artwork height and 15px vertical clear area. */
.enterprise-header,.enterprise-header.scrolled{height:85px!important}
.enterprise-header .cg-logo.vA3-logo.vA5-official-logo{
  width:75px!important;height:85px!important;min-width:75px!important;margin:0!important;
  padding:15px 7px!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important;
}
.enterprise-header .cg-logo.vA3-logo.vA5-official-logo img{width:auto!important;height:55px!important;max-width:100%!important;max-height:55px!important;object-fit:contain!important;filter:none!important}
.enterprise-header .cg-logo.meridia-site-logo{
  width:clamp(210px,17.14vw,329px)!important;min-width:clamp(210px,17.14vw,329px)!important;
  padding:15px 0!important;background:transparent!important;
}
.enterprise-header .cg-logo.meridia-site-logo img{width:100%!important;height:55px!important}
.enterprise-menu{font-size:13px!important;font-weight:700!important}
.mega-menu,.enterprise-header.scrolled .mega-menu{top:119px!important}

/* CG: official P 7687C blue, white and approved secondary neutrals. */
body:not(.is-meridia-theme) .cg-topbar{background:#002a3f!important;color:#fff!important}
body:not(.is-meridia-theme) .enterprise-header,
body:not(.is-meridia-theme) .enterprise-header.scrolled{background:linear-gradient(118deg,#005ba3,#014c84)!important;border-bottom-color:#026cb6!important}
body:not(.is-meridia-theme) .category-bar{background:#223770!important;border-bottom-color:#014c84!important}
body:not(.is-meridia-theme) .category-bar a{color:#fff!important}
body:not(.is-meridia-theme) .category-bar a:hover{color:#219cd7!important}
body:not(.is-meridia-theme) .mega-menu{background:#f3f5f6!important;border-top-color:#005ba3!important}
body:not(.is-meridia-theme) .mega-intro,
body:not(.is-meridia-theme) .support-menu-lead,
body:not(.is-meridia-theme) .vA3-company-mega .shell>div:first-child{background:linear-gradient(145deg,#223770,#005ba3)!important}
body:not(.is-meridia-theme) :where(.button-blue,.v6-apply-filters,.vA11-filter-toggle){background:#005ba3!important;color:#fff!important;border-color:#005ba3!important}

/* Meridia: official process black, P 172-9 C grey, white and gold. No red. */
body.is-meridia-theme .cg-topbar{background:#000!important;color:#fff!important}
body.is-meridia-theme .enterprise-header,
body.is-meridia-theme .enterprise-header.scrolled{background:linear-gradient(118deg,#000 0%,#252525 70%,#6d6e71 100%)!important;border-bottom:2px solid #dbb74f!important}
body.is-meridia-theme .category-bar{background:#000!important;border-bottom:1px solid #dbb74f!important}
body.is-meridia-theme .category-bar a{color:#fff!important}
body.is-meridia-theme .category-bar a:hover{color:#dbb74f!important}
body.is-meridia-theme .mega-menu{background:#f5f5f4!important;border-top-color:#dbb74f!important}
body.is-meridia-theme .mega-intro,
body.is-meridia-theme .support-menu-lead,
body.is-meridia-theme .vA3-company-mega .shell>div:first-child{background:linear-gradient(145deg,#000,#6d6e71)!important}
body.is-meridia-theme :where(.button-blue,.v6-apply-filters,.vA11-filter-toggle,.vA4-meridia-button){background:#000!important;color:#fff!important;border-color:#dbb74f!important}
body.is-meridia-theme :where(a:hover,.eyebrow,.eh-overline,.vA4-meridia-overline){color:#b07908}
body.is-meridia-theme .v6-spec-section{background:linear-gradient(135deg,#000,#4a4a4a)!important;border-top:3px solid #dbb74f!important}
body.is-meridia-theme .vA4-meridia-stories,
body.is-meridia-theme .vA4-meridia-categories,
body.is-meridia-theme .vA4-meridia-care{background:linear-gradient(135deg,#000,#474747)!important}
body.is-meridia-theme .vA4-meridia-manifesto,
body.is-meridia-theme .vA4-meridia-editorial,
body.is-meridia-theme .vA4-meridia-signatures{background:#f7f5ef!important}
body.is-meridia-theme .v6-catalog-section,
body.is-meridia-theme .v6-product-detail,
body.is-meridia-theme .related{background:#f7f5ef!important;color:#6d6e71!important}
body.is-meridia-theme :where(.v6-catalog-toolbar,.vA5-pagination,.v24-product-card,.v6-gallery-main,.v6-gallery-thumbs button){background:#fff!important;border-color:#d8cfb7!important}
body.is-meridia-theme :where(.v24-product-title a,.v24-details-link,.v6-detail-copy h1,.v6-catalog-toolbar strong){color:#000!important}
body.is-meridia-theme :where(.v24-product-category,.v24-product-model,.v6-catalog-toolbar p,.v6-detail-copy .detail-intro,.breadcrumbs){color:#6d6e71!important}
body.is-meridia-theme .v24-product-price strong{color:#000!important}
body.is-meridia-theme .v24-product-media{background:linear-gradient(145deg,#fff,#eeeae0)!important}
body.is-meridia-theme .vA11-sort-form label{background:#000!important;color:#fff!important;border-color:#dbb74f!important}
body.is-meridia-theme .vA11-sort-form select{background:#000!important;color:#fff!important}
body.is-meridia-theme .vA11-filter-drawer{background:#f5f5f4!important;color:#6d6e71!important;border-right-color:#d8cfb7!important}
body.is-meridia-theme .vA11-filter-drawer :where(h2,h3,summary,a,legend){color:#000!important}
body.is-meridia-theme .vA11-filter-drawer :where(label,small){color:#6d6e71!important}
body.is-meridia-theme .vA11-filter-drawer .v6-filter-head{background:linear-gradient(135deg,#000,#4a4a4a)!important;border-bottom-color:#dbb74f!important}
body.is-meridia-theme .vA11-filter-drawer .v6-filter-head :where(span,h2,button){color:#fff!important}
body.is-meridia-theme .v6-pagination.vA5-pagination{background:#fff!important;border-color:#d8cfb7!important}
body.is-meridia-theme .v6-pagination.vA5-pagination>div a{background:#f5f5f4!important;border-color:#cfc5aa!important;color:#000!important}
body.is-meridia-theme .v6-pagination.vA5-pagination>div a.is-current{background:#000!important;border-color:#dbb74f!important;color:#fff!important}
body.is-meridia-theme .v6-pagination.vA5-pagination>a{color:#000!important}
body.is-meridia-theme .v6-spec-section.vA11-spec-section{background:linear-gradient(145deg,#f2eee4,#fff 48%,#ece5d3)!important;color:#000!important;border-top:3px solid #dbb74f!important}
body.is-meridia-theme .vA11-spec-intro{background:linear-gradient(145deg,#000,#4a4a4a)!important;border-color:#dbb74f!important}
body.is-meridia-theme .vA11-spec-accordion details{background:#fff!important;border-color:#d8cfb7!important;color:#000!important}
body.is-meridia-theme .vA11-spec-accordion summary strong{color:#000!important}
body.is-meridia-theme .vA11-spec-mark{background:#efe4c2!important;color:#8a6500!important}
body.is-meridia-theme .detail-price{background:#f3ead1!important;border-color:#d8c179!important}
body.is-meridia-theme .detail-price strong{color:#000!important}
body.is-meridia-theme .detail-price del{color:#6d6e71!important}

/* Meridia website lockup: 329 x 55 at 1920px, scaled proportionally below. */
.vA5-meridia-logo-plate,.vA5-meridia-hero-logo{
  width:min(329px,100%)!important;height:auto!important;min-height:55px!important;margin-top:15px!important;
  padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
}
.vA5-meridia-logo-plate img,.vA5-meridia-hero-logo img{display:block!important;width:100%!important;height:auto!important;max-height:55px!important;object-fit:contain!important}
.vA6-meridia-corner-logo{
  top:40px!important;right:40px!important;width:min(329px,32vw)!important;height:55px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
.vA6-meridia-corner-logo img{width:100%!important;height:55px!important;object-fit:contain!important}

/* Guideline-aligned typography weights and readable web scale. */
body:not(.is-meridia-theme) :where(h1,h2,h3,h4,h5,h6){font-weight:700!important}
body.is-meridia-theme :where(h1,h2,h3,h4,h5,h6){font-weight:700!important}
body.is-meridia-theme :where(.eyebrow,.eh-overline,.vA4-meridia-overline,.vA4-meridia-kicker){font-weight:600!important}
body.is-meridia-theme :where(p,li,dd,.rich-content){font-weight:400}
body.is-meridia-theme :where(button,.button,label,.enterprise-menu){font-weight:600!important}
.v6-catalog-hero h1,.v6-detail-copy h1{font-size:clamp(2.25rem,4vw,3.5rem)!important}
.v24-product-title{font-size:1.125rem!important;line-height:1.3!important}
.v24-product-category,.v24-product-model{font-size:.75rem!important}
.v24-product-price strong{font-size:1.25rem!important}
.vA11-spec-intro h2{font-size:clamp(1.875rem,3vw,2.75rem)!important}
.vA11-spec-accordion summary strong{font-size:1rem!important}
.vA11-spec-value{font-size:.9375rem!important;line-height:1.55!important}

/* Footer follows each identity; logo files remain unmodified artwork. */
body:not(.is-meridia-theme) .enterprise-footer{background:#002a3f!important;color:#d1d7da!important}
body:not(.is-meridia-theme) .footer-cta-band{background:linear-gradient(110deg,#005ba3,#014c84)!important}
body.is-meridia-theme .enterprise-footer{background:#000!important;color:#fff!important;border-top:3px solid #dbb74f!important}
body.is-meridia-theme .footer-cta-band{background:linear-gradient(110deg,#000,#6d6e71)!important}
.vA5-footer-brand img{height:55px!important;width:auto!important;max-width:180px!important;padding:7px!important;border-radius:0!important;background:#fff!important;object-fit:contain!important}
.vA5-footer-brand.meridia-footer-brand img{width:min(329px,100%)!important;max-width:329px!important;height:55px!important;padding:0!important;background:transparent!important}

@media(max-width:1100px){
  .enterprise-header .cg-logo.meridia-site-logo{width:220px!important;min-width:220px!important}
}
@media(max-width:900px){
  .enterprise-header,.enterprise-header.scrolled{height:75px!important}
  .enterprise-header .cg-logo.vA3-logo.vA5-official-logo{height:75px!important;padding-block:10px!important}
  .enterprise-menu{top:109px!important;height:calc(100vh - 109px)!important}
  .mega-menu,.enterprise-header.scrolled .mega-menu{top:auto!important}
  body:not(.is-meridia-theme) .enterprise-menu{background:#005ba3!important}
  body.is-meridia-theme .enterprise-menu{background:#000!important}
}
@media(max-width:640px){
  .enterprise-header .cg-logo.vA3-logo.vA5-official-logo{width:66px!important;min-width:66px!important;padding-inline:4px!important}
  .enterprise-header .cg-logo.meridia-site-logo{width:160px!important;min-width:160px!important}
  .enterprise-header .cg-logo.meridia-site-logo img{height:auto!important;max-height:45px!important}
  .vA6-meridia-corner-logo{top:22px!important;right:18px!important;width:190px!important;height:auto!important}
  .vA6-meridia-corner-logo img{height:auto!important}
  .vA5-meridia-logo-plate,.vA5-meridia-hero-logo{width:min(260px,100%)!important;min-height:0!important}
}
