/* ContainerPick inner-page finish. Load after each page's existing stylesheets. */
body.premium-site {
  --premium-page-border: #d4e2e4;
  --premium-page-soft: #f5f9f8;
  --premium-page-shadow: 0 2px 5px #153c4c04, 0 16px 34px -26px #153c4c40;
  --premium-page-radius: 14px;
}

/* Shared editorial introductions retain their original columns and imagery. */
body.premium-site :is(.page-hero, .buyer-hero, .sp-hero, .local-page-experience .local-hero) {
  background: radial-gradient(ellipse at 85% 22%, #e2f0eb85, transparent 58%),
    linear-gradient(120deg, #fafcfc, #eff6f7);
  border-color: var(--premium-page-border);
}
body.premium-site :is(.page-hero-inner, .buyer-hero-grid, .local-page-experience .local-hero-inner) {
  padding-block: clamp(34px, 4.3vw, 60px);
}
body.premium-site :is(.page-hero, .buyer-hero, .sp-hero, .local-page-experience .local-hero) h1 {
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  line-height: 1.09;
  letter-spacing: -.045em;
  text-wrap: balance;
}
body.premium-site :is(.page-hero, .buyer-hero, .sp-hero, .local-page-experience .local-hero) .eyebrow {
  color: #36766a;
  font-size: .72rem;
  line-height: 1.65;
  letter-spacing: .13em;
}
body.premium-site :is(.page-hero-copy > p, .buyer-intro, .sp-intro, .local-page-experience .local-intro) {
  color: #4b6475;
  line-height: 1.8;
  max-width: 62ch;
}
body.premium-site :is(.page-hero .hero-image-frame, .buyer-hero-photo img, .buyer-interior-photo img,
  .sp-hero-photo img, .sp-detail-photo img, .local-page-experience .local-hero-visual img,
  .local-page-experience .local-hero-figure .local-image-frame) {
  border: 1px solid #d1e0e1;
  border-radius: var(--premium-page-radius);
  box-shadow: 0 3px 6px #173e4c04, 0 22px 42px -28px #173e4c45;
}
body.premium-site :is(.page-hero-media, .buyer-hero-photo, .buyer-interior-photo, .sp-hero-photo) figcaption {
  color: #5e747f;
  font-size: .76rem;
  line-height: 1.65;
  padding-inline: 2px;
}
body.premium-site :is(.hero-facts, .buyer-quote-box, .sp-quote, .local-page-experience .local-choice-form) {
  border-color: #cbded8;
  border-radius: var(--premium-page-radius);
  box-shadow: var(--premium-page-shadow);
}
body.premium-site :is(.page-facts-band .quick-facts dt, .hero-facts .quick-facts dt,
  .sp-facts dt, .local-page-experience .local-facts dt) {
  color: #58796f;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .09em;
}
body.premium-site :is(.page-facts-band .quick-facts dd, .hero-facts .quick-facts dd,
  .sp-facts dd, .local-page-experience .local-facts dd) {
  line-height: 1.65;
}

/* Reading rhythm and a compact, clearly navigable table of contents. */
body.premium-site .reading-layout {
  padding-top: clamp(32px, 4.5vw, 64px);
}
body.premium-site .reading-section {
  margin-bottom: 46px;
  scroll-margin-top: 100px;
}
body.premium-site .reading-section + .reading-section {
  padding-top: 34px;
  border-top: 1px solid #e1eae9;
}
body.premium-site .reading-section h2 {
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  line-height: 1.28;
  letter-spacing: -.028em;
  margin-bottom: 19px;
  text-wrap: balance;
}
body.premium-site .reading-section :is(p, .useful-list) {
  font-size: 1rem;
  line-height: 1.85;
}
body.premium-site .reading-section > p {
  max-width: 72ch;
}
body.premium-site .reading-section .section-lead {
  color: #234657;
  font-size: 1.05rem;
}
body.premium-site .reading-aside > div {
  padding: 24px;
  border-color: var(--premium-page-border);
  border-radius: 12px;
  background: #f7faf9;
  box-shadow: 0 2px 5px #153c4c03;
}
body.premium-site .reading-aside .eyebrow {
  font-size: .7rem;
  color: #4c776d;
}
body.premium-site .reading-aside nav { gap: 5px; }
body.premium-site .reading-aside nav a {
  font-size: .85rem;
  line-height: 1.65;
  padding: 8px 10px;
  margin-inline: -10px;
  border-radius: 6px;
  text-decoration: none;
  transition: background .18s, color .18s;
}
body.premium-site .reading-aside nav a:is(:hover, :focus-visible, [aria-current]) {
  color: #176a58;
  background: #e5f0eb;
}
body.premium-site .reading-section .useful-list li {
  padding-left: 5px;
  margin-bottom: 13px;
}

/* Tables remain real, scrollable tables; alternating rows make long comparisons easier. */
body.premium-site :is(.reading-body, .sp-section) .table-wrap,
body.premium-site .local-page-experience .local-table-wrap {
  border-color: #cddedb;
  border-radius: 12px;
  box-shadow: 0 2px 4px #173e4c03;
  background: #fff;
}
body.premium-site :is(.reading-body, .sp-section) .table-wrap table {
  font-size: .92rem;
  line-height: 1.75;
}
body.premium-site :is(.reading-body, .sp-section) .table-wrap thead {
  background: #e8f2ed;
  color: #245a4d;
}
body.premium-site :is(.reading-body, .sp-section) .table-wrap :is(th, td) {
  padding: 17px 20px;
  border-bottom-color: #e0e9e7;
}
body.premium-site :is(.reading-body, .sp-section) .table-wrap tbody tr:nth-child(even),
body.premium-site .local-page-experience .local-table-wrap tbody tr:nth-child(even) {
  background: #f7faf9;
}
body.premium-site :is(.reading-body, .sp-section) .table-wrap tbody th {
  font-weight: 600;
  color: #29495c;
}
body.premium-site .local-page-experience .local-table-wrap thead {
  background: #285c53;
}
body.premium-site .local-page-experience .local-table-wrap thead th {
  font-weight: 600;
}

/* Directory and guide cards: a restrained surface and an explicit interactive state. */
body.premium-site :is(.directory-section, .reading-body) .page-card,
body.premium-site .directory-section .area-card,
body.premium-site :is(.related-section, .sp-related, .local-related) .related-link {
  border-color: var(--premium-page-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--premium-page-shadow);
  transition: border-color .18s, box-shadow .18s, background .18s;
}
body.premium-site :is(.directory-section, .reading-body) .page-card h3 {
  line-height: 1.4;
  letter-spacing: -.022em;
}
body.premium-site :is(.directory-section, .reading-body) .page-card p {
  color: #546d7b;
  font-size: .94rem;
  line-height: 1.75;
}
body.premium-site :is(.directory-section, .reading-body) .page-card .eyebrow {
  font-size: .69rem;
}
body.premium-site .directory-section .area-card {
  padding-block: 24px;
}
body.premium-site .directory-section .area-card strong { padding-right: 16px; }
body.premium-site .directory-section .area-card span {
  color: #5b7780;
  font-size: .85rem;
}
body.premium-site :is(.directory-section, .reading-body) .page-card:is(:hover, :focus-visible),
body.premium-site .directory-section .area-card:is(:hover, :focus-visible),
body.premium-site :is(.related-section, .sp-related, .local-related) .related-link:is(:hover, :focus-visible) {
  background: #f8fcfa;
  border-color: #88b6a6;
  box-shadow: 0 3px 6px #153c4c05, 0 14px 26px -20px #153c4c45;
}
body.premium-site .directory-filter input {
  border-color: #bfD2cf;
  border-radius: 8px;
  padding: 13px 15px;
}
body.premium-site :is(.related-section, .sp-related, .local-related) .related-link {
  font-size: .9rem;
  line-height: 1.65;
}

/* Product families share the same edge, spacing and figure treatment. */
body.premium-site :is(.buyer-use-card, .buyer-condition-card, .buyer-price-card,
  .buyer-compare-grid > article, .sp-card, .local-page-experience .local-product-card,
  .local-page-experience .local-decision-grid article) {
  border-color: var(--premium-page-border);
  border-radius: var(--premium-page-radius);
  background: #fff;
  box-shadow: var(--premium-page-shadow);
}
body.premium-site :is(.buyer-heading, .sp-heading, .local-page-experience .local-section-heading) h2 {
  line-height: 1.24;
  letter-spacing: -.033em;
  text-wrap: balance;
}
body.premium-site :is(.buyer-use-card, .buyer-condition-card, .buyer-compare-grid > article) h3 {
  line-height: 1.35;
}
body.premium-site :is(.buyer-use-card, .buyer-condition-card, .buyer-compare-grid > article) p {
  font-size: .96rem;
  line-height: 1.8;
}
body.premium-site .buyer-use-card .use-number {
  width: 34px;
  height: 34px;
  border: 1px solid #c9e0d7;
  background: #eef7f2;
  font-variant-numeric: tabular-nums;
}
body.premium-site :is(.buyer-price, .price-range, .dimension-list dd, .local-dimensions dd) {
  font-variant-numeric: tabular-nums;
}
body.premium-site .buyer-price-card { padding: 32px; }
body.premium-site .buyer-price-card .price-definition { font-size: .85rem; }
body.premium-site .buyer-price-card .price-sample { font-size: .81rem; }
body.premium-site .buyer-condition-card .condition-tag {
  padding: 6px 10px;
  border-radius: 5px;
  border-color: #c0d9ce;
  font-size: .68rem;
}
body.premium-site :is(.buyer-section-nav, .sp-nav) {
  border-color: #dce6e5;
  box-shadow: 0 4px 12px -10px #173e4c30;
}
body.premium-site :is(.buyer-section-nav, .sp-nav) a {
  color: #426570;
  text-decoration: none;
}
body.premium-site :is(.buyer-section-nav, .sp-nav) a:is(:hover, :focus-visible) {
  color: #146c58;
  text-decoration: underline;
  text-underline-offset: 6px;
}
body.premium-site .sp-catalog .sp-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}
body.premium-site .sp-catalog-photo {
  width: 100%;
  margin-bottom: 22px;
}
body.premium-site .sp-catalog-photo img {
  display: block;
  border-radius: 9px;
  border: 1px solid #e0e8e6;
}
body.premium-site .sp-catalog .sp-card h3 { font-size: 1.2rem; }
body.premium-site .sp-catalog .sp-card > .text-link {
  margin-top: auto;
  padding-top: 18px;
}
body.premium-site :is(.buyer-scale, .sp-diagram, .dimension-list, .buyer-grade-notes) {
  border-color: var(--premium-page-border);
  border-radius: 12px;
  box-shadow: 0 2px 5px #153c4c03;
}
body.premium-site .dimension-tabs {
  padding: 5px;
  border: 1px solid #d5e2de;
  border-radius: 9px;
  background: #eaf1ee;
}
body.premium-site .dimension-tabs button { min-height: 42px; border-radius: 5px; }
body.premium-site .dimension-list > div { font-size: .86rem; padding-block: 14px; }
body.premium-site .buyer-photo-links a { line-height: 1.75; }

/* Local pages keep their existing card grids and table-specific column behavior. */
body.premium-site .local-page-experience .local-jump-nav {
  padding-bottom: 18px;
  border-bottom: 1px solid #e2eae7;
}
body.premium-site .local-page-experience .local-jump-nav a {
  font-size: .85rem;
  color: #366e5f;
  border-bottom-color: #bdd7cb;
  padding-block: 4px;
}
body.premium-site .local-page-experience .local-section {
  scroll-margin-top: 100px;
}
body.premium-site .local-page-experience .local-section-heading { margin-bottom: 32px; }
body.premium-site .local-page-experience .local-product-figure {
  background: #f7faf9;
  border-bottom-color: #e1ebe6;
}
body.premium-site .local-page-experience .local-product-card .local-detail-link {
  font-size: .84rem;
  line-height: 1.65;
}
body.premium-site .local-page-experience .local-dimensions dt {
  color: #5c796e;
  font-size: .76rem;
}
body.premium-site .local-page-experience .local-decision-grid h3 {
  font-size: 1.15rem;
  line-height: 1.4;
}
body.premium-site .local-page-experience .local-official-link { overflow-wrap: anywhere; }

/* Page forms and FAQs use the same legible detail scale. */
body.premium-site :is(.buyer-quote-fields, .sp-quote, .local-page-experience .local-choice-fields,
  .local-page-experience .local-card-controls) :is(input:not([type="hidden"]), select) {
  border-color: #b9cfc7;
  border-radius: 7px;
  min-height: 46px;
}
body.premium-site :is(.reading-body, .buyer-last-section, .local-faq) .faq-list summary {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.65;
  padding-block: 23px;
}
body.premium-site :is(.reading-body, .buyer-last-section, .local-faq) .faq-list details[open] summary {
  color: #236b58;
}
body.premium-site :is(.reading-body, .buyer-last-section, .local-faq) .faq-list p {
  font-size: .96rem;
  line-height: 1.85;
}
body.premium-site :is(.buyer-closing, .local-page-experience .local-final-request) {
  background: linear-gradient(110deg, #edf6f1, #e0efe8);
  border-color: #cddfd5;
}

@media (max-width: 820px) {
  body.premium-site .reading-aside > div { padding: 20px; }
  body.premium-site .reading-aside nav { gap: 5px 12px; }
  body.premium-site .reading-aside nav a {
    margin-inline: 0;
    padding: 8px 10px;
    background: #edf4f0;
  }
  body.premium-site .reading-section { margin-bottom: 36px; }
  body.premium-site .reading-section + .reading-section { padding-top: 27px; }
  body.premium-site .buyer-price-card { padding: 26px; }
}

@media (max-width: 560px) {
  body.premium-site :is(.page-hero-inner, .buyer-hero-grid, .local-page-experience .local-hero-inner) {
    padding-block: 30px;
  }
  body.premium-site :is(.page-hero, .buyer-hero, .sp-hero, .local-page-experience .local-hero) h1 {
    font-size: clamp(2rem, 8.8vw, 2.5rem);
    line-height: 1.12;
  }
  body.premium-site :is(.page-hero, .buyer-hero, .sp-hero, .local-page-experience .local-hero) .eyebrow {
    font-size: .68rem;
  }
  body.premium-site .reading-section h2 { margin-bottom: 16px; }
  body.premium-site .reading-section :is(p, .useful-list) { font-size: .97rem; }
  body.premium-site :is(.reading-body, .sp-section) .table-wrap :is(th, td) { padding: 14px 16px; }
  body.premium-site :is(.reading-body, .sp-section) .table-wrap table { font-size: .87rem; }
  body.premium-site .directory-section .area-card { padding-block: 20px; }
  body.premium-site .directory-section .area-card strong { padding-right: 0; }
  body.premium-site .directory-section .area-card span { font-size: .8rem; }
  body.premium-site .sp-catalog .sp-card { padding: 22px; }
  body.premium-site .buyer-price-card { padding: 25px 23px; }
  body.premium-site .dimension-list > div { font-size: .8rem; }
  body.premium-site .local-page-experience .local-section-heading { margin-bottom: 25px; }
  body.premium-site :is(.buyer-quote-fields, .sp-quote, .local-page-experience .local-choice-fields,
    .local-page-experience .local-card-controls) :is(input:not([type="hidden"]), select),
  body.premium-site .directory-filter input { font-size: 1rem; }
  body.premium-site :is(.reading-body, .buyer-last-section, .local-faq) .faq-list summary {
    font-size: .96rem;
    padding-block: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.premium-site .reading-aside nav a,
  body.premium-site :is(.directory-section, .reading-body) .page-card,
  body.premium-site .directory-section .area-card,
  body.premium-site :is(.related-section, .sp-related, .local-related) .related-link {
    transition: none;
  }
}
