/* Platinum Signs typography alignment.
 *
 * Reference: the approved Platinum Shop Inter system. This layer changes only
 * typography and leaves URLs, copy, heading semantics and component structure
 * untouched. It loads after the legacy styles so retained pages share one calm,
 * predictable type system while the bespoke V5 homepage keeps its established
 * marketing scale. */

@font-face {
  font-family: "PS Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/ps-inter-v5-latin.woff2") format("woff2");
}

:root {
  --ps-type-sans: "PS Inter", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --base-headingfont: var(--ps-type-sans);
  --base-bodyfont: var(--ps-type-sans);
}

body.ps-refined-type {
  color: #1a1a2e;
  font-family: var(--ps-type-sans) !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.625;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.ps-refined-type :where(h1, h2, h3, h4, h5, h6),
body.ps-refined-type :where(p, li, a, label, button, input, select, textarea, summary, address),
body.ps-refined-type :where(.title, .featured-title, .prt-box-title, .widget-title) {
  font-family: var(--ps-type-sans) !important;
}

/* Preserve icon glyph sources. */
body.ps-refined-type :where(.fa, .fas, .far, .fab, [class^="fa-"], [class*=" fa-"]) {
  font-family: FontAwesome !important;
}

body.ps-refined-type :where([class^="ti-"], [class*=" ti-"]) {
  font-family: themify !important;
}

body.ps-refined-type :where(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
}

body.ps-refined-type main :where(p, li) {
  letter-spacing: 0;
}

/* Shared desktop shell: the approved shop uses 14px/600 navigation. */
@media only screen and (min-width: 1000px) {
  body.ps-refined-type #masthead nav.main-menu > ul.menu > li > a {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  body.ps-refined-type #masthead nav.main-menu ul.mega-submenu a {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
  }
}

/* Legacy templates used 36–50px section headings and 32px card headings.
 * These rules align them to the shop's quieter 22–36px content hierarchy.
 * The V5 homepage is excluded from size changes because its hero and feature
 * modules already have a deliberate responsive marketing scale. */
body.ps-refined-type:not(.ps-v5-homepage-enabled) main h1 {
  font-size: clamp(34px, 3.3vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main h2 {
  font-size: clamp(28px, 2.7vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main h3 {
  font-size: clamp(21px, 1.9vw, 26px) !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: -.012em !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main h4 {
  font-size: clamp(19px, 1.55vw, 22px) !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: -.008em !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main h5,
body.ps-refined-type:not(.ps-v5-homepage-enabled) main h6 {
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main :where(p, li, .prt-service-classic-content > div) {
  font-size: 16px;
  line-height: 1.65;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main .card-title,
body.ps-refined-type:not(.ps-v5-homepage-enabled) main .card-title b,
body.ps-refined-type:not(.ps-v5-homepage-enabled) main .featured-title-platinum h3,
body.ps-refined-type:not(.ps-v5-homepage-enabled) main .featured-title-platinum h3 a {
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main .yellow_cta h2 {
  font-size: clamp(30px, 3vw, 40px) !important;
  line-height: 1.18 !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main .section-title.style1 .title-header h2 {
  font-size: clamp(64px, 7vw, 88px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
}

body.ps-refined-type:not(.ps-v5-homepage-enabled) main .yellow_form h2 {
  font-size: 28px !important;
  line-height: 1.25 !important;
}

body.ps-refined-type :where(label, .form-group label) {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

body.ps-refined-type :where(input, select, textarea, button) {
  font-size: 15px;
  line-height: 1.5;
}

/* Homepage family alignment only: retain its approved V5 proportions. */
body.ps-refined-type.ps-v5-homepage-enabled :where(.ps-v5-homepage, .ps-v5-homepage *, .ps-v5-closing, .ps-v5-closing *) {
  font-family: var(--ps-type-sans) !important;
}

@media only screen and (max-width: 767px) {
  body.ps-refined-type {
    font-size: 16px;
    line-height: 1.65;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main h1 {
    font-size: clamp(31px, 9vw, 36px) !important;
    line-height: 1.13 !important;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main h2 {
    font-size: clamp(26px, 7.5vw, 30px) !important;
    line-height: 1.22 !important;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main h3 {
    font-size: clamp(20px, 6vw, 23px) !important;
    line-height: 1.32 !important;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main h4 {
    font-size: 19px !important;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main h5,
  body.ps-refined-type:not(.ps-v5-homepage-enabled) main h6,
  body.ps-refined-type:not(.ps-v5-homepage-enabled) main .card-title,
  body.ps-refined-type:not(.ps-v5-homepage-enabled) main .card-title b,
  body.ps-refined-type:not(.ps-v5-homepage-enabled) main .featured-title-platinum h3,
  body.ps-refined-type:not(.ps-v5-homepage-enabled) main .featured-title-platinum h3 a {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main .yellow_cta h2 {
    font-size: 32px !important;
    line-height: 1.16 !important;
  }

  body.ps-refined-type:not(.ps-v5-homepage-enabled) main .section-title.style1 .title-header h2 {
    font-size: 60px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ps-refined-type {
    text-rendering: auto;
  }
}
