@charset "UTF-8";
meta.foundation-version {
  font-family: "/5.5.3/"; }

meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 551px)/";
  width: 0; }

meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:551px)/";
  width: 551px; }

meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:551px) and (max-width:801px)/";
  width: 551px; }

meta.foundation-mq-large {
  font-family: "/only screen and (min-width:801px)/";
  width: 801px; }

meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:801px) and (max-width:1261px)/";
  width: 801px; }

meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:1261px)/";
  width: 1261px; }

meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:1261px) and (max-width:1681px)/";
  width: 1261px; }

meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:1681px)/";
  width: 1681px; }

meta.foundation-data-attribute-namespace {
  font-family: false; }

/* ============================================================
   CritPro -- Chiara Custom Overrides
   Theme: Chiara 2.7.0
   Refactored into grouped bridge partials for safer maintenance.
   Original cascade order preserved to avoid visual regressions.
   Audit cleanup: this file is now a pure import index -- every
   inline CSS block that used to live here directly has been moved
   into a numbered partial in critpro/chiara-custom/, in the exact
   same order, so compiled output/cascade order is unchanged.
   See critpro-chiara-theme-audit.md for what changed and why.
   ============================================================ */
/* Shared foundations / utilities through contrast fixes */
/* ============================================================
   CritPro custom foundation / shared UI
   Import order preserved from the original flat import list.
   ============================================================ */
/* ============================================================
   CritPro – Chiara Custom Overrides
   Theme: Chiara 2.7.0
   Cleaned + consolidated version
   - Mobile homepage product card fixes merged into one final block
   - Removed conflicting experimental mobile card overrides
   - Mobile product titles slightly increased
   ============================================================ */
/* Formerly one 1,758-line file (04-brand-category-pages-shared-cleanup.scss).
   Split into focused, honestly-named partials -- audit cleanup, same cascade order. */
/* ============================================================
   Hide stray top images / banners on brand + category pages
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   BRAND + CATEGORY PAGES: SHARED CLEANUP
   CritPro / Chiara 2.7.0 – Category Safe + Brand SEO Layout
   ============================================================ */
body.page-type-brand .breadcrumbs,
body.page-type-brand .page-heading,
body.page-type-category .breadcrumbs,
body.page-type-category .page-heading {
  margin-bottom: 0; }

/* Hide stray top images that sometimes render in page-content */
body.page-type-brand .page-content > .container > img,
body.page-type-brand .page-content :is(.breadcrumbs, .page-heading) + img,
body.page-type-category .page-content > .container > img,
body.page-type-category .page-content :is(.breadcrumbs, .page-heading) + img {
  display: none !important; }

/* Hide top brand image / logo */
body.page-type-brand :is(
.brand-image,
.brand-image-container,
.brandPage-image,
.brandPage-imageContainer,
.brandBanner,
.brand-hero,
.brandHero,
.page-heading-logo
) {
  display: none !important; }

/* Hide top category image / banner */
body.page-type-category :is(
.category-image,
.category-image-container,
.categoryBanner,
.category-hero,
.categoryHero,
.chiara-category-mainImage
) {
  display: none !important; }

/* ============================================================
   Category + brand headings (visually-hidden category H1, visible brand H1)
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   CATEGORY + BRAND HEADINGS
   ============================================================ */
/* Keep the native category H1 in the document for SEO and accessibility,
   but remove it from the visual layout because the Page Builder widget
   supplies the visible department heading. */
body.page-type-category h1.cp-category-page-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px !important;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0; }

/* Brand headings remain visible. */
body.page-type-brand h1.cp-brand-page-heading {
  display: block !important;
  visibility: visible;
  margin: 14px 0 8px;
  color: #18313a;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
  text-align: center; }

/* ============================================================
   Cancel the body-page-heading-mobile mixin on brand pages
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   BRAND PAGES – CANCEL THE body-page-heading-mobile MIXIN
   The mixin hides the header logo and promotes h1.page-heading
   into the fixed header bar. For brand pages we want the logo
   visible and the h1 to sit normally in page flow (below breadcrumbs).
   ============================================================ */
@media (max-width: 800px) {
  /* Restore the header logo that the mixin hides */
  body.page-type-brand .header-logo {
    display: block; }
  /* Pull the brand h1 out of fixed positioning back into page flow */
  body.page-type-brand h1.page-heading {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
    z-index: auto;
    display: block;
    margin: 10px 0 8px;
    font-size: 24px;
    font-weight: 800;
    text-align: center;
    color: #18313a;
    overflow: visible; } }

/* ============================================================
   Full-width top intro bars, category + brand
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   TOP INTRO BARS – FULL WIDTH LIKE CATEGORY PAGES
   ============================================================ */
body.page-type-category .cp-category-topIntro,
body.page-type-brand .cp-brand-topIntro {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 12px 0 18px !important;
  padding: 12px 14px !important;
  background: #f9fcfc;
  border: 1px solid #e3ecec;
  border-top: 5px solid #097276;
  border-radius: 0;
  box-shadow: none; }

body.page-type-category .cp-category-topIntro p,
body.page-type-brand .cp-brand-topIntro p {
  margin: 0;
  color: #18313a;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  white-space: normal; }

body.page-type-category .cp-category-topIntro strong,
body.page-type-brand .cp-brand-topIntro strong {
  color: #0b3f46;
  font-weight: 800; }

/* ============================================================
   Action bar cleanup, category + brand
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   ACTION BAR CLEANUP
   ============================================================ */
body.page-type-category .actionBar-headingWrapper,
body.page-type-brand .actionBar-headingWrapper {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin: 0 0 20px; }

body.page-type-category .actionBar-headingWrapper .actionBar,
body.page-type-category .actionBar-headingWrapper form,
body.page-type-category .actionBar-headingWrapper .form-field,
body.page-type-category .actionBar-headingWrapper .actionBar-section,
body.page-type-brand .actionBar-headingWrapper .actionBar,
body.page-type-brand .actionBar-headingWrapper form,
body.page-type-brand .actionBar-headingWrapper .form-field,
body.page-type-brand .actionBar-headingWrapper .actionBar-section {
  margin-left: auto; }

/* Hide duplicate heading inside product listing/action bar only */
body.page-type-category .actionBar-headingWrapper .page-heading,
body.page-type-brand .actionBar-headingWrapper .page-heading {
  display: none; }

/* Hide duplicate default brand H1 only if it is not our explicit H1 */
body.page-type-brand .page-content > .page-heading:not(.cp-brand-page-heading),
body.page-type-brand h1.page-heading:not(.cp-brand-page-heading) {
  display: none; }

/* Hard guard: old top brand descriptions should not render above products */
body.page-type-brand .page-content > .brand-description,
body.page-type-brand .page-content > .chiara-brand-description,
body.page-type-brand .page-content > .brandView-description {
  display: none; }

/* ============================================================
   Bottom SEO block -- premium editorial category buying-guide system
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   BOTTOM SEO BLOCKS
   Premium editorial category buying-guide system
   ============================================================ */
.cp-category-seoBlock,
.cp-brand-seoBlock {
  margin: 40px 0 30px; }

.cp-category-seoBlock--full,
.cp-brand-seoBlock--full {
  width: 100%;
  max-width: 100%; }

/* Editorial buying guide: deliberately lighter than the department hero. */
.cp-category-seoBlock {
  position: relative;
  padding: 0 22px;
  background: linear-gradient(180deg, rgba(242, 249, 248, 0.78), rgba(255, 255, 255, 0));
  border-top: 3px solid #097276; }

.cp-category-seoBlock__shell {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 28px 22px 10px; }

.cp-category-seoBlock__label {
  display: none; }

.cp-category-seoBlock__labelLine {
  display: block;
  width: 24px;
  height: 1px;
  background: currentColor; }

.cp-category-seoBlock__inner {
  max-width: 940px;
  color: #18313a; }

.cp-category-seoBlock__inner > :first-child {
  margin-top: 0; }

.cp-category-seoBlock__inner > :last-child {
  margin-bottom: 0; }

.cp-category-seoBlock__inner h1,
.cp-category-seoBlock__inner h2,
.cp-category-seoBlock__inner h3,
.cp-brand-seoBlock__inner h1,
.cp-brand-seoBlock__inner h2,
.cp-brand-seoBlock__inner h3 {
  color: #18313a;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-weight: 800;
  line-height: 1.2; }

.cp-category-seoBlock__inner h1,
.cp-category-seoBlock__inner h2 {
  max-width: 100%;
  margin: 0 0 14px;
  font-size: clamp(21px, 1.55vw, 24px);
  line-height: 1.2;
  letter-spacing: -.22px;
  text-wrap: balance; }

.cp-category-seoBlock__inner h3 {
  position: relative;
  margin: 28px 0 10px;
  padding-top: 18px;
  font-size: 19px;
  letter-spacing: -.1px;
  text-wrap: balance; }

.cp-category-seoBlock__inner h3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 44px;
  height: 2px;
  background: #097276;
  border-radius: 2px;
  content: ""; }

.cp-category-seoBlock__inner p,
.cp-brand-seoBlock__inner p {
  max-width: 900px;
  margin: 0 0 14px;
  color: #40545b;
  font-size: 15px;
  line-height: 1.68; }

.cp-category-seoBlock__inner ul,
.cp-category-seoBlock__inner ol {
  margin: 12px 0 18px;
  padding-left: 22px;
  color: #40545b; }

.cp-category-seoBlock__inner li {
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.62; }

.cp-category-seoBlock__inner a,
.cp-brand-seoBlock__inner a {
  color: #087074;
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-color: rgba(9, 114, 118, 0.34);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 150ms ease, text-decoration-color 150ms ease; }

.cp-category-seoBlock__inner a:hover,
.cp-category-seoBlock__inner a:focus-visible,
.cp-brand-seoBlock__inner a:hover,
.cp-brand-seoBlock__inner a:focus-visible {
  color: #075e61;
  text-decoration-color: currentColor; }

.cp-category-seoBlock__inner a:focus-visible {
  outline: 2px solid rgba(9, 114, 118, 0.3);
  outline-offset: 2px;
  border-radius: 2px; }

/* Preserve the existing brand SEO presentation */
.cp-brand-seoBlock__inner {
  padding: 20px 22px;
  color: #18313a;
  background: #f9fcfc;
  border: 1px solid #dbe7e8;
  border-top: 5px solid #097276;
  box-shadow: 0 1px 3px rgba(24, 49, 58, 0.06); }

.cp-brand-seoBlock__inner h1,
.cp-brand-seoBlock__inner h2,
.cp-brand-seoBlock__inner h3 {
  margin: 0 0 12px; }

.cp-brand-seoBlock__inner h1 {
  font-size: 24px; }

.cp-brand-seoBlock__inner h2 {
  font-size: 22px; }

.cp-brand-seoBlock__inner h3 {
  font-size: 18px; }

.cp-brand-seoBlock__inner p:last-child {
  margin-bottom: 0; }

/* ============================================================
   Final desktop category SEO polish
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   FINAL DESKTOP CATEGORY SEO POLISH
   Desktop only — tablet and mobile remain unchanged.
   ============================================================ */
@media (min-width: 801px) {
  .cp-category-seoBlock {
    padding: 24px 32px 28px; }
  .cp-category-seoBlock__shell {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px 0 12px;
    background: transparent;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none !important; }
  .cp-category-seoBlock__inner {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none; }
  /* Let long category SEO headings use the full desktop width naturally
     instead of balancing into shorter, unnecessary lines. */
  .cp-category-seoBlock__inner h1,
  .cp-category-seoBlock__inner h2 {
    max-width: 100%;
    text-wrap: wrap; }
  .cp-category-seoBlock__inner p {
    max-width: 100%;
    line-height: 1.75; } }

@media (max-width: 800px) {
  .cp-category-seoBlock {
    margin-top: 24px;
    padding: 14px 10px;
    border-top-width: 3px; }
  .cp-category-seoBlock__shell {
    padding: 19px 16px 21px;
    border-radius: 8px;
    box-shadow: 0 7px 18px rgba(20, 52, 58, 0.045); }
  .cp-category-seoBlock__label {
    margin-bottom: 11px;
    font-size: 9px;
    letter-spacing: 1.55px; }
  .cp-category-seoBlock__inner h1,
  .cp-category-seoBlock__inner h2 {
    margin-bottom: 10px;
    font-size: 19px;
    line-height: 1.25;
    text-wrap: balance; }
  .cp-category-seoBlock__inner h3 {
    margin-top: 19px;
    padding-top: 13px;
    font-size: 17px;
    text-wrap: balance; }
  .cp-category-seoBlock__inner p,
  .cp-category-seoBlock__inner li {
    font-size: 14px;
    line-height: 1.58; }
  .cp-brand-seoBlock__inner {
    padding: 16px 14px; }
  .cp-brand-seoBlock__inner h1 {
    font-size: 21px; }
  .cp-brand-seoBlock__inner h2 {
    font-size: 20px; }
  .cp-brand-seoBlock__inner h3 {
    font-size: 17px; }
  .cp-brand-seoBlock__inner p {
    font-size: 14px;
    line-height: 1.55; } }

@media (prefers-reduced-motion: reduce) {
  .cp-category-seoBlock__inner a,
  .cp-brand-seoBlock__inner a {
    transition: none; } }

/* Empty messages */
.cp-category-empty-message,
.cp-brand-empty-message {
  margin: 18px 0;
  color: #4b5963;
  font-size: 15px; }

/* ============================================================
   Mobile tweaks, category + brand
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   MOBILE TWEAKS
   ============================================================ */
@media (max-width: 800px) {
  body.page-type-category .actionBar-headingWrapper,
  body.page-type-brand .actionBar-headingWrapper {
    margin: 0 !important;
    min-height: 0;
    height: 0;
    overflow: hidden;
    padding: 0; }
  /* Category heading mobile override */
  body.page-type-category .page-content > h1.page-heading,
  body.page-type-category h1.cp-category-page-heading,
  body.page-type-category .cp-category-heading {
    margin: 10px 0 8px;
    font-size: 24px;
    text-align: center; }
  /* Brand h1 on mobile: let the theme mixin (body-page-heading-mobile) control
     position/size — do NOT override margin/font-size here or it fights the
     fixed-in-header behaviour and causes the blank header + gap bug. */
  body.page-type-category .cp-category-topIntro,
  body.page-type-brand .cp-brand-topIntro {
    margin: 8px 0 0 !important;
    padding: 12px 14px !important; }
  body.page-type-category .cp-category-topIntro p,
  body.page-type-brand .cp-brand-topIntro p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: left !important; }
  /* position:static override removed — the theme's body-page-heading-mobile mixin
     needs h1.page-heading to be position:fixed on mobile so it sits in the header bar.
     Only reset for the actionBar heading (handled separately below). */
  body.page-type-brand .actionBar-headingWrapper .page-heading {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    z-index: auto; }
  body.page-type-brand .actionBar-headingWrapper {
    display: block !important;
    width: 100%;
    margin: 0 0 8px !important;
    min-height: 1px; }
  body.page-type-brand .actionBar-headingWrapper .actionBar,
  body.page-type-brand .actionBar-headingWrapper .actionBar-section--sort,
  body.page-type-brand .actionBar-headingWrapper .form-field {
    visibility: hidden;
    opacity: 0;
    height: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    pointer-events: none; }
  body.page-type-category .productGrid,
  body.page-type-brand .productGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important; }
  body.page-type-category .productGrid .product,
  body.page-type-brand .productGrid .product {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0; }
  body.page-type-category .productGrid .product + .product,
  body.page-type-brand .productGrid .product + .product {
    margin-top: 12px; }
  body.page-type-category .productGrid .card,
  body.page-type-brand .productGrid .card {
    width: 100% !important;
    max-width: 100% !important; }
  body.page-type-category .productGrid .card-figure,
  body.page-type-brand .productGrid .card-figure,
  body.page-type-category .productGrid .card-body,
  body.page-type-brand .productGrid .card-body {
    width: 100% !important; } }

/* ============================================================
   Remove gap between product grid and full-width SEO block
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   REMOVE GAP BETWEEN PRODUCT GRID AND FULL-WIDTH SEO BLOCK
   ============================================================ */
/* Kill ALL spacing between product grid and SEO block */
body.page-type-category .page,
body.page-type-brand .page {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

body.page-type-category .page-content,
body.page-type-brand .page-content {
  margin-bottom: 0;
  padding-bottom: 0; }

body.page-type-category #product-listing-container,
body.page-type-brand #product-listing-container {
  margin-bottom: 0;
  padding-bottom: 0; }

/* Banner placeholders inside page-content add height even when empty */
body.page-type-category [class*="category-banner"],
body.page-type-brand [class*="brand-banner"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important; }

/* Regions below content can add space even when empty */
body.page-type-category .page-content > [data-region],
body.page-type-brand .page-content > [data-region] {
  margin: 0;
  padding: 0; }

/* Pagination */
.pagination,
.navList-pagination,
.pagination-list {
  margin-bottom: 0;
  padding-bottom: 0; }

/* Space between pagination and SEO block */
.cp-category-seoBlock,
.cp-brand-seoBlock {
  margin-top: 32px; }

/* ============================================================
   Remove bottom gap before footer, category + brand
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   Remove bottom gap before footer on category + brand pages
   ============================================================ */
body.page-type-category .body,
body.page-type-brand .body {
  margin-bottom: 0 !important; }

@media (max-width: 800px) {
  body.page-type-category .body,
  body.page-type-brand .body {
    margin-bottom: 0 !important; } }

/* ============================================================
   CritPro Category Canvas + PapaSearch
   Chiara 2.7.0

   CATEGORY PAGES
   - 250px PapaSearch sidebar
   - First filter aligned with first product cards
   - No filter heading above sidebar
   - No divider above first filter

   ACTIVE SEARCH FROM CATEGORY / BRAND
   - Hide stale category / brand heading content
   - Hide stale breadcrumbs
   - Keep PapaSearch results visible
   - Correct sidebar alignment

   DEDICATED SEARCH PAGE
   - Constrain to normal CritPro content width
   - 250px filter sidebar
   - 3 products per row on desktop

   PRODUCT CARDS
   - Hide MSRP
   - Hide star ratings / review row

   TABLET / MOBILE
   - Mobile category filter drawer remains handled by
     _61-category-mobile-nav.scss
   ============================================================ */
/* ============================================================
   1. BASE CATEGORY LAYOUT
   ============================================================ */
body.page-type-category .page-content {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  margin-left: 0; }

/* Page Builder department hubs provide their own introduction. */
body.page-type-category:has(.cpCategoryHub)
.cp-category-topIntro {
  display: none; }

/* Sidebar + products results row. */
body.page-type-category
.cp-category-results-row {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  gap: 0;
  margin-top: 20px; }

/* Product listing consumes remaining horizontal space. */
body.page-type-category
.cp-category-results-row
> #product-listing-container {
  display: block;
  flex: 1 1 0;
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0; }

/* ============================================================
   2. CATEGORY PAPASEARCH SIDEBAR CLEANUP
   ============================================================ */
/* Remove Back to All Categories. */
body.page-type-category
.papasearch__parent-category-btn {
  display: none !important; }

/* Remove Filters heading. */
body.page-type-category
.papasearch__filters-title {
  display: none !important; }

/* Desktop only: remove filter heading item counts such as "(42 items)". */
@media (min-width: 801px) {
  body.page-type-category
#faceted-search-container
.papasearch__filter-count,
  .body.papasearch__body-content-container
papasearch-sidebar
.papasearch__filter-count {
    display: none !important; } }

/* Remove unused PapaSearch filter-header spacing/divider. */
body.page-type-category
.papasearch__filters-header {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  justify-content: flex-end !important; }

/* Preserve Clear All when required. */
body.page-type-category
.papasearch__filters-clear-all-btn {
  margin: 0 !important; }

/* ============================================================
   3. PAPASEARCH PRODUCT CARD CLEANUP
   CATEGORY / BRAND / SEARCH RESULTS
   ============================================================ */
/* Hide MSRP / retail price. */
.papasearch__product-price-retail {
  display: none !important; }

/* Hide ratings / review row. */
.papasearch__product-rating,
.papasearch__product-ratings,
.papasearch__rating,
.papasearch__ratings,
.papasearch__product-rating-container,
.papasearch__product-reviews,
.papasearch__review-rating,
.papasearch__rating-stars,
.papasearch__product-rating-stars {
  display: none !important; }

/* ============================================================
   4. DESKTOP CATEGORY SIDEBAR
   801px and above

   Normal category alignment remains unchanged.
   ============================================================ */
@media (min-width: 801px) {
  body.page-type-category
.cp-category-results-row
> .page-sidebar {
    display: block;
    box-sizing: border-box;
    flex: 0 0 250px;
    width: 250px;
    max-width: 250px;
    min-width: 250px;
    margin: 10px 18px 0 0;
    padding: 0; }
  /*
     Keep desktop PapaSearch filter blocks evenly spaced.

     This does not change filter typography, internal padding,
     checkbox behavior, or mobile drawer styling.
  */
  body.page-type-category
#faceted-search-container
.papasearch__filter-block,
  .body.papasearch__body-content-container
papasearch-sidebar
.papasearch__filter-block {
    margin-top: 0 !important;
    margin-bottom: 10px !important; }
  body.page-type-category
#faceted-search-container
.papasearch__filter-block:last-child,
  .body.papasearch__body-content-container
papasearch-sidebar
.papasearch__filter-block:last-child {
    margin-bottom: 0 !important; }
  /* Do not reserve an empty sidebar column. */
  body.page-type-category
.cp-category-results-row
> .page-sidebar:has(
  #faceted-search-container:empty
) {
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden; } }

/* ============================================================
   5. ACTIVE PAPASEARCH SEARCH
   CATEGORY / BRAND PAGE CLEANUP

   Script Manager adds:
   body.cp-papasearch-search-active

   Only active while a real search_query is present.
   ============================================================ */
/*
   Hide stale breadcrumbs from the page the customer
   originally searched from.
*/
body.cp-papasearch-search-active
.breadcrumbs {
  display: none !important; }

/*
   CATEGORY PAGE

   Hide the old category title and Page Builder content
   while global PapaSearch results are being displayed.
*/
body.page-type-category.cp-papasearch-search-active
.cp-category-page-heading,
body.page-type-category.cp-papasearch-search-active
.cp-category-widget-region,
body.page-type-category.cp-papasearch-search-active
.category-banner,
body.page-type-category.cp-papasearch-search-active
[data-content-region="category_below_header--global"],
body.page-type-category.cp-papasearch-search-active
[data-content-region="category_below_header"] {
  display: none !important; }

/*
   Remove the normal category spacing once the stale
   category header/widgets are hidden.
*/
body.page-type-category.cp-papasearch-search-active
.cp-category-results-row {
  margin-top: 12px; }

/*
   BRAND PAGE

   Hide standard BigCommerce brand headings and
   CritPro premium brand header/widget content only
   during an active PapaSearch search.
*/
body.page-type-brand.cp-papasearch-search-active
.page-heading,
body.page-type-brand.cp-papasearch-search-active
.cpBrandPremium,
body.page-type-brand.cp-papasearch-search-active
[data-content-region*="brand_"] {
  display: none !important; }

/* ============================================================
   6. ACTIVE SEARCH SIDEBAR ALIGNMENT
   DESKTOP

   Normal category sidebar = 10px top margin.
   Active search = 21px top margin.
   ============================================================ */
@media (min-width: 801px) {
  body.page-type-category.cp-papasearch-search-active
.cp-category-results-row
> .page-sidebar {
    margin-top: 21px; }
  body.page-type-brand.cp-papasearch-search-active
.page-sidebar {
    margin-top: 21px; } }

/* ============================================================
   7. CATEGORY PRODUCT GRID
   Desktop: 3 products per row

   PapaSearch injects:
   .papasearch__products-grid {
     grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
   }

   This section overrides that injected desktop grid and keeps
   the native BigCommerce grid as a fallback.
   ============================================================ */
@media (min-width: 801px) {
  body.page-type-category
.papasearch__products-container.papasearch__products-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; }
  body.page-type-category
.papasearch__products-container.papasearch__products-grid
> .papasearch__product-item {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important; } }

/* Native BigCommerce category fallback grid. */
body.page-type-category
.productGrid,
body.page-type-category
.productGrid[class*="productGrid--maxCol"] {
  display: flex !important;
  align-items: stretch;
  flex-wrap: wrap !important;
  margin-right: -8px !important;
  margin-left: -8px !important; }

body.page-type-category
.productGrid
> .product,
body.page-type-category
.productGrid[class*="productGrid--maxCol"]
> .product {
  display: flex;
  width: 33.333333% !important;
  max-width: 33.333333% !important;
  flex: 0 0 33.333333% !important;
  margin-top: 0;
  margin-bottom: 16px;
  padding-right: 8px !important;
  padding-left: 8px !important; }

/* ============================================================
   8. CATEGORY TABLET / MOBILE BASE
   800px and below
   ============================================================ */
@media (max-width: 800px) {
  body.page-type-category
.cp-category-results-row {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 12px; }
  body.page-type-category
.cp-category-results-row
> #product-listing-container {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0;
    padding-top: 0 !important; } }

/* ============================================================
   9. CATEGORY TABLET FALLBACK GRID
   551px through 800px
   2 products per row
   ============================================================ */
@media (min-width: 551px) and (max-width: 800px) {
  body.page-type-category
.productGrid
> .product,
  body.page-type-category
.productGrid[class*="productGrid--maxCol"]
> .product {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding-right: 7px !important;
    padding-left: 7px !important; } }

/* ============================================================
   10. CATEGORY MOBILE FALLBACK GRID
   550px and below
   1 product per row
   ============================================================ */
@media (max-width: 550px) {
  body.page-type-category
.productGrid,
  body.page-type-category
.productGrid[class*="productGrid--maxCol"] {
    width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important; }
  body.page-type-category
.productGrid
> .product,
  body.page-type-category
.productGrid[class*="productGrid--maxCol"]
> .product {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important; } }

/* ============================================================
   11. DEDICATED PAPASEARCH SEARCH PAGE
   NORMAL CRITPRO CONTENT WIDTH

   Actual PapaSearch structure confirmed as:

   .body.papasearch__body-content-container
     > papasearch-page
       > papasearch-sidebar
       > papasearch-content
   ============================================================ */
.body.papasearch__body-content-container {
  box-sizing: border-box; }

.body.papasearch__body-content-container
> papasearch-page {
  box-sizing: border-box !important;
  width: calc(100% - 30px) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important; }

/* Consistent box sizing inside dedicated search results. */
.body.papasearch__body-content-container
papasearch-page,
.body.papasearch__body-content-container
papasearch-sidebar,
.body.papasearch__body-content-container
papasearch-content,
.body.papasearch__body-content-container
.papasearch__products-container,
.body.papasearch__body-content-container
.papasearch__product-item {
  box-sizing: border-box !important; }

/* ============================================================
   12. DEDICATED SEARCH PAGE
   DESKTOP
   1001px and above

   250px sidebar
   18px gutter
   Exactly 3 products per row
   ============================================================ */
@media (min-width: 1001px) {
  .body.papasearch__body-content-container
> papasearch-page {
    display: flex !important;
    align-items: flex-start !important;
    gap: 18px !important; }
  .body.papasearch__body-content-container
> papasearch-page
> papasearch-sidebar {
    display: block !important;
    flex: 0 0 250px !important;
    width: 250px !important;
    max-width: 250px !important;
    min-width: 250px !important;
    margin: 0 !important;
    padding: 0 !important;
    /*
       Dedicated search-page correction.
       Kept separate from category-search alignment.
    */
    transform: translateY(-5px); }
  .body.papasearch__body-content-container
> papasearch-page
> papasearch-content {
    display: block !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important; }
  .body.papasearch__body-content-container
.papasearch__products-container.papasearch__products-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; }
  .body.papasearch__body-content-container
.papasearch__products-container.papasearch__products-grid
> .papasearch__product-item {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important; } }

/* ============================================================
   13. DEDICATED SEARCH PAGE
   TABLET
   551px through 1000px
   2 products per row
   ============================================================ */
@media (min-width: 551px) and (max-width: 1000px) {
  .body.papasearch__body-content-container
> papasearch-page {
    width: calc(100% - 24px) !important; }
  .body.papasearch__body-content-container
.papasearch__products-container.papasearch__products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; }
  .body.papasearch__body-content-container
.papasearch__products-container.papasearch__products-grid
> .papasearch__product-item {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important; } }

/* ============================================================
   14. DEDICATED SEARCH PAGE
   MOBILE
   550px and below
   1 product per row
   ============================================================ */
@media (max-width: 550px) {
  .body.papasearch__body-content-container
> papasearch-page {
    width: calc(100% - 20px) !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important; }
  .body.papasearch__body-content-container
.papasearch__products-container.papasearch__products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; }
  .body.papasearch__body-content-container
.papasearch__products-container.papasearch__products-grid
> .papasearch__product-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important; } }

/* ============================================================
   CritPro Brand Pages + PapaSearch
   Chiara 2.7.0

   BRAND PAGES WITH FILTERS
   - 250px PapaSearch filter sidebar on desktop (801px and up)
   - Filter sidebar cleanup matches category pages
   - Mobile / tablet use the theme's filter drawer

   PRODUCT GRID
   Desktop 1001px and up:   3 products per row
   Desktop 801px - 1000px:  2 products per row (sidebar visible)
   Tablet 551px - 800px:    2 products per row
   Mobile 550px and below:  1 product per row
   ============================================================ */
/* ============================================================
   1. BRAND PAGE LAYOUT
   brand.html places the sidebar and product listing together in
   .cp-brand-results-row, the same structure as category pages,
   so the first filter lines up with the first row of products.
   ============================================================ */
body.page-type-brand .page-content {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
  margin-left: 0; }

/* Sidebar + products results row. */
body.page-type-brand
.cp-brand-results-row {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  gap: 0;
  margin-top: 20px; }

/* Product listing consumes remaining horizontal space. */
body.page-type-brand
.cp-brand-results-row
> #product-listing-container {
  display: block;
  flex: 1 1 0;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0;
  padding: 0; }

/* ============================================================
   2. DESKTOP SIDEBAR
   801px and above
   ============================================================ */
@media (min-width: 801px) {
  body.page-type-brand
.cp-brand-results-row
> .page-sidebar {
    display: block;
    box-sizing: border-box;
    flex: 0 0 250px;
    width: 250px;
    max-width: 250px;
    min-width: 250px;
    /*
       Top margin lines the first filter up with the first row of
       product cards (the "items / Sort by" toolbar sits above the
       cards on brand pages). Adjust 23px up or down if needed.
    */
    margin: 23px 18px 0 0;
    padding: 0; }
  /* Do not reserve an empty sidebar column. */
  body.page-type-brand
.cp-brand-results-row
> .page-sidebar:has(
  #faceted-search-container:empty
) {
    flex: 0 0 0;
    width: 0;
    max-width: 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden; }
  /* Keep desktop PapaSearch filter blocks evenly spaced. */
  body.page-type-brand
#faceted-search-container
.papasearch__filter-block {
    margin-top: 0 !important;
    margin-bottom: 10px !important; }
  body.page-type-brand
#faceted-search-container
.papasearch__filter-block:last-child {
    margin-bottom: 0 !important; }
  /* Desktop only: remove filter heading item counts such as "(42 items)". */
  body.page-type-brand
#faceted-search-container
.papasearch__filter-count {
    display: none !important; } }

/* ============================================================
   2B. TABLET / MOBILE BASE
   800px and below: products full width, filters in the drawer
   ============================================================ */
@media (max-width: 800px) {
  body.page-type-brand
.cp-brand-results-row {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 12px; }
  body.page-type-brand
.cp-brand-results-row
> #product-listing-container {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0;
    padding-top: 0 !important; } }

/* ============================================================
   3. BRAND PAPASEARCH SIDEBAR CLEANUP
   Same cleanup used on category pages.
   ============================================================ */
/* Remove Back to All Categories. */
body.page-type-brand
.papasearch__parent-category-btn {
  display: none !important; }

/* Remove Filters heading. */
body.page-type-brand
.papasearch__filters-title {
  display: none !important; }

/* Remove unused PapaSearch filter-header spacing/divider. */
body.page-type-brand
.papasearch__filters-header {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  justify-content: flex-end !important; }

/* Preserve Clear All when required. */
body.page-type-brand
.papasearch__filters-clear-all-btn {
  margin: 0 !important; }

/* ============================================================
   4. PAPASEARCH PRODUCT GRID
   DESKTOP 1001px AND UP: 3 PER ROW
   ============================================================ */
body.page-type-brand .papasearch__products-container,
body.page-type-brand .papasearch__products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important; }

/* ============================================================
   5. PAPASEARCH PRODUCT ITEMS
   ============================================================ */
body.page-type-brand .papasearch__product-item {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  grid-column: auto !important; }

/* ============================================================
   6. PRODUCT IMAGES
   ============================================================ */
body.page-type-brand .papasearch__product-image-container {
  width: 100% !important;
  max-width: 100% !important; }

body.page-type-brand .papasearch__product-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain; }

/* ============================================================
   7. PRODUCT INFORMATION
   ============================================================ */
body.page-type-brand .papasearch__product-info {
  width: 100%;
  min-width: 0;
  box-sizing: border-box; }

body.page-type-brand .papasearch__product-name {
  width: 100%;
  max-width: 100%; }

/* ============================================================
   8. NARROW DESKTOP AND TABLET
   551px - 1000px
   2 PRODUCTS PER ROW
   ============================================================ */
@media (min-width: 551px) and (max-width: 1000px) {
  body.page-type-brand .papasearch__products-container,
  body.page-type-brand .papasearch__products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important; } }

/* ============================================================
   9. MOBILE
   550px AND BELOW
   1 PRODUCT PER ROW
   ============================================================ */
@media (max-width: 550px) {
  body.page-type-brand .papasearch__products-container,
  body.page-type-brand .papasearch__products-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px 0 !important; }
  body.page-type-brand .papasearch__product-item {
    width: 100% !important;
    max-width: 100% !important; } }

/* ============================================================
   10. FALLBACK
   Native BigCommerce brand grid

   This remains here in case PapaSearch is unavailable or
   BigCommerce renders the native listing before PapaSearch
   initializes.
   ============================================================ */
body.page-type-brand .productGrid {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-right: -8px !important;
  margin-left: -8px !important; }

body.page-type-brand .productGrid > .product {
  width: 33.333333% !important;
  max-width: 33.333333% !important;
  flex: 0 0 33.333333% !important;
  padding-right: 8px !important;
  padding-left: 8px !important; }

@media (min-width: 551px) and (max-width: 1000px) {
  body.page-type-brand .productGrid > .product {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important; } }

@media (max-width: 550px) {
  body.page-type-brand .productGrid {
    margin-right: 0 !important;
    margin-left: 0 !important; }
  body.page-type-brand .productGrid > .product {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important; } }

/* ============================================================
   11. PAPASEARCH BRAND CARD CLEANUP
   ============================================================ */
/* Hide MSRP / retail price on brand-page product cards */
body.page-type-brand .papasearch__product-price-retail {
  display: none !important; }

/* Hide star ratings / review row on brand-page product cards */
body.page-type-brand .papasearch__product-rating,
body.page-type-brand .papasearch__product-ratings,
body.page-type-brand .papasearch__rating,
body.page-type-brand .papasearch__ratings,
body.page-type-brand .papasearch__product-rating-container,
body.page-type-brand .papasearch__product-reviews,
body.page-type-brand .papasearch__review-rating,
body.page-type-brand .papasearch__rating-stars {
  display: none !important; }

/* ============================================================
   Shared department hub + logo brands widgets
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   CRITPRO SHARED DEPARTMENT HUBS + LOGO BRANDS
   Styling lives once in the theme; Page Builder widgets contain HTML only.
   ============================================================ */
.cpDeptHub,
.cpDeptHub *,
.cpDeptBrands,
.cpDeptBrands * {
  box-sizing: border-box; }

.cpDeptHub,
.cpDeptBrands {
  width: 100%;
  font-family: Barlow, Arial, Helvetica, sans-serif; }

/* Department introduction */
.cpDeptHub {
  margin: 0; }

.cpDeptHub__intro {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 16px 24px 17px;
  overflow: hidden;
  text-align: center;
  background: radial-gradient(circle at 92% -55%, rgba(9, 114, 118, 0.105) 0, rgba(9, 114, 118, 0) 38%), radial-gradient(circle at 8% 145%, rgba(9, 114, 118, 0.055) 0, rgba(9, 114, 118, 0) 34%), linear-gradient(180deg, #fff 0%, #f5faf9 100%);
  border: 1px solid #d6e2e1;
  border-top: 3px solid #097276;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(20, 48, 52, 0.025), 0 8px 20px rgba(20, 72, 76, 0.055); }

.cpDeptHub__description {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
  color: #526164;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5; }

.cpDeptHub__trust {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 10px 0 0; }

.cpDeptHub__trustItem {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 31px;
  padding: 6px 13px;
  color: #293436;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #d3dfde;
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(20, 45, 50, 0.035);
  transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }

.cpDeptHub__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  color: #fff;
  background: #097276;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 900;
  line-height: 1; }

.cpDeptHub__trustItem:hover {
  color: #123f41;
  background: #fff;
  border-color: #b5cbca;
  box-shadow: 0 4px 10px rgba(22, 72, 75, 0.065);
  transform: translateY(-1px); }

/* Desktop department navigation */
.cpDeptHub__nav {
  width: 100%;
  margin: 6px 0 0; }

.cpDeptHub__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 9px; }

.cpDeptHub__card {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 68px;
  padding: 12px 46px 12px 18px;
  overflow: hidden;
  grid-column: span 3;
  color: #22292b;
  text-decoration: none;
  background: linear-gradient(180deg, #fff 0%, #f7faf9 100%);
  border: 1px solid #d7e2e1;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(21, 47, 52, 0.025), 0 4px 10px rgba(21, 47, 52, 0.035);
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }

.cpDeptHub__card--half {
  grid-column: span 6; }

.cpDeptHub__card--third {
  grid-column: span 4; }

.cpDeptHub__card--full {
  grid-column: span 12; }

.cpDeptHub__card::before {
  content: "";
  position: absolute;
  top: 11px;
  bottom: 11px;
  left: 0;
  width: 3px;
  background: #097276;
  border-radius: 0 3px 3px 0;
  opacity: .9;
  transition: opacity .18s ease, transform .18s ease; }

.cpDeptHub__card::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #789596;
  border-right: 2px solid #789596;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .18s ease, transform .18s ease; }

.cpDeptHub__content {
  display: block;
  min-width: 0; }

.cpDeptHub__name {
  display: block;
  min-width: 0;
  color: #203033;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.004em;
  white-space: nowrap; }

.cpDeptHub__meta {
  display: block;
  min-width: 0;
  margin-top: 4px;
  color: #718083;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .005em;
  white-space: nowrap;
  transition: color .18s ease; }

.cpDeptHub__card:hover {
  color: #123f41;
  text-decoration: none;
  background: linear-gradient(180deg, #fff 0%, #f0f7f6 100%);
  border-color: #b4cac8;
  box-shadow: 0 2px 4px rgba(21, 47, 52, 0.035), 0 9px 20px rgba(21, 71, 74, 0.085);
  transform: translateY(-2px); }

.cpDeptHub__card:hover::before,
.cpDeptHub__card:focus-visible::before {
  opacity: 1;
  transform: scaleY(1.08); }

.cpDeptHub__card:hover::after,
.cpDeptHub__card:focus-visible::after {
  border-color: #097276;
  transform: translate(3px, -50%) rotate(45deg); }

.cpDeptHub__card:hover .cpDeptHub__meta,
.cpDeptHub__card:focus-visible .cpDeptHub__meta {
  color: #527274; }

.cpDeptHub__card:focus {
  color: #22292b;
  text-decoration: none; }

.cpDeptHub__card:focus-visible {
  outline: 2px solid #097276;
  outline-offset: 2px;
  border-color: #097276; }

/* Logo brand showcase */
.cpDeptBrands {
  margin: 10px 0 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(244, 250, 249, 0.96) 0%, rgba(249, 252, 252, 0.99) 100%);
  border: 1px solid #d3e2e0;
  border-radius: 9px;
  box-shadow: 0 3px 12px rgba(20, 58, 62, 0.045); }

.cpDeptBrands__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 46px;
  margin: 0;
  padding: 8px 14px;
  background: linear-gradient(180deg, #fbfdfd 0%, #f3f8f7 100%);
  border-bottom: 1px solid #d8e5e4; }

.cpDeptBrands__headingWrap {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0; }

.cpDeptBrands__headingIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: #fff;
  background: linear-gradient(180deg, #0b858a 0%, #097276 100%);
  border-radius: 7px;
  box-shadow: 0 3px 8px rgba(9, 114, 118, 0.18); }

.cpDeptBrands__headingIcon svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round; }

.cpDeptBrands__heading {
  margin: 0;
  color: #16494c;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em; }

.cpDeptBrands__all {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 6px 12px;
  color: #fff;
  background: #097276;
  border: 1px solid #097276;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 10px rgba(9, 114, 118, 0.18);
  transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }

.cpDeptBrands__all::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .16s ease; }

.cpDeptBrands__all:hover,
.cpDeptBrands__all:focus {
  color: #fff;
  background: #075d61;
  border-color: #075d61;
  box-shadow: 0 6px 14px rgba(9, 93, 97, 0.22);
  text-decoration: none;
  transform: translateY(-1px); }

.cpDeptBrands__all:hover::after,
.cpDeptBrands__all:focus::after {
  transform: translateX(2px) rotate(45deg); }

.cpDeptBrands__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  padding: 14px; }

.cpDeptBrands__card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 118px;
  padding: 10px;
  overflow: hidden;
  color: #20292b;
  text-decoration: none;
  background: linear-gradient(180deg, #fff 0%, #f7faf9 100%);
  border: 1px solid #d2e1df;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(20, 45, 50, 0.045);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }

.cpDeptBrands__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0, rgba(9, 114, 118, 0.07) 0%, rgba(9, 114, 118, 0) 52%);
  opacity: .65;
  pointer-events: none;
  transition: opacity .18s ease; }

.cpDeptBrands__logo {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 180px;
  height: auto;
  max-height: 96px;
  aspect-ratio: 3 / 2;
  padding: 4px;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
  background: #fff;
  border-radius: 6px;
  transition: transform .18s ease; }

.cpDeptBrands__card:hover {
  text-decoration: none;
  background: linear-gradient(180deg, #fff 0%, #edf7f6 100%);
  border-color: #8ebfbc;
  box-shadow: 0 10px 24px rgba(20, 72, 76, 0.1);
  transform: translateY(-3px); }

.cpDeptBrands__card:hover::before,
.cpDeptBrands__card:focus-visible::before {
  opacity: 1; }

.cpDeptBrands__card:hover .cpDeptBrands__logo,
.cpDeptBrands__card:focus-visible .cpDeptBrands__logo {
  transform: scale(1.035); }

.cpDeptBrands__card:focus {
  text-decoration: none; }

.cpDeptBrands__card:focus-visible {
  outline: 2px solid #097276;
  outline-offset: 2px;
  border-color: #097276; }

@media (max-width: 1200px) and (min-width: 1001px) {
  .cpDeptBrands__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cpDeptBrands__card {
    min-height: 108px; }
  .cpDeptBrands__logo {
    max-width: 170px;
    max-height: 90px; } }

@media (min-width: 551px) and (max-width: 1000px) {
  .cpDeptHub {
    margin-bottom: 14px; }
  .cpDeptBrands {
    margin: 12px 0 18px; }
  .cpDeptBrands__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cpDeptBrands__card {
    min-height: 104px; }
  .cpDeptBrands__logo {
    max-width: 160px;
    max-height: 86px; } }

@media (max-width: 1000px) {
  .cpDeptHub__intro {
    padding: 14px 18px 15px; }
  .cpDeptHub__description {
    font-size: 14px;
    line-height: 1.48; }
  .cpDeptHub__trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    max-width: 500px;
    margin: 10px auto 0; }
  .cpDeptHub__trustItem {
    width: 100%;
    justify-content: center;
    padding-right: 12px;
    padding-left: 12px;
    text-align: center; }
  .cpDeptHub__nav {
    display: none; } }

@media (max-width: 700px) {
  .cpDeptHub__intro {
    padding: 14px;
    border-radius: 7px; }
  .cpDeptHub__description {
    max-width: 420px;
    font-size: 13px;
    text-align: center; }
  .cpDeptHub__trust {
    gap: 7px;
    max-width: 320px; }
  .cpDeptHub__trustItem {
    min-width: 0;
    min-height: 36px;
    padding: 7px 8px;
    justify-content: flex-start;
    gap: 6px;
    font-size: 11px;
    text-align: left; }
  .cpDeptHub__check {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    font-size: 9px; } }

@media (max-width: 550px) {
  .cpDeptBrands {
    display: none; } }

@media (max-width: 350px) {
  .cpDeptHub__trust {
    grid-template-columns: 1fr; }
  .cpDeptHub__trustItem {
    justify-content: center;
    text-align: center; } }

@media (prefers-reduced-motion: reduce) {
  .cpDeptHub__trustItem,
  .cpDeptHub__card,
  .cpDeptHub__card::before,
  .cpDeptHub__card::after,
  .cpDeptHub__meta,
  .cpDeptBrands__all,
  .cpDeptBrands__all::after,
  .cpDeptBrands__card,
  .cpDeptBrands__card::before,
  .cpDeptBrands__logo {
    transition: none; }
  .cpDeptHub__trustItem:hover,
  .cpDeptHub__card:hover,
  .cpDeptBrands__all:hover,
  .cpDeptBrands__card:hover,
  .cpDeptBrands__card:hover .cpDeptBrands__logo {
    transform: none; } }

/* ============================================================
   Premium category widget -- mobile title fit
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   PREMIUM CATEGORY WIDGET MOBILE TITLE FIT
   Mobile only — desktop/tablet remain unchanged.
   Long titles stay one line and truncate cleanly with an ellipsis.
   ============================================================ */
@media (max-width: 550px) {
  /* Main premium category title */
  body.page-type-category
.cp-category-widget-region
[class*="Premium__heading"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 18px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.3px !important; }
  /* Small uppercase eyebrow above the title */
  body.page-type-category
.cp-category-widget-region
[class*="Premium__eyebrow"] {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 7px !important;
    line-height: 1.08 !important;
    letter-spacing: 0.8px !important; }
  /* Shorten the decorative line so the eyebrow has more room */
  body.page-type-category
.cp-category-widget-region
[class*="Premium__eyebrow"]::before {
    width: 12px !important;
    flex: 0 0 12px !important; } }

/* ============================================================
   Premium category widget -- desktop intro alignment
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   PREMIUM CATEGORY WIDGET DESKTOP INTRO ALIGNMENT
   Desktop only.
   Keeps the description on one line, aligned with the heading,
   and keeps the divider aligned to the same content width.
   Trust badges remain centered below the divider.
   ============================================================ */
@media (min-width: 1051px) {
  body.page-type-category
.cp-category-widget-region
[class*="Premium__description"] {
    display: none !important; }
  body.page-type-category
.cp-category-widget-region
[class*="Premium__trust"] {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    justify-content: center !important; } }

/* ============================================================
   Hard-coded premium brand page
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   HARD-CODED PREMIUM BRAND PAGE
   Matches the premium category-page visual system.
   No Page Builder widget and no new SCSS partial.
   ============================================================ */
body.page-type-brand .cpBrandPremium__panel,
body.page-type-brand .cpBrandPremium__panel * {
  box-sizing: border-box; }

/* Match the category premium panel: compact, left aligned, rounded,
   teal top rule, subtle right-side wash. */
body.page-type-brand .cpBrandPremium__panel {
  position: relative;
  width: 100%;
  margin: 14px 0 22px;
  overflow: hidden;
  background: radial-gradient(circle at 96% 12%, rgba(9, 114, 118, 0.065) 0, rgba(9, 114, 118, 0.028) 28%, transparent 52%), linear-gradient(90deg, #ffffff 0%, #ffffff 68%, #f3fafa 100%);
  border: 1px solid #d7e2e2;
  border-top: 4px solid #097276;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(23, 54, 61, 0.045); }

body.page-type-brand .cpBrandPremium__panel::after {
  position: absolute;
  top: -115px;
  right: -30px;
  width: 225px;
  height: 225px;
  border: 1px solid rgba(9, 114, 118, 0.055);
  border-radius: 50%;
  content: "";
  pointer-events: none; }

body.page-type-brand .cpBrandPremium__intro {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 20px 30px 18px;
  text-align: left; }

body.page-type-brand .cpBrandPremium__eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 7px;
  color: #6f7442;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 1.55px;
  text-transform: uppercase; }

body.page-type-brand .cpBrandPremium__eyebrow::before {
  display: block;
  width: 20px;
  height: 1px;
  flex: 0 0 20px;
  background: #8b8d55;
  content: ""; }

body.page-type-brand .cpBrandPremium__heading {
  margin: 0;
  color: #18313a;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: clamp(29px, 2.15vw, 34px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.45px;
  text-align: left; }

/* Keep the useful auto-generated description in the markup, but the
   category desktop design is intentionally compact and does not show it. */
body.page-type-brand .cpBrandPremium__description {
  display: none; }

body.page-type-brand .cpBrandPremium__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 9px 12px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid #dce5e5; }

body.page-type-brand .cpBrandPremium__trustItem {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 14px 6px 10px;
  color: #30474e;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #d9e3e3;
  border-radius: 999px;
  box-shadow: 0 2px 7px rgba(23, 54, 61, 0.08);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap; }

body.page-type-brand .cpBrandPremium__trustCheck {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #fff;
  background: #0a888c;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
  line-height: 1; }

/* The hard-coded premium header is the brand page's visible H1. */
body.page-type-brand h1.cp-brand-page-heading,
body.page-type-brand .page-content > h1.page-heading {
  display: none; }

/* ============================================================
   Brand product toolbar
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   BRAND PRODUCT TOOLBAR
   Mirrors the category toolbar card.
   ============================================================ */
body.page-type-brand .cp-brand-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 0 0 20px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #dce5e5;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(23, 54, 61, 0.04); }

body.page-type-brand .cp-brand-toolbar__label {
  margin: 0;
  color: #253b42;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35; }

body.page-type-brand .cp-brand-toolbar__sort,
body.page-type-brand .cp-brand-toolbar__sort .actionBar-headingWrapper {
  margin: 0; }

body.page-type-brand .cp-brand-toolbar__sort .actionBar-headingWrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end; }

/* ============================================================
   Brand bottom SEO block
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ============================================================
   BRAND BOTTOM SEO BLOCK
   Match the category screenshot: teal top rule / pale outer wash /
   centered white editorial card with border and section dividers.
   ============================================================ */
body.page-type-brand .cp-brand-seoBlock {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 40px 0 0;
  padding: 44px 22px 58px;
  background: linear-gradient(180deg, rgba(242, 249, 248, 0.9), rgba(255, 255, 255, 0.76));
  border-top: 3px solid #097276; }

body.page-type-brand .cp-brand-seoBlock__shell {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
  padding: 24px 20px 22px;
  background: #fff;
  border: 1px solid #dce4e4;
  border-top: 2px solid #0b7b7f;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(23, 54, 61, 0.025); }

body.page-type-brand .cp-brand-seoBlock__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #18313a;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

/* Neutralize legacy wrappers inside Page Builder brand content. */
body.page-type-brand .cp-brand-seoBlock__inner > div,
body.page-type-brand .cp-brand-seoBlock__inner .cp-brand-description,
body.page-type-brand .cp-brand-seoBlock__inner .brand-description,
body.page-type-brand .cp-brand-seoBlock__inner .chiara-brand-description {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

body.page-type-brand .cp-brand-seoBlock__inner > :first-child,
body.page-type-brand .cp-brand-seoBlock__inner > div > :first-child {
  margin-top: 0; }

body.page-type-brand .cp-brand-seoBlock__inner > :last-child,
body.page-type-brand .cp-brand-seoBlock__inner > div > :last-child {
  margin-bottom: 0; }

body.page-type-brand .cp-brand-seoBlock__inner h1,
body.page-type-brand .cp-brand-seoBlock__inner h2,
body.page-type-brand .cp-brand-seoBlock__inner h3 {
  color: #18313a;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-weight: 800;
  line-height: 1.2; }

body.page-type-brand .cp-brand-seoBlock__inner h1,
body.page-type-brand .cp-brand-seoBlock__inner h2 {
  margin: 0 0 14px;
  font-size: clamp(21px, 1.55vw, 24px);
  letter-spacing: -.22px; }

/* Brand descriptions are usually written as one H2 followed by paragraphs.
   Give subsequent headings the same short teal divider used on category pages. */
body.page-type-brand .cp-brand-seoBlock__inner h3,
body.page-type-brand .cp-brand-seoBlock__inner h2:not(:first-child) {
  position: relative;
  margin: 28px 0 10px;
  padding-top: 18px;
  font-size: 19px;
  letter-spacing: -.1px; }

body.page-type-brand .cp-brand-seoBlock__inner h3::before,
body.page-type-brand .cp-brand-seoBlock__inner h2:not(:first-child)::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 44px;
  height: 2px;
  background: #097276;
  border-radius: 2px;
  content: ""; }

body.page-type-brand .cp-brand-seoBlock__inner p {
  max-width: none;
  margin: 0 0 14px;
  color: #40545b;
  font-size: 15px;
  line-height: 1.68; }

body.page-type-brand .cp-brand-seoBlock__inner ul,
body.page-type-brand .cp-brand-seoBlock__inner ol {
  margin: 12px 0 18px;
  padding-left: 22px;
  color: #40545b; }

body.page-type-brand .cp-brand-seoBlock__inner li {
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.62; }

body.page-type-brand .cp-brand-seoBlock__inner a {
  color: #087074;
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-color: rgba(9, 114, 118, 0.34);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px; }

body.page-type-brand .cp-brand-seoBlock__inner a:hover,
body.page-type-brand .cp-brand-seoBlock__inner a:focus-visible {
  color: #075e61;
  text-decoration-color: currentColor; }

@media (max-width: 800px) {
  body.page-type-brand .cpBrandPremium__panel {
    margin: 8px 0 14px;
    border-top-width: 3px;
    border-radius: 8px; }
  body.page-type-brand .cpBrandPremium__intro {
    padding: 17px 15px 15px; }
  body.page-type-brand .cpBrandPremium__eyebrow {
    font-size: 10px;
    letter-spacing: 1.2px; }
  body.page-type-brand .cpBrandPremium__heading {
    font-size: 27px; }
  body.page-type-brand .cpBrandPremium__description {
    display: block;
    margin: 10px 0 0;
    color: #40545b;
    font-size: 14px;
    line-height: 1.55;
    text-align: left; }
  body.page-type-brand .cpBrandPremium__trust {
    justify-content: center;
    width: 100%;
    gap: 7px;
    margin-top: 13px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 12px; }
  body.page-type-brand .cpBrandPremium__trustItem {
    min-height: 31px;
    padding: 5px 10px 5px 8px;
    font-size: 11px; }
  body.page-type-brand .cp-brand-toolbar {
    gap: 10px;
    padding: 11px 12px; }
  body.page-type-brand .cp-brand-toolbar__label {
    font-size: 12px; }
  body.page-type-brand .cp-brand-seoBlock {
    margin-top: 24px;
    padding: 26px 10px 36px; }
  body.page-type-brand .cp-brand-seoBlock__shell {
    padding: 18px 16px 20px; }
  body.page-type-brand .cp-brand-seoBlock__inner h1,
  body.page-type-brand .cp-brand-seoBlock__inner h2 {
    margin-bottom: 10px;
    font-size: 19px;
    line-height: 1.25; }
  body.page-type-brand .cp-brand-seoBlock__inner h3,
  body.page-type-brand .cp-brand-seoBlock__inner h2:not(:first-child) {
    margin-top: 20px;
    padding-top: 13px;
    font-size: 17px; }
  body.page-type-brand .cp-brand-seoBlock__inner p,
  body.page-type-brand .cp-brand-seoBlock__inner li {
    font-size: 14px;
    line-height: 1.58; } }

/* ============================================================
   Brand premium trust badges -- mobile row alignment
   Split out of the old "file 04" brand+category catch-all (audit cleanup).
   ============================================================ */
/* ==========================================================
   Brand Premium Trust Badges — Mobile Row Alignment
   ========================================================== */
@media (max-width: 550px) {
  body.page-type-brand .cpBrandPremium__trust {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    row-gap: 8px;
    width: 100%; }
  body.page-type-brand .cpBrandPremium__trustItem {
    display: grid;
    grid-template-columns: 18px auto;
    align-items: center;
    column-gap: 6px;
    margin: 0; }
  body.page-type-brand .cpBrandPremium__trustCheck {
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center; } }

/* ============================================================
   FOOTER NEWSLETTER STYLING
   ============================================================ */
.footer-info-col--newsletter .footer-info-heading {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 6px; }

.footer-info-col--newsletter .footer-newsletter-subtext {
  font-size: 14px;
  line-height: 1.4;
  color: #666;
  margin: 0; }

/* ============================================================
   MOBILE PAYMENT ICONS (FINAL PERFECT VERSION)
   ============================================================ */
@media (max-width: 800px) {
  .footer-payment-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 10px 14px;
    margin: 10px auto 0;
    padding: 12px 16px;
    background: transparent;
    border: none;
    border-radius: 0;
    max-width: 300px;
    box-shadow: none; }
  .footer-payment-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    width: auto;
    max-width: 56px;
    background: #ffffff;
    border-radius: 4px;
    padding: 4px 6px; }
  .footer-info-heading {
    text-align: center;
    margin-bottom: 6px; } }

/* ── FOOTER 5-COLUMN LAYOUT — DESKTOP ───────────────────────
   Col 1: Shopping Help   order: 1
   Col 2: Our Brands      order: 2
   Col 3: Custom Group 1  order: 3
   Col 4: Custom Group 3  order: 4
   Col 5: Custom Group 2  order: 5
   ─────────────────────────────────────────────────────────── */
@media (min-width: 801px) {
  .footer-info {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    column-gap: 24px !important; }
  .footer-info-col--webpages {
    order: 1; }
  .footer-info-col--brands {
    order: 2; }
  .footer-info-col--custom1 {
    order: 3; }
  .footer-info-col--custom3 {
    order: 4; }
  .footer-info-col--custom2 {
    order: 5; } }

/* ── FOOTER COLUMN ORDER — MOBILE ───────────────────────────
   Makes footer-info a flex column on mobile so CSS order works.
   1: Shopping Help
   2: Our Brands
   3: Buying Guides (custom3)
   4: Privacy & Security (custom1)
   5: Company Information (custom2)
   ─────────────────────────────────────────────────────────── */
@media (max-width: 800px) {
  .footer-info {
    display: flex !important;
    flex-direction: column; }
  .footer-info-left,
  .footer-info-right {
    display: contents !important; }
  .footer-info-col--webpages {
    order: 1 !important; }
  .footer-info-col--brands {
    order: 2 !important; }
  .footer-info-col--custom3 {
    order: 3 !important; }
  .footer-info-col--custom1 {
    order: 4 !important; }
  .footer-info-col--custom2 {
    order: 5 !important; }
  .footer-info-col--address {
    order: 6; }
  .footer-info-col--socials {
    order: 7; } }

/* ── HIDE BUYER'S GUIDES FROM SHOPPING HELP ─────────────────
   Update href if your guides hub URL differs.
   ─────────────────────────────────────────────────────────── */
.footer-info-col--webpages .footer-info-list li:has(> a[href="/guides/"]) {
  display: none; }

/* ── TABLET FOOTER — CENTER ACCORDION BUTTONS ───────────────
   On tablet the footer shows as accordion. Center the buttons.
   ─────────────────────────────────────────────────────────── */
@media (min-width: 668px) and (max-width: 800px) {
  .footer-info-heading,
  .footer-info-heading[data-collapsible],
  .footer-info-heading[role="button"] {
    display: flex;
    width: 100%;
    text-align: center;
    justify-content: center;
    align-items: center; }
  .footer-info-col {
    width: 100% !important; } }

/* ============================================================
   ACCESSIBILITY: TOUCH TARGETS
   ============================================================ */
.mobile-panel-close,
.navList-toggle {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1; }

.navList-toggle {
  min-width: 44px;
  min-height: 44px; }

.navList-more > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 10px 14px; }

:is(
.cart-remove,
.cart-item-remove,
.cart-removeItem,
a[data-cart-itemid][data-cart-item-remove]
) {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1; }

/* Prevent icons from stealing clicks */
:is(
.mobile-panel-close,
.navList-toggle,
.cart-remove,
.cart-item-remove,
.cart-removeItem
) :is(svg, .icon, i) {
  pointer-events: none; }

/* ============================================================
   CONSOLIDATED MOBILE
   ============================================================ */
@media (max-width: 800px) {
  body.page-type-default .chiara-section .page-heading,
  body.page-type-default .chiara-section .section-title,
  body.page-type-default .chiara-section h2 {
    margin-bottom: 16px; }
  body.page-type-default .slick-dots {
    margin-top: 8px; }
  .card-figcaption-body a.card-figcaption-button[href*="cart.php"][href*="action=add"] {
    display: none !important; }
  .footer-info-col--newsletter .footer-info-heading {
    font-size: 22px; }
  .footer-info-col--newsletter .footer-newsletter-subtext {
    font-size: 13px; }
  .mobile-panel-close {
    display: inline-flex !important; }
  :is(#menu, #navCatalog-panel, #navUser-more-panel)[aria-hidden="true"] {
    visibility: hidden !important;
    pointer-events: none !important; }
  :is(#menu, #navCatalog-panel, #navUser-more-panel)[aria-hidden="false"] {
    visibility: visible !important;
    pointer-events: auto !important; }
  .navPages-container,
  .navCatalog-panel,
  .navUser-panel,
  .navPages-action,
  .navPages-action-moreIcon,
  .socialLinks .icon svg {
    transition-property: transform, opacity; }
  .navPages-container[aria-hidden="true"],
  .navCatalog-panel[aria-hidden="true"],
  .navUser-panel[aria-hidden="true"] {
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 8px, 0); }
  .navPages-container[aria-hidden="false"],
  .navCatalog-panel[aria-hidden="false"],
  .navUser-panel[aria-hidden="false"] {
    visibility: visible;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity; } }

/* ============================================================
   DESKTOP-ONLY FIXES
   ============================================================ */
@media (min-width: 801px) {
  .mobile-panel-close {
    display: none !important; } }

/* ============================================================
   ACCESSIBILITY: QUICKSEARCH + FOOTER COLLAPSIBLES
   ============================================================ */
#quickSearch[aria-hidden="true"] {
  visibility: hidden !important;
  pointer-events: none !important; }

#quickSearch[aria-hidden="false"] {
  visibility: visible !important;
  pointer-events: auto !important; }

.footer-info-list[aria-hidden="true"] {
  display: none !important; }

.footer-info-list[aria-hidden="false"] {
  display: block !important; }

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .navPages-container,
  .navCatalog-panel,
  .navUser-panel,
  .navPages-action,
  .socialLinks .icon svg {
    transition: none;
    animation: none; } }

/* ============================================================
   A11Y CONTRAST FIXES
   General/global contrast rules only.
   PDP-specific contrast rules moved to critpro/pdp/_00-a11y-contrast.scss
   ============================================================ */
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span {
  color: #2b2b2b; }

.breadcrumbs a:hover,
.breadcrumbs a:focus {
  color: #111;
  text-decoration: underline; }

.breadcrumbs {
  background: transparent; }

/* PDP accessibility contrast rules intentionally stay near the global a11y layer */
/* ============================================================
   PDP A11Y CONTRAST FIXES
   Extracted from the mixed a11y contrast file so PDP rules are
   easier to maintain without touching global breadcrumb styling.
   Import order preserved from _chiara-custom.scss.
   ============================================================ */
.productView-details h3,
.productView-details h4,
.productView-details .productView-options-panel-heading,
.productView-properties-heading,
.productView-desc-heading,
.productView-productsList-heading {
  color: #1f1f1f; }

.productView-details,
.productView-details p,
.productView-details dt,
.productView-details dd,
.productView-details .form-label,
.productView-details .form-field,
.productView-details .productView-info-name,
.productView-details .productView-info-value {
  color: #2a2a2a; }

a[data-reveal-id="modal-review-form"] {
  color: #0b4f4c;
  font-weight: 600; }

a[data-reveal-id="modal-review-form"]:hover,
a[data-reveal-id="modal-review-form"]:focus {
  color: #083d3b;
  text-decoration: underline; }

.productView-tab-content h3,
.productView-tab-content h4,
.productView-tab-content p,
.productView-tab-content li {
  color: #222; }

.productView-details {
  color: #1f1f1f; }
  .productView-details .productView-info {
    margin-bottom: 14px; }
  .productView-details .productView-priceTopBlock--belowInfo {
    margin-top: 6px;
    margin-bottom: 14px; }
  .productView-details .productView-priceTopBlock--belowInfo .productView-price {
    margin: 0 0 6px;
    line-height: 1.1; }
  .productView-details .productView-priceTopBlock--belowInfo .productView-payments {
    margin: 0; }

.productView-options-panel-heading,
h4.productView-options-panel-heading {
  color: #1a1a1a;
  font-weight: 600; }

.productView-options,
.productView-options label,
.productView-options .form-label,
.productView-options .form-field,
.productView-options .productView-info,
.productView-options .productView-info-name,
.productView-options .productView-info-value,
.form-increment,
.form-increment button,
.form-increment input {
  color: #222; }

/* Homepage merchandising / hero / section spacing */
/* ============================================================
   CritPro homepage and merchandising sections
   Import order preserved from the original flat import list.
   ============================================================ */
/* ============================================================
   HOMEPAGE SPACING CLEANUP
   ============================================================ */
/* Remove hero carousel bottom gap */
body.page-type-default .heroCarousel,
body.page-type-default .heroCarousel.slick-dotted.slick-slider {
  margin-bottom: 0; }

/* Normalize vertical padding on homepage sections */
body.page-type-default .chiara-section,
body.page-type-default [data-content-region] {
  padding-top: 0;
  padding-bottom: 0; }

/* Remove forced spacing between blocks */
body.page-type-default [data-content-region] + .chiara-section,
body.page-type-default .chiara-section + .chiara-section,
body.page-type-default .chiara-section + [data-content-region],
body.page-type-default [data-content-region] + [data-content-region] {
  margin-top: 0; }

/* Tighten section headings */
body.page-type-default .chiara-section .page-heading,
body.page-type-default .chiara-section .section-title,
body.page-type-default .chiara-section h2 {
  margin-top: 0;
  margin-bottom: 0; }

/* Slick dots spacing */
body.page-type-default .slick-dots {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0; }

/* Quick links widget */
body.page-type-default .cp-quicklinks {
  margin: 0;
  padding: 0; }

/* ============================================================
   HOMEPAGE – CATEGORIES LIST TYPOGRAPHY
   ============================================================ */
.chiara-section--categoriesList .chiara-categoriesList-name,
.chiara-section--categoriesList .chiara-categoriesList-name a {
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap; }

.chiara-section--categoriesList .chiara-categoriesList-name {
  font-size: 26px;
  line-height: 1.15; }

@media (max-width: 900px) {
  .chiara-section--categoriesList .chiara-categoriesList-name {
    font-size: 20px; } }

@media (max-width: 550px) {
  .chiara-section--categoriesList .chiara-categoriesList-name {
    font-size: 20px; }
  .chiara-section--categoriesList .chiara-categoriesList-subList a {
    font-weight: 400; } }

/* ============================================================
   HERO: CENTER TITLE + DESCRIPTION
   ============================================================ */
.heroCarousel .heroCarousel-slide {
  position: relative; }

.heroCarousel .heroCarousel-content {
  position: absolute;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 92%;
  max-width: 720px;
  text-align: center;
  padding: 0; }

.heroCarousel .heroCarousel-title {
  order: 1;
  margin: 0 0 8px; }

.heroCarousel .heroCarousel-description {
  order: 2;
  margin: 0; }

/* ============================================================
   HOMEPAGE – FEATURED + NEW PRODUCT BLOCKS
   Matches CritPro white widget/product-section header system.
   ============================================================ */
body.page-type-default .chiara-section--featuredProducts .cpSectionBox,
body.page-type-default .chiara-section--newProducts .cpSectionBox {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  padding: 0;
  overflow: hidden; }

body.page-type-default .chiara-section--featuredProducts .cpSectionHead,
body.page-type-default .chiara-section--newProducts .cpSectionHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  min-height: 58px;
  padding: 14px 18px;
  background: #ffffff;
  border-bottom: 1px solid #e5e5e5; }

body.page-type-default .chiara-section--featuredProducts .cpSectionHead-title,
body.page-type-default .chiara-section--newProducts .cpSectionHead-title {
  position: relative;
  margin: 0;
  padding-left: 14px;
  min-width: 0;
  flex: 1 1 auto;
  color: #18313a;
  font-family: inherit;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  white-space: nowrap; }
  body.page-type-default .chiara-section--featuredProducts .cpSectionHead-title::before,
  body.page-type-default .chiara-section--newProducts .cpSectionHead-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 26px;
    background: #027c80;
    transform: translateY(-50%); }

body.page-type-default .chiara-section--featuredProducts .cpSectionHead-link,
body.page-type-default .chiara-section--newProducts .cpSectionHead-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  color: #027c80;
  background: #ffffff;
  border: 1px solid #cfe3e3;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  flex-shrink: 0; }

body.page-type-default .chiara-section--featuredProducts .cpSectionHead-link:hover,
body.page-type-default .chiara-section--featuredProducts .cpSectionHead-link:focus,
body.page-type-default .chiara-section--newProducts .cpSectionHead-link:hover,
body.page-type-default .chiara-section--newProducts .cpSectionHead-link:focus {
  color: #027c80;
  background: #f4f9f9;
  border-color: #03989e;
  text-decoration: none; }

body.page-type-default .chiara-section--featuredProducts .cpSectionHead-sub,
body.page-type-default .chiara-section--newProducts .cpSectionHead-sub {
  margin: 0;
  padding: 0 18px 12px;
  text-align: left; }

body.page-type-default .chiara-section--featuredProducts .cpSectionBox > .productCarousel,
body.page-type-default .chiara-section--featuredProducts .cpSectionBox > .productGrid,
body.page-type-default .chiara-section--newProducts .cpSectionBox > .productCarousel,
body.page-type-default .chiara-section--newProducts .cpSectionBox > .productGrid {
  padding: 12px 18px 18px; }

body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-container,
body.page-type-default .chiara-section--newProducts .productCarousel .blaze-container {
  margin: 0; }

@media (max-width: 550px) {
  body.page-type-default .chiara-section--featuredProducts .cpSectionHead,
  body.page-type-default .chiara-section--newProducts .cpSectionHead {
    min-height: 54px;
    padding: 12px 14px; }
  body.page-type-default .chiara-section--featuredProducts .cpSectionHead-title,
  body.page-type-default .chiara-section--newProducts .cpSectionHead-title {
    padding-left: 12px;
    font-size: 20px;
    line-height: 1.15; }
    body.page-type-default .chiara-section--featuredProducts .cpSectionHead-title::before,
    body.page-type-default .chiara-section--newProducts .cpSectionHead-title::before {
      width: 3px;
      height: 22px; }
  body.page-type-default .chiara-section--featuredProducts .cpSectionHead-link,
  body.page-type-default .chiara-section--newProducts .cpSectionHead-link {
    min-height: 30px;
    padding: 0 10px;
    font-size: 12px; }
  body.page-type-default .chiara-section--featuredProducts .cpSectionBox > .productCarousel,
  body.page-type-default .chiara-section--featuredProducts .cpSectionBox > .productGrid,
  body.page-type-default .chiara-section--newProducts .cpSectionBox > .productCarousel,
  body.page-type-default .chiara-section--newProducts .cpSectionBox > .productGrid {
    padding: 10px; }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-container,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-container {
    position: relative; }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-prev,
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-next,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-prev,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-next {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    cursor: pointer; }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-prev,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-prev {
    left: 6px; }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-next,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-next {
    right: 6px; }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-prev::before,
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-next::before,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-prev::before,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-next::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(135deg); }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-next::before,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-next::before {
    transform: rotate(-45deg); }
  body.page-type-default .chiara-section--featuredProducts .productCarousel .blaze-pagination,
  body.page-type-default .chiara-section--newProducts .productCarousel .blaze-pagination {
    display: none; } }

/* ============================================================
   HOMEPAGE – CATEGORY BLOCKS TITLE SIZE
   ============================================================ */
@media (min-width: 801px) {
  body.page-type-default .chiara-categoriesList-name,
  body.page-type-default .chiara-categoriesList-name a {
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: 0; } }

/* ============================================================
   FEATURED / NEW PRODUCTS – BLAZE ARROWS
   ============================================================ */
.productCarousel .blaze-prev,
.productCarousel .blaze-next {
  display: none !important; }

@media (max-width: 550px) {
  .productCarousel .blaze-prev,
  .productCarousel .blaze-next {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
  .productCarousel .blaze-prev {
    left: 6px; }
  .productCarousel .blaze-next {
    right: 6px; }
  .productCarousel .blaze-prev::before,
  .productCarousel .blaze-next::before {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333; }
  .productCarousel .blaze-prev::before {
    transform: rotate(135deg); }
  .productCarousel .blaze-next::before {
    transform: rotate(-45deg); } }

/* Main PDP bridge remains compiled from the global entry to preserve cascade */
/* ============================================================
   CritPro PDP bridge
   Keeps the original CSS import order stable while sourcing
   PDP-only partials from a dedicated folder.
   ============================================================ */
/* ============================================================
   PRODUCT PAGE – MOBILE TITLE + PRICE
   ============================================================ */
@media screen and (max-width: 800px) {
  body.page-type-product .productView-title {
    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;
    margin-bottom: 6px; }
  body.page-type-product .productView-price .price {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1; } }

@media screen and (min-width: 801px) {
  body.page-type-product .productView-title {
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    margin-bottom: 4px !important; }
  body.page-type-product .productView-price .price--withoutTax,
  body.page-type-product .productView-price .price--withTax {
    font-size: 30px; } }

/* ============================================================
   PRODUCT PAGE – IMAGE + THUMB FIXES
   ============================================================ */
body.page-type-product .productView-imageCarousel-nav-item,
body.page-type-product .productView-imageCarousel-nav .slick-slide {
  height: auto; }

body.page-type-product .productView-imageCarousel-nav-item button {
  width: 64px;
  height: 64px;
  padding: 0 !important; }

body.page-type-product .productView-imageCarousel-nav-item-img-container {
  display: block;
  width: 64px;
  height: 64px; }

body.page-type-product .productView-imageCarousel-nav-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain; }

body.page-type-product .productView-imageCarousel-main-item img,
body.page-type-product .productView-imageCarousel-main-item:hover img {
  transform: none;
  transition: none; }

body.page-type-product .productView-imageCarousel-nav-item {
  width: 70px; }

body.page-type-product .productView-imageCarousel-nav-item button {
  padding: 0 !important; }

body.page-type-product .productView-imageCarousel-nav-item-img-container {
  width: 70px;
  height: 70px; }

body.page-type-product .productView-imageCarousel-nav-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  display: block; }

/* Desktop image emphasis — uses more of the available gallery canvas. */
@media (min-width: 801px) {
  body.page-type-product .productView-imageCarousel-main-item-img-container {
    width: 100%;
    max-width: 540px; }
  body.page-type-product .productView-images--bottom .productView-imageCarousel-nav {
    margin-top: 12px; } }

/* ============================================================
   A11Y: PDP "WRITE A REVIEW" LINK
   ============================================================ */
.productView-details .productView-reviewLink > a[data-reveal-id="modal-review-form"] {
  color: #0b4f4c !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px; }

.productView-details .productView-reviewLink > a[data-reveal-id="modal-review-form"]:hover,
.productView-details .productView-reviewLink > a[data-reveal-id="modal-review-form"]:focus {
  color: #083d3b !important; }

button.mobile-panel-close {
  background: transparent;
  border: 0;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer; }

/* ============================================================
   CRITPRO PDP — PURCHASE ACTIONS + STICKY ADD TO CART
   Consolidated final rules. No stacked corrective overrides.
   ============================================================ */
.form-action-group {
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0; }

.form-action-group .form-action {
  width: 100%;
  margin: 0; }

.form-action-group .form-action .button,
.form-action-group .form-action input.button {
  width: 100%;
  min-height: 48px;
  margin: 0 !important;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .02em; }

.form-action-group .form-action-or {
  display: none; }

.cp-pdp-checkoutConfidence {
  width: 100%;
  margin: 14px 0 2px;
  text-align: center; }

.cp-pdp-checkoutReassurance {
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
  margin: 0;
  color: #263b3f;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center; }

.cp-pdp-checkoutReassurance__separator {
  color: #9aa5a7;
  font-weight: 600; }

.cp-pdp-paymentMethods {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  min-height: 28px;
  margin: 6px 0 0; }

.cp-pdp-paymentMethods:empty {
  display: none; }

.cp-pdp-paymentMethods__icon {
  display: block;
  width: auto;
  height: 28px;
  max-width: 52px;
  flex: 0 0 auto; }

/* Hidden by default. JavaScript adds .is-visible only after the
   normal purchase controls leave the viewport. */
.cp-sticky-atc {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  padding: 9px 16px;
  background: #fff;
  border-top: 1px solid #dbe4e4;
  box-shadow: 0 -6px 22px rgba(20, 52, 58, 0.11);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(120%);
  transition: transform 180ms ease, opacity 140ms ease; }

.cp-sticky-atc.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0); }

.cp-sticky-atc__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 1280px;
  margin: 0 auto; }

.cp-sticky-atc__left {
  flex: 1 1 auto;
  min-width: 0; }

.cp-sticky-atc__title {
  max-width: 690px;
  overflow: hidden;
  color: #1f2d30;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap; }

.cp-sticky-atc__price {
  margin-top: 2px;
  color: #097276;
  font-size: 14px;
  font-weight: 800; }

.cp-sticky-atc__right {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px; }

.cp-sticky-atc__btn {
  min-width: 150px;
  min-height: 42px;
  margin: 0 !important;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap; }

@media (max-width: 800px) {
  /* Keep Chiara's normal purchase controls inline on product pages. */
  body.page-type-product .productView-options-content,
  body.page-type-product .productView-options-panel-body {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: visible;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
    background: transparent;
    box-shadow: none;
    z-index: auto; }
  body.page-type-product .productView-options-content .mobile-panel-close,
  body.page-type-product .productView-options-panel-heading,
  body.page-type-product .productView-options-toggle,
  body.page-type-product .productView-options-summary {
    display: none; }
  body.page-type-product .productView-options-content .form-action-group,
  body.page-type-product .form-action-group {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    z-index: auto; }
  body.page-type-product .form-action-group .form-action .button,
  body.page-type-product .form-action-group .form-action input.button {
    min-height: 46px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 13px; }
  .cp-pdp-checkoutConfidence {
    margin-top: 9px; }
  .cp-pdp-checkoutReassurance {
    justify-content: center;
    gap: 4px;
    font-size: 13px;
    text-align: center; }
  .cp-pdp-paymentMethods {
    flex-wrap: nowrap;
    gap: 5px;
    margin-top: 6px;
    width: 100%;
    overflow: hidden; }
  .cp-pdp-paymentMethods__icon {
    flex: 0 1 auto;
    width: auto;
    height: 20px;
    max-width: 38px;
    min-width: 0; }
  /* Runtime-detected Chiara fixed CTA is removed only while our
     CritPro sticky CTA is active. */
  .cp-native-fixed-atc-hidden,
  body.cp-sticky-atc-active .productView-options-toggle {
    display: none; }
  body.cp-sticky-atc-active {
    padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  /* One compact sticky row, positioned above the 72px mobile nav. */
  .cp-sticky-atc {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    z-index: 95;
    height: 62px;
    min-height: 62px;
    padding: 7px 10px;
    overflow: hidden;
    background: #fff;
    border-top: 1px solid #dbe4e4;
    box-shadow: 0 -5px 18px rgba(20, 52, 58, 0.14); }
  .cp-sticky-atc__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 126px;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 48px;
    min-height: 48px; }
  .cp-sticky-atc__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    height: 48px;
    overflow: hidden; }
  .cp-sticky-atc__title {
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden;
    color: #17383d;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .cp-sticky-atc__price {
    display: block;
    margin: 3px 0 0;
    color: #097276;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.05; }
  .cp-sticky-atc__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 126px;
    height: 48px;
    margin: 0;
    padding: 0; }
  .cp-sticky-atc__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 126px;
    min-width: 126px;
    height: 42px;
    min-height: 42px;
    margin: 0 !important;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1; }
  .cp-sticky-atc__btn--buyNow {
    display: none; } }

@media (prefers-reduced-motion: reduce) {
  .cp-sticky-atc {
    transition: none; } }

/* ============================================================
   PDP CLEANUP – REMOVE NATIVE DETAILS / INFO BLOCKS
   ============================================================ */
.cp-mobile-accordion details.cp-acc.productView-properties,
.productView-tab--properties,
[id^="product-tab-properties-"] {
  display: none; }

.productView .productView-info-name.upc-label,
.productView .productView-info-value--upc,
.productView .productView-info-value[data-product-upc],
.productView .productView-info-name.mpn-label,
.productView .productView-info-value--mpn,
.productView .productView-info-value[data-product-mpn],
.productView .productView-info-name--condition,
.productView .productView-info-value--condition,
.productView .productView-info-name--availability,
.productView .productView-info-value--availability,
.productView .productView-info-name--shippingCalc,
.productView .productView-info-value--shippingCalc,
.productView .productView-info-name--shippingFree,
.productView .productView-info-value--shippingFree,
.productView .productView-info-name--shippingFixed,
.productView .productView-info-value--shippingFixed {
  display: none; }

.productView .productView-info {
  margin-bottom: 0; }

.productView-rating {
  margin-bottom: 6px !important; }

.productView-priceTopBlock--belowInfo {
  margin-top: 8px !important;
  padding-top: 0 !important; }

@media (min-width: 801px) {
  .productView-rating {
    margin-bottom: 4px !important;
    padding-bottom: 0; }
  .productView-priceTopBlock--belowInfo {
    margin-top: 8px !important;
    padding-top: 0 !important; }
  .productView-detailsTopBlock,
  .productView-info {
    padding-bottom: 0;
    margin: 0; }
  .productView-price {
    padding-bottom: 0; } }

/* ============================================================
   PDP TABS / MOBILE BLOCKS
   ============================================================ */
.cp-mobile-blocks {
  display: none; }

@media (max-width: 800px) {
  .productView-tabs,
  .productView-tabs-contents {
    display: none !important; }
  .cp-mobile-blocks {
    display: grid !important;
    gap: 14px;
    width: 100%;
    order: 46;
    margin-top: 18px; }
  .cp-mobile-block {
    display: block;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    overflow: hidden; }
  .cp-mobile-block__heading {
    margin: 0;
    padding: 14px 16px;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 500;
    color: #222;
    border-bottom: 1px solid #ececec; }
  .cp-mobile-block__content {
    display: block;
    padding: 14px 16px 16px; }
  .cp-mobile-block__content > :first-child {
    margin-top: 0; }
  .cp-mobile-block__content > :last-child {
    margin-bottom: 0; }
  .cp-mobile-block .productView-info {
    margin: 0; } }

@media (min-width: 801px) {
  .cp-mobile-blocks,
  .cp-pdp-trust,
  .productView-tab--properties,
  [id^="product-tab-properties-"] {
    display: none !important; }
  .productView-tabs {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    list-style: none;
    margin: 22px 0 0 !important;
    padding: 0;
    border-bottom: 1px solid #e6e6e6; }
  .productView-tab {
    display: block;
    margin: 0 0 -1px 0;
    padding: 0;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    background: transparent;
    box-sizing: border-box; }
  .productView-tab + .productView-tab {
    margin-left: 0 !important; }
  .productView-tab-title,
  .productView-tab-title:hover,
  .productView-tab-title:focus,
  .productView-tab-title:active {
    display: block;
    padding: 10px 16px;
    margin: 0;
    border: 0;
    outline: 0;
    box-shadow: none;
    text-decoration: none;
    color: #666;
    line-height: 1.2;
    background: transparent; }
  .productView-tab.is-active,
  .productView-tab[aria-selected="true"] {
    background: #fff;
    border-color: #e6e6e6; }
  .productView-tab.is-active .productView-tab-title,
  .productView-tab[aria-selected="true"] .productView-tab-title,
  .productView-tab .productView-tab-title.is-active {
    color: #222; }
  .productView-tabs-contents {
    display: block !important;
    margin-top: 0;
    padding-top: 0; }
  .productView-tabs-contents > .productView-desc,
  .productView-tabs-contents > .productView-addition,
  .productView-tabs-contents > .productView-warranty,
  .productView-tabs-contents > .productView-reviews {
    margin-top: 0;
    border: 0;
    padding: 0;
    background: transparent;
    border-radius: 0; }
  .productView-tabs-contents > .productView-desc.is-active {
    border: 1px solid #e6e6e6 !important;
    border-top: 0 !important;
    padding: 0 22px 22px !important;
    background: #fff !important;
    border-radius: 0 0 6px 6px !important; }
  .productView-tabs-contents > .productView-addition.is-active,
  .productView-tabs-contents > .productView-warranty.is-active,
  .productView-tabs-contents > .productView-reviews.is-active {
    border: 1px solid #e6e6e6 !important;
    border-top: 0 !important;
    padding: 22px !important;
    background: #fff !important;
    border-radius: 0 0 6px 6px !important; }
  .productView-addition-heading,
  .productView-desc-heading,
  .productView-warranty-heading,
  .productView-reviews-heading,
  .productView-addition-heading-toggle,
  .productView-warranty-heading-toggle,
  .productView-reviews-heading-toggle,
  .productView-addition-panel-heading,
  .productView-warranty-panel-heading,
  .productView-reviews-panel-heading,
  .productView-addition-subheading,
  .productView-warranty-summary,
  .productView-reviews-contentSummary,
  .mobile-panel-close {
    display: none; }
  .productView-addition-content,
  .productView-warranty-content,
  .productView-reviews-content {
    display: block;
    height: auto !important;
    overflow: visible;
    padding: 0 !important;
    border: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none !important;
    margin: 0; }
  .productView-addition-panel-body,
  .productView-warranty-panel-body,
  .productView-reviews-panel-body,
  .productView-desc-content {
    padding: 0;
    margin: 0; }
  .productView-reviews .productReviews,
  .productView-reviews .reviewList,
  .productView-reviews .productReview-list,
  .productView-reviews .productReview {
    margin-top: 0; }
  .productView-addition .productView-info-name,
  .cp-mobile-block--specifications .productView-info-name {
    text-transform: none !important;
    letter-spacing: 0;
    font-size: inherit; } }

.cp-mobile-block--specifications .productView-info-name,
.productView-addition .productView-info-name,
.productView-addition-panel-body .productView-info-name {
  text-transform: none; }

.cp-pdp-trust {
  display: none !important; }

/* ============================================================
   MOBILE SPECS BLOCK
   ============================================================ */
@media (max-width: 800px) {
  .cp-mobile-block--specifications .productView-info {
    display: grid;
    grid-template-columns: 135px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 4px;
    margin: 0;
    align-items: start; }
  .cp-mobile-block--specifications .productView-info-name,
  .cp-mobile-block--specifications .productView-info-value {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.3; }
  .cp-mobile-block--specifications .productView-info-name {
    grid-column: 1;
    font-weight: 600;
    text-transform: none !important;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal; }
  .cp-mobile-block--specifications .productView-info-value {
    grid-column: 2;
    min-width: 0;
    word-break: normal;
    overflow-wrap: break-word; }
  .cp-mobile-block--specifications .productView-info-value > * {
    margin: 0; } }

/* ============================================================
   PDP REVIEW LINK / BUTTONS
   FINAL POLISHED VERSION — PERFECT SPACING + ALIGNMENT
   ============================================================ */
.productView-reviewLink a {
  font-weight: 600;
  color: #03989E;
  text-decoration: none; }

.productView-reviewLink a:hover {
  text-decoration: underline; }

/* ============================================================
   PRIMARY BUTTONS
   ============================================================ */
.productView .add-to-cart-buttons .button--primary,
.productView .form-action .button--primary,
#form-action-addToCart,
#cpStickyATCBtn {
  color: #FFFFFF !important;
  background-color: #027c80 !important;
  border-color: #027c80 !important; }

.productView .add-to-cart-buttons .button--primary:hover,
.productView .form-action .button--primary:hover,
#form-action-addToCart:hover,
#cpStickyATCBtn:hover {
  background-color: #03989e !important;
  border-color: #03989e !important; }

.productView .add-to-cart-buttons .button--primary:active,
.productView .form-action .button--primary:active,
#form-action-addToCart:active,
#cpStickyATCBtn:active {
  background-color: #016568 !important;
  border-color: #016568 !important; }

/* ============================================================
   BUY NOW
   ============================================================ */
.button--buyNow,
input.button--buyNow,
#form-action-buyNow,
#cpStickyBuyNowBtn {
  color: #027c80;
  background-color: #FFFFFF;
  border: 1px solid #027c80; }

.button--buyNow:hover,
input.button--buyNow:hover,
#form-action-buyNow:hover,
#cpStickyBuyNowBtn:hover {
  color: #FFFFFF;
  background-color: #027c80;
  border-color: #027c80; }

.button--buyNow:active,
input.button--buyNow:active,
#form-action-buyNow:active,
#cpStickyBuyNowBtn:active {
  color: #FFFFFF;
  background-color: #03989e;
  border-color: #03989e; }

/* ============================================================
   PRODUCT CARD BUTTONS
   ============================================================ */
.card-figcaption-button {
  background-color: #FFFFFF !important;
  color: #027c80 !important;
  border: 1px solid #027c80 !important; }

.card-figcaption-button:hover,
.card-figcaption-button:focus {
  background-color: #027c80 !important;
  color: #FFFFFF !important; }

.card-figcaption-button:active {
  background-color: #03989e !important;
  color: #FFFFFF !important; }

/* ============================================================
   CLEAN PDP RATING ROW
   ============================================================ */
.productView-title {
  margin-bottom: 6px !important; }

.productView-rating {
  display: flex;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  margin-top: 0;
  margin-bottom: 6px !important;
  line-height: 1 !important;
  min-width: 0; }

/* stars */
.productView-ratingStars {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin-right: 0;
  line-height: 1; }

.productView-ratingStars .icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 1px 0 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important; }

.productView-ratingStars .icon:last-child {
  margin-right: 0 !important; }

/* links wrapper */
.productView-ratingLinks {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0;
  white-space: nowrap;
  line-height: 1;
  margin-left: 1px !important;
  position: relative;
  top: -1px !important; }

/* base */
.productView-reviewLink {
  display: inline-flex !important;
  align-items: center;
  margin: 0;
  padding: 0;
  line-height: 1; }

.productView-reviewLink a {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  line-height: 1; }

/* review count */
.productView-reviewLink:first-child a {
  color: #6f6f6f !important;
  font-size: 12px !important;
  font-weight: 500; }

/* WRITE A REVIEW — FINAL ALIGNMENT FIX */
.productView-reviewLink + .productView-reviewLink {
  margin-left: 12px !important;
  position: relative !important;
  top: 1px !important; }

.productView-reviewLink + .productView-reviewLink a {
  color: #024F52 !important;
  font-size: 14px !important;
  font-weight: 600 !important; }

/* ============================================================
   MOBILE / TABLET PDP
   ============================================================ */
@media (max-width: 800px) {
  .productView-title {
    margin-bottom: 5px !important; }
  .productView-rating {
    flex-wrap: nowrap !important;
    gap: 0 !important; }
  .productView-ratingStars .icon {
    width: 18px !important;
    height: 18px !important;
    margin: 0 1px 0 0 !important; }
  .productView-ratingLinks {
    margin-left: 1px !important;
    top: -1px !important; }
  .productView-reviewLink:first-child a {
    font-size: 12px !important;
    color: #6f6f6f !important; }
  .productView-reviewLink + .productView-reviewLink {
    margin-left: 10px !important;
    position: relative !important;
    top: 1px !important; }
  .productView-reviewLink + .productView-reviewLink a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #024F52 !important; }
  .productView-ratingStars .icon--ratingEmpty:first-child,
  .productView-ratingStars .icon--ratingEmpty:first-child ~ .icon {
    display: inline-flex; } }

/* ============================================================
   CRITPRO TEAL PDP STICKY CTA COLOR ALIGNMENT
   ============================================================ */
.cp-sticky-atc__btn--addToCart {
  color: #ffffff;
  background-color: #027c80;
  border-color: #027c80; }

.cp-sticky-atc__btn--addToCart:hover,
.cp-sticky-atc__btn--addToCart:focus {
  color: #ffffff;
  background-color: #03989e;
  border-color: #03989e; }

.cp-sticky-atc__btn--addToCart:active {
  color: #ffffff;
  background-color: #016568;
  border-color: #016568; }

.cp-sticky-atc__btn--buyNow {
  color: #027c80;
  background-color: #ffffff;
  border: 1px solid #027c80; }

.cp-sticky-atc__btn--buyNow:hover,
.cp-sticky-atc__btn--buyNow:focus {
  color: #ffffff;
  background-color: #03989e;
  border-color: #03989e; }

.cp-sticky-atc__btn--buyNow:active {
  color: #ffffff;
  background-color: #016568;
  border-color: #016568; }

/* ============================================================
   PRODUCT SPECIFICATIONS TABLE
   ============================================================ */
.productView-info-name,
.productView-info-value {
  margin: 0;
  border-bottom: 1px solid #f2f2f2;
  line-height: 1.3; }

.productView-info-name:nth-of-type(odd),
.productView-info-value:nth-of-type(odd) {
  background: #fafafa; }

.productView-info-name:nth-of-type(even),
.productView-info-value:nth-of-type(even) {
  background: #ffffff; }

@media (min-width: 801px) {
  .productView-info {
    display: grid;
    grid-template-columns: 190px auto;
    column-gap: 6px; }
  .productView-info-name {
    grid-column: 1;
    padding: 5px 10px;
    font-weight: 600;
    color: #222;
    white-space: nowrap; }
  .productView-info-value {
    grid-column: 2;
    padding: 5px 10px;
    color: #444; }
  #tab-specifications,
  .tab-content#tab-specifications {
    padding: 12px 14px; } }

@media (max-width: 800px) {
  .productView-info {
    display: block; }
  .productView-info-name {
    padding: 6px 10px 2px;
    font-weight: 600;
    border-bottom: 0; }
  .productView-info-value {
    padding: 0 10px 6px; } }

/* ============================================================
   CRITPRO PDP — PURCHASE CONFIDENCE + LOW STOCK
   Consolidated final rules. No stacked corrective overrides.
   ============================================================ */
/* Prevent the former Page Builder trust widget from duplicating
   the theme-native confidence block. */
body.page-type-product .productView-payments .cp-pdp-info {
  display: none; }

body.page-type-product .cp-pdp-confidence,
body.page-type-product .cp-pdp-confidence * {
  box-sizing: border-box; }

body.page-type-product .cp-pdp-confidence {
  width: 100%;
  margin: 3px 0 7px;
  padding: 4px 0 2px;
  color: #1e1f22;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.4; }

body.page-type-product .cp-pdp-confidence__heading {
  margin: 0 0 5px;
  color: #233438;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3; }

body.page-type-product .cp-pdp-confidence__trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 18px;
  margin: 0;
  padding: 0; }

body.page-type-product .cp-pdp-confidence__item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  min-width: 0;
  margin: 0;
  color: #333;
  font-size: 13px;
  line-height: 1.35; }

body.page-type-product .cp-pdp-confidence__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin: 0;
  color: #fff;
  background: #097276;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 800;
  line-height: 1; }

body.page-type-product .cp-pdp-confidence__primary {
  color: #097276;
  font-weight: 800; }

body.page-type-product .cp-pdp-confidence__divider {
  width: 100%;
  height: 1px;
  margin: 10px 0 8px;
  background: #dce4e4; }

body.page-type-product .cp-pdp-confidence__meta {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 0; }

body.page-type-product .cp-pdp-confidence__metaRow {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.35; }

body.page-type-product .cp-pdp-confidence__metaRow dt,
body.page-type-product .cp-pdp-confidence__metaRow dd {
  margin: 0;
  padding: 0; }

body.page-type-product .cp-pdp-confidence__metaRow dt {
  color: #4b575a;
  font-weight: 700; }

body.page-type-product .cp-pdp-confidence__metaRow dd {
  min-width: 0;
  color: #20292b;
  font-weight: 600; }

body.page-type-product .productView-price {
  margin-bottom: 6px; }

body.page-type-product .productView-reviewLink {
  margin-bottom: 0; }

body.page-type-product .productView-info {
  margin-top: 8px; }

/* Low-stock badge */
body.page-type-product .cp-pdp-lowStock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  margin: 3px 0 7px;
  padding: 5px 9px;
  color: #653b00;
  background: #fff8e7;
  border: 1px solid #efd39e;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2; }

body.page-type-product .cp-pdp-lowStock__dot {
  display: inline-block;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  background: #e29a23;
  border-radius: 50%; }

@media (min-width: 801px) {
  body.page-type-product .productView-priceTopBlock--belowInfo .productView-priceShareWrapper {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    width: 100%; }
  body.page-type-product .productView-priceTopBlock--belowInfo .productView-price {
    flex: 0 0 auto;
    margin-right: 0; }
  body.page-type-product .productView-priceTopBlock--belowInfo .cp-pdp-lowStock {
    flex: 0 0 auto;
    align-self: flex-start;
    margin: 0; } }

@media (max-width: 600px) {
  body.page-type-product .cp-pdp-confidence {
    margin-bottom: 8px; }
  body.page-type-product .cp-pdp-confidence__item {
    gap: 7px; }
  body.page-type-product .cp-pdp-confidence__check {
    flex-basis: 15px;
    width: 15px;
    height: 15px;
    font-size: 9px; }
  body.page-type-product .cp-pdp-confidence__divider {
    margin: 9px 0 8px; }
  body.page-type-product .cp-pdp-confidence__metaRow {
    gap: 7px;
    line-height: 1.3; }
  body.page-type-product .cp-pdp-lowStock {
    margin-top: 0;
    margin-bottom: 6px;
    font-size: 12px; } }

/* Below this width, two columns crowd the longer trust lines
   ("Trusted by 28,000+ customers"), so drop back to a single column. */
@media (max-width: 420px) {
  body.page-type-product .cp-pdp-confidence__trust {
    grid-template-columns: 1fr;
    gap: 4px; } }

/* Category and brand page cleanup */
/* ============================================================
   CritPro category / brand page overrides
   Import order preserved from the original flat import list.
   ============================================================ */
/* ============================================================
   CATEGORY + BRAND: SORT BY BORDER
   ============================================================ */
.page-type-category .actionBar-section .form-field,
.page-type-brand .actionBar-section .form-field {
  border: 1px solid #cccccc;
  border-radius: 3px;
  background: white;
  overflow: hidden; }

.page-type-category .actionBar-section .form-field:hover,
.page-type-brand .actionBar-section .form-field:hover {
  border-color: #999999; }

.page-type-category .actionBar-section .form-label,
.page-type-brand .actionBar-section .form-label {
  padding-left: 0.8125rem;
  padding-right: 0.375rem; }

.page-type-category .actionBar-section .form-select,
.page-type-brand .actionBar-section .form-select {
  padding-left: 0.8125rem;
  padding-right: 1.6rem; }

/* ============================================================
   MOBILE BREADCRUMBS / CATEGORY DESCRIPTION
   ============================================================ */
@media (max-width: 551px) {
  .breadcrumbs {
    margin-bottom: 14px !important; }
  .breadcrumbs + .page {
    margin-top: 14px !important; }
  body.page-type-category .chiara-category-description {
    display: block; } }

/* ============================================================
   CHIARA – CLEAN "SORT BY" STYLING
   ============================================================ */
.actionBar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px; }

.actionBar .form-field {
  margin: 0 !important;
  position: relative; }

.actionBar .form-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 8px 0 0 !important;
  color: #2a2a2a; }

.actionBar select,
.actionBar .form-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 38px;
  line-height: 38px;
  padding: 0 42px 0 14px;
  border: 1px solid #dcdcdc;
  border-radius: 0;
  background: #fff;
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
  transition: border-color .15s ease, box-shadow .15s ease; }

.actionBar select:hover,
.actionBar .form-select:hover {
  border-color: #bfbfbf; }

.actionBar select:focus,
.actionBar .form-select:focus {
  outline: none;
  border-color: #097276;
  box-shadow: 0 0 0 3px rgba(9, 114, 118, 0.14); }

.actionBar .form-field::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  transform: translateY(-55%) rotate(45deg);
  pointer-events: none; }

@media (max-width: 551px) {
  .actionBar {
    justify-content: flex-start; }
  .actionBar .form-field,
  .actionBar select,
  .actionBar .form-select {
    width: 100%; } }

/* ============================================================
   CRITPRO CATEGORY PRODUCT TOOLBAR
   Product count left / Sort control right
   ============================================================ */
body.page-type-category .cp-category-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  min-height: 74px;
  margin: 24px 0 20px;
  padding: 14px 18px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #dce4e4;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(20, 45, 50, 0.04); }

body.page-type-category .cp-category-toolbar__count {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #263437;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left; }

body.page-type-category .cp-category-toolbar__sort {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto; }

body.page-type-category .cp-category-toolbar__sort .actionBar-headingWrapper,
body.page-type-category .cp-category-toolbar__sort .actionBar,
body.page-type-category .cp-category-toolbar__sort .actionBar-section {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0; }

body.page-type-category .cp-category-toolbar__sort .actionBar-headingWrapper,
body.page-type-category .cp-category-toolbar__sort .actionBar {
  display: flex;
  align-items: center;
  justify-content: flex-end; }

body.page-type-category .cp-category-toolbar__sort .actionBar-headingWrapper {
  transform: none; }

body.page-type-category .cp-category-toolbar__sort .actionBar-section {
  float: none !important; }

body.page-type-category .cp-category-toolbar__sort .form-field {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: auto;
  min-height: 44px;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none; }

body.page-type-category .cp-category-toolbar__sort .form-label {
  display: inline-flex;
  align-items: center;
  width: auto;
  margin: 0 !important;
  padding: 0 !important;
  color: #263437;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap; }

body.page-type-category .cp-category-toolbar__sort .form-select {
  width: auto;
  min-width: 210px;
  height: 44px;
  margin: 0;
  padding: 0 44px 0 16px;
  color: #20292b;
  background-color: #fff;
  border: 1px solid #b9cfce;
  border-radius: 7px;
  font-size: 14px;
  font-weight: 700;
  line-height: 44px;
  box-shadow: 0 1px 2px rgba(20, 45, 50, 0.025); }

body.page-type-category .cp-category-toolbar__sort .form-select:hover {
  background-color: #fbfdfd;
  border-color: #8fb7b5; }

body.page-type-category .cp-category-toolbar__sort .form-select:focus {
  outline: 0;
  border-color: #097276;
  box-shadow: 0 0 0 3px rgba(9, 114, 118, 0.1); }

@media (max-width: 700px) {
  body.page-type-category .cp-category-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 52px;
    margin: 18px 0 14px;
    padding: 12px 14px; }
  body.page-type-category .cp-category-toolbar__count {
    width: 100%;
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    text-align: left; }
  /* Chiara uses its separate floating Sort control on mobile. */
  body.page-type-category .cp-category-toolbar__sort {
    display: none; } }

@media (max-width: 480px) {
  body.page-type-category .cp-category-toolbar {
    min-height: 50px;
    margin: 16px 0 12px;
    padding: 11px 12px;
    border-radius: 7px; }
  body.page-type-category .cp-category-toolbar__count {
    font-size: 12px; } }

/* ============================================================
   CATEGORY PAGE / NAVIGATION CLEANUP
   ============================================================ */
.page-type-category .page-content > .chiara-category-description + * {
  margin-top: 0; }

.page-type-category .chiara-category-description {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 12px 0 18px !important;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  color: #2a2a2a;
  line-height: 1.65; }

.page-type-category .chiara-category-description:empty {
  display: none; }

.page-type-category .chiara-category-description p:last-child,
.page-type-category .chiara-category-description ul:last-child,
.page-type-category .chiara-category-description ol:last-child {
  margin-bottom: 0; }

.page-type-category .chiara-category-description h2,
.page-type-category .chiara-category-description h3 {
  margin-top: 0; }

/* ============================================================
   SUBCATEGORY GRID CLEANUP
   ============================================================ */
.page-type-category .category-listing-container {
  margin: 0 0 24px; }

.page-type-category .category-listing-container .navList {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0; }

.page-type-category .category-listing-container .navList-item {
  width: 33.3333%;
  list-style: none;
  border-right: 1px solid #e6e6e6; }

.page-type-category .category-listing-container .navList-item:nth-child(3n) {
  border-right: 0; }

.page-type-category .category-listing-container .navList-item:nth-child(n+4) {
  border-top: 1px solid #e6e6e6; }

.page-type-category .category-listing-container .navList-action {
  display: flex;
  align-items: center;
  padding: 14px;
  text-decoration: none;
  color: #2a2a2a;
  font-weight: 500; }

/* ============================================================
   CATEGORY INTRO BLOCK (cp-cat-intro)
   ============================================================ */
.cp-cat-intro {
  max-width: 100%;
  margin: 0 0 20px; }

.cp-cat-intro__title,
.cp-cat-intro h1 {
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700; }

.cp-cat-intro p {
  margin: 0 0 10px;
  line-height: 1.6; }

.cp-cat-intro a {
  display: inline;
  visibility: visible;
  opacity: 1; }

/* ============================================================
   MOBILE FIXES
   ============================================================ */
@media (max-width: 800px) {
  /* Tighten general category page flow */
  .page-type-category .page-content {
    padding-top: 0; }
  .page-type-category .breadcrumbs {
    margin-bottom: 8px; }
  /* Category description / intro wrapper */
  .page-type-category .chiara-category-description {
    margin: 8px 0 14px !important;
    padding: 14px 14px 12px !important;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 6px; }
  /* Intro block */
  .cp-cat-intro {
    max-width: 100%;
    margin: 0 0 12px;
    overflow: visible; }
  .cp-cat-intro__title,
  .cp-cat-intro h1 {
    font-size: 18px;
    line-height: 1.22;
    margin: 0 0 8px; }
  .cp-cat-intro h2 {
    font-size: 16px;
    line-height: 1.3;
    margin: 0 0 8px; }
  .cp-cat-intro p {
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 8px; }
  .cp-cat-intro p:last-child {
    margin-bottom: 0; }
  /* Keep link paragraph visible on mobile */
  .cp-cat-intro p:nth-of-type(2) {
    display: block; }
  /* ============================================================
     MOBILE SUBCATEGORY BLOCK CLEANUP
     ============================================================ */
  .page-type-category .category-listing-container {
    margin: 0 0 12px !important;
    padding: 0;
    background: transparent; }
  .page-type-category .category-listing-container .navList {
    display: block;
    margin: 0;
    padding: 0;
    border: 1px solid #e6e6e6;
    background: #fff;
    border-radius: 6px;
    overflow: hidden; }
  .page-type-category .category-listing-container .navList-item {
    width: 100%;
    margin: 0;
    border-right: 0 !important;
    border-top: 0; }
  .page-type-category .category-listing-container .navList-item:nth-child(n+4) {
    border-top: 0 !important; }
  .page-type-category .category-listing-container .navList-item + .navList-item {
    border-top: 1px solid #e6e6e6; }
  .page-type-category .category-listing-container .navList-action {
    min-height: 48px;
    padding: 10px 40px 10px 14px;
    font-size: 14px;
    line-height: 1.25;
    display: flex;
    align-items: center; }
  .page-type-category .category-listing-container + .product-listing-container,
  .page-type-category .category-listing-container + #product-listing-container {
    margin-top: 0;
    padding-top: 0; }
  .page-type-category .product-listing-container {
    margin-top: 0 !important; }
  /* Give floating sort/filter buttons a little room */
  .mobile-sortBy,
  .mobile-facetedSearch-toggle,
  .cp-floatingFilters,
  .cp-floatingSort {
    right: 12px !important; } }

@media (max-width: 800px) {
  /* Tighten gap under subcategory block even more */
  .page-type-category .category-listing-container {
    margin-bottom: 8px; }
  /* Pull products closer */
  .page-type-category .product-listing-container {
    margin-top: 0 !important;
    padding-top: 0; }
  /* Give space ABOVE products so buttons don’t crowd */
  .page-type-category #product-listing-container {
    padding-top: 12px; }
  /* Slightly reposition floating buttons */
  .mobile-sortBy,
  .mobile-facetedSearch-toggle,
  .cp-floatingFilters,
  .cp-floatingSort {
    right: 12px !important;
    top: auto; } }

.cpCatCompact,
.cpCatCompact * {
  box-sizing: border-box; }

.cpCatCompact {
  --cp-teal: #097276;
  --cp-teal-dark: #075d61;
  --cp-ink: #18313a;
  --cp-copy: #56666a;
  --cp-muted: #6f7b7e;
  --cp-border: #dedad2;
  --cp-border-soft: #e7e4de;
  --cp-soft: #f8faf9;
  --cp-green: #5e7f2f;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto 34px;
  color: var(--cp-ink);
  font-family: 'Source Sans 3','Segoe UI',Arial,sans-serif; }

/* ==========================================================
   HERO — MATCHES PREMIUM CATEGORY HEADER
   ========================================================== */
.cpCatCompact__hero {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 15px 0 18px;
  padding: 22px 30px 20px;
  color: var(--cp-ink);
  background: radial-gradient(circle at 96% 4%, rgba(9, 114, 118, 0.075) 0, rgba(9, 114, 118, 0) 28%), linear-gradient(115deg, #ffffff 0%, #ffffff 67%, #f2f9f8 100%);
  border: 1px solid #cbd9d9;
  border-top: 4px solid var(--cp-teal);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(20, 52, 58, 0.045), 0 2px 5px rgba(20, 52, 58, 0.025); }

.cpCatCompact__hero::after {
  content: "";
  position: absolute;
  top: -145px;
  right: -125px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(9, 114, 118, 0.065);
  border-radius: 50%;
  pointer-events: none; }

.cpCatCompact__hero > * {
  position: relative;
  z-index: 1; }

.cpCatCompact__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 7px;
  color: #73843f;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 2px;
  text-transform: uppercase; }

.cpCatCompact__eyebrow::before {
  content: "";
  display: block;
  width: 22px;
  height: 1px;
  background: currentColor; }

.cpCatCompact__title {
  margin: 0;
  color: #16353d;
  font-family: Barlow, Arial, Helvetica, sans-serif;
  font-size: 29px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.4px; }

.cpCatCompact__intro {
  max-width: 980px;
  margin: 7px 0 0;
  color: #52676d;
  font-size: 15px;
  line-height: 1.55; }

.cpCatCompact__trust {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 720px;
  margin: 14px auto 0;
  padding-top: 14px;
  border-top: 1px solid rgba(207, 220, 220, 0.92); }

.cpCatCompact__trust span {
  display: grid;
  grid-template-columns: 18px auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 14px;
  color: #17383d;
  background: #fff;
  border: 1px solid #d9e2e3;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(20, 58, 63, 0.08);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap; }

.cpCatCompact__trust span::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #fff;
  background: var(--cp-teal);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800; }

@media (max-width: 767px) {
  .cpCatCompact__hero {
    margin: 0 0 12px;
    padding: 20px 18px 18px;
    border-radius: 9px; }
  .cpCatCompact__hero::after {
    display: none; }
  .cpCatCompact__title {
    font-size: 25px; }
  .cpCatCompact__intro {
    font-size: 14px;
    line-height: 1.52; }
  .cpCatCompact__trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-width: 286px;
    margin: 13px auto 0;
    padding-top: 13px; }
  .cpCatCompact__trust span {
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 7px;
    min-height: 32px;
    padding: 6px 9px;
    font-size: 11px; }
  .cpCatCompact__trust span::before {
    width: 17px;
    height: 17px;
    font-size: 10px; } }

@media (max-width: 480px) {
  .cpCatCompact__hero {
    padding: 20px 16px 18px; }
  .cpCatCompact__title {
    font-size: 23px; }
  .cpCatCompact__trust {
    gap: 7px;
    max-width: 268px; }
  .cpCatCompact__trust span {
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 6px;
    min-height: 30px;
    padding: 5px 7px;
    font-size: 10px; }
  .cpCatCompact__trust span::before {
    width: 16px;
    height: 16px;
    font-size: 9px; } }

/* ==========================================================
   SHARED WHITE DIRECTORY PANELS
   ========================================================== */
.cpCatCompact__featured,
.cpCatCompact__department,
.cpCatCompact__more {
  width: 100%;
  margin: 0 0 14px;
  padding: 14px 16px 16px;
  overflow: hidden;
  border: 1px solid var(--cp-border);
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.035); }

/* Featured and Browse More stay clean white */
.cpCatCompact__featured,
.cpCatCompact__more {
  background: #fff; }

/* Major departments get subtle CritPro color separation */
.cpCatCompact__department {
  background: #f7fbfb;
  border-top: 3px solid var(--cp-teal); }

/* ==========================================================
   SECTION HEADINGS
   ========================================================== */
.cpCatCompact__sectionHead,
.cpCatCompact__departmentHead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  min-height: 0;
  margin: 0 0 10px;
  padding: 0 0 9px;
  color: var(--cp-ink);
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ece8e1; }

.cpCatCompact__sectionHead span,
.cpCatCompact__departmentHead span {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 3px;
  color: var(--cp-green);
  font-size: 8.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .17em;
  text-transform: uppercase; }

.cpCatCompact__sectionHead span::before,
.cpCatCompact__departmentHead span::before {
  content: "";
  width: 16px;
  height: 1px;
  flex: 0 0 16px;
  background: var(--cp-green); }

.cpCatCompact__sectionHead h2,
.cpCatCompact__departmentHead h2 {
  margin: 0;
  color: var(--cp-ink);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.18; }

.cpCatCompact__departmentHead p {
  max-width: 560px;
  margin: 0 0 1px;
  color: var(--cp-copy);
  font-size: 11px;
  line-height: 1.4;
  text-align: right; }

/* ==========================================================
   FEATURED CATEGORIES — SIX COLUMNS LIKE BRANDS PAGE
   ========================================================== */
.cpCatCompact__featuredGrid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  padding: 0; }

.cpCatCompact__featuredCard {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 54px;
  padding: 6px 8px;
  color: inherit;
  background: #fff;
  border: 1px solid #e1ded7;
  border-radius: 7px;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }

.cpCatCompact__featuredCard::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  border-radius: 0 0 7px 7px;
  background: var(--cp-teal);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease; }

.cpCatCompact__featuredCard:hover {
  border-color: #b8cfcd;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.045);
  transform: translateY(-1px); }

.cpCatCompact__featuredCard:hover::after {
  transform: scaleX(1); }

.cpCatCompact__featuredMedia {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0; }

.cpCatCompact__featuredMedia .cp-catdir-card__media {
  display: contents; }

.cpCatCompact__featuredMedia img,
.cpCatCompact__featuredMedia svg {
  display: block;
  width: auto;
  height: auto;
  max-width: 26px;
  max-height: 26px;
  object-fit: contain; }

.cpCatCompact__featuredText {
  min-width: 0; }

.cpCatCompact__featuredLabel {
  display: block;
  overflow: hidden;
  color: var(--cp-ink);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase; }

.cpCatCompact__featuredMeta {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: var(--cp-muted);
  font-size: 8.5px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap; }

.cpCatCompact__featuredArrow {
  display: none; }

/* ==========================================================
   DEPARTMENT BODY
   ========================================================== */
.cpCatCompact__departmentBody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  gap: 14px 18px; }

.cpCatCompact__singleBody {
  display: block; }

.cpCatCompact__group {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0; }

.cpCatCompact__groupTitle {
  position: relative;
  margin: 0 0 7px;
  padding-left: 9px;
  color: var(--cp-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2; }

.cpCatCompact__groupTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 14px;
  background: var(--cp-teal);
  transform: translateY(-50%); }

/* ==========================================================
   CATEGORY BUTTONS — VERY COMPACT
   ========================================================== */
.cpCatCompact__linkGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px; }

.cpCatCompact__link {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 36px;
  padding: 5px 8px;
  color: inherit;
  background: #fff;
  border: 1px solid #e1ded7;
  border-radius: 5px;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease; }

.cpCatCompact__link:hover {
  color: var(--cp-teal-dark);
  background: #fbfdfd;
  border-color: #b7cecc; }

/* Keep department buttons crisp against the pale teal panel */
.cpCatCompact__department .cpCatCompact__link {
  background: #fff; }

.cpCatCompact__line {
  width: 12px;
  height: 1px;
  flex: 0 0 12px;
  margin-right: 6px;
  background: var(--cp-teal); }

.cpCatCompact__linkText {
  min-width: 0; }

.cpCatCompact__label {
  display: block;
  overflow: hidden;
  color: var(--cp-ink);
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase; }

.cpCatCompact__meta {
  display: none; }

.cpCatCompact__arrow {
  display: none; }

/* ==========================================================
   FISHING SINGLE ROW
   ========================================================== */
.cpCatCompact__singleBody .cpCatCompact__linkGrid {
  grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ==========================================================
   MORE WAYS TO SHOP
   ========================================================== */
.cpCatCompact__moreGrid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 5px;
  padding: 0; }

.cpCatCompact__moreGrid .cpCatCompact__link {
  min-height: 35px; }

/* ==========================================================
   REMOVE OVERFLOW SOURCES
   ========================================================== */
.cpCatCompact,
.cpCatCompact__featuredGrid,
.cpCatCompact__departmentBody,
.cpCatCompact__linkGrid,
.cpCatCompact__moreGrid,
.cpCatCompact__featuredCard,
.cpCatCompact__link {
  max-width: 100%; }

.cpCatCompact__featuredCard,
.cpCatCompact__link,
.cpCatCompact__group,
.cpCatCompact__departmentBody > * {
  min-width: 0; }

/* ==========================================================
   TABLET
   ========================================================== */
@media (max-width: 1050px) {
  .cpCatCompact__featuredGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cpCatCompact__departmentHead {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px; }
  .cpCatCompact__departmentHead p {
    max-width: none;
    text-align: left; }
  .cpCatCompact__linkGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cpCatCompact__moreGrid {
    grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ==========================================================
   MOBILE
   ========================================================== */
@media (max-width: 560px) {
  .cpCatCompact {
    margin-bottom: 26px; }
  .cpCatCompact__featured,
  .cpCatCompact__department,
  .cpCatCompact__more {
    margin-bottom: 10px;
    padding: 11px 10px 12px;
    border-radius: 8px; }
  .cpCatCompact__sectionHead,
  .cpCatCompact__departmentHead {
    margin-bottom: 9px;
    padding-bottom: 8px; }
  .cpCatCompact__sectionHead h2,
  .cpCatCompact__departmentHead h2 {
    font-size: 18px; }
  .cpCatCompact__featuredGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px; }
  .cpCatCompact__featuredCard {
    min-height: 49px;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 6px;
    padding: 5px 6px; }
  .cpCatCompact__featuredMedia {
    width: 28px;
    height: 28px; }
  .cpCatCompact__featuredMedia img,
  .cpCatCompact__featuredMedia svg {
    max-width: 23px;
    max-height: 23px; }
  .cpCatCompact__featuredLabel {
    font-size: 10px;
    text-transform: none; }
  .cpCatCompact__featuredMeta {
    display: none; }
  .cpCatCompact__departmentBody {
    grid-template-columns: 1fr;
    gap: 11px; }
  .cpCatCompact__groupTitle {
    margin-bottom: 6px;
    font-size: 12.5px; }
  .cpCatCompact__linkGrid,
  .cpCatCompact__singleBody .cpCatCompact__linkGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px; }
  .cpCatCompact__link {
    min-height: 34px;
    padding: 5px 6px; }
  .cpCatCompact__label {
    font-size: 9.25px;
    white-space: normal;
    text-transform: none; }
  .cpCatCompact__moreGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 360px) {
  .cpCatCompact__featuredGrid,
  .cpCatCompact__linkGrid,
  .cpCatCompact__singleBody .cpCatCompact__linkGrid,
  .cpCatCompact__moreGrid {
    grid-template-columns: 1fr; } }

/* ==========================================================
   REDUCED MOTION
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  .cpCatCompact__featuredCard,
  .cpCatCompact__featuredCard::after,
  .cpCatCompact__link {
    transition: none; }
  .cpCatCompact__featuredCard:hover {
    transform: none; } }

/* Shared body spacing cleanup that still affects multiple page types */
/* ============================================================
   BODY MARGIN CLEANUP
   ============================================================ */
body.page-type-default .body,
body.page-type-product .body {
  margin-bottom: 0 !important; }

@media (max-width: 800px) {
  body.page-type-default .body,
  body.page-type-product .body {
    margin-bottom: 0 !important; } }

/* Shared product card and carousel system */
/* ============================================================
   CritPro shared product card and carousel overrides
   Import order preserved from the original flat import list.
   ============================================================ */
/* ============================================================
   PRODUCT CARDS: BASE
   ============================================================ */
.card {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  box-shadow: none; }

.card-figure {
  background-color: transparent; }

@media (min-width: 801px) {
  .card:hover {
    border-color: #d6d6d6; } }

.card-title {
  margin-bottom: 6px; }

.card-title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1.25;
  min-height: calc(1.25em * 3); }

/* ============================================================
   CRITPRO PRODUCT CARD FINAL OVERRIDES
   ============================================================ */
.productGrid .card,
.productCarousel .card,
.productList .card {
  background: #fff;
  border: 1px solid #e7ecef;
  border-radius: 12px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }

.productGrid .card:hover,
.productCarousel .card:hover,
.productList .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
  border-color: #d8e4e7; }

.productGrid .card-wrapper,
.productCarousel .card-wrapper,
.productList .card-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%; }

.productGrid .card-figure,
.productCarousel .card-figure,
.productList .card-figure {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #f6f7f8 !important; }

.productGrid .card-img-container,
.productCarousel .card-img-container,
.productList .card-img-container {
  background: #f6f7f8;
  border-bottom: 1px solid #e7ecef; }

.productGrid .card-image-wrapper,
.productCarousel .card-image-wrapper,
.productList .card-image-wrapper {
  background: transparent; }

.productGrid .card-img-container::after,
.productCarousel .card-img-container::after,
.productList .card-img-container::after {
  padding-bottom: 108% !important; }

.productGrid .card-image,
.productCarousel .card-image,
.productList .card-image {
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8px; }

/* image zoom removed; the later hover-override file keeps product images static */
.productGrid .card-body,
.productCarousel .card-body,
.productList .card-body {
  display: block !important;
  padding: 8px 12px 10px !important;
  text-align: left !important;
  border-top: 1px solid #edf1f3;
  background: #fff; }

.productGrid .card-title,
.productCarousel .card-title,
.productList .card-title {
  margin: 0 0 2px !important;
  min-height: 0 !important; }

.productGrid .card-title a,
.productCarousel .card-title a,
.productList .card-title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: #111;
  font-size: 15px;
  line-height: 1.25;
  text-decoration: none;
  min-height: calc(1.25em * 2) !important; }

/* category + brand page titles lighter */
.productGrid .card-title a {
  font-weight: 500 !important; }

/* homepage / carousel titles can stay a bit stronger */
.productCarousel .card-title a,
.productList .card-title a {
  font-weight: 600 !important; }

.productGrid .card-title a:hover,
.productCarousel .card-title a:hover,
.productList .card-title a:hover {
  color: #097276; }

.card-price-row,
.productGrid .card-price-row,
.productCarousel .card-price-row,
.productList .card-price-row,
.productGrid .card-body .card-price-row,
.productCarousel .card-body .card-price-row,
.productList .card-body .card-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 2px !important;
  min-height: 30px; }

.productGrid .card-text[data-test-info-type="price"],
.productCarousel .card-text[data-test-info-type="price"],
.productList .card-text[data-test-info-type="price"] {
  flex: 1 1 auto;
  margin: 0 !important;
  padding-left: 0 !important;
  text-align: left !important; }

/* ============================================================
   FIX PRICE LAYOUT
   ============================================================ */
.productGrid .card-body .price-section,
.productCarousel .card-body .price-section,
.productList .card-body .price-section {
  display: inline-flex !important;
  align-items: baseline;
  margin: 0 6px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  vertical-align: baseline; }

.productGrid .card-body .price-section:last-child,
.productCarousel .card-body .price-section:last-child,
.productList .card-body .price-section:last-child {
  margin-right: 0 !important; }

.productGrid .card-body .price-section-group,
.productCarousel .card-body .price-section-group,
.productList .card-body .price-section-group {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important; }

.productGrid .card-body .price,
.productCarousel .card-body .price,
.productList .card-body .price,
.productGrid .card-body .price--sale,
.productCarousel .card-body .price--sale,
.productList .card-body .price--sale,
.productGrid .card-body .price.price--sale,
.productCarousel .card-body .price.price--sale,
.productList .card-body .price.price--sale {
  color: #111 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: left !important;
  margin: 0 !important; }

.productGrid .card-body .price--non-sale,
.productCarousel .card-body .price--non-sale,
.productList .card-body .price--non-sale {
  color: #777 !important;
  font-size: 15px !important;
  font-weight: 600;
  text-decoration: line-through;
  margin: 0 !important; }

.productGrid .card-body .price-section--rrp,
.productCarousel .card-body .price-section--rrp,
.productList .card-body .price-section--rrp,
.productGrid .card-body .rrp-price--withTax,
.productGrid .card-body .rrp-price--withoutTax,
.productCarousel .card-body .rrp-price--withTax,
.productCarousel .card-body .rrp-price--withoutTax,
.productList .card-body .rrp-price--withTax,
.productList .card-body .rrp-price--withoutTax,
.productGrid .card-body .price-section-label,
.productCarousel .card-body .price-section-label,
.productList .card-body .price-section-label {
  display: none !important; }

.productGrid .card-price,
.productCarousel .card-price,
.productList .card-price,
.productGrid .price-section,
.productCarousel .price-section,
.productList .price-section {
  margin-top: 0;
  margin-bottom: 0; }

.card-price-row .price {
  margin-bottom: 0 !important; }

.card-add-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 58px;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #556b2f;
  border-radius: 3px;
  background: #556b2f;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
  transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; }

.card-add-inline:hover,
.card-add-inline:focus {
  background: #445626;
  border-color: #445626;
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(3, 152, 158, 0.18); }

.card-add-inline__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  line-height: 1; }

.card-add-inline__icon svg {
  display: block;
  width: 12px;
  height: 12px;
  fill: currentColor; }

.card-add-inline__text {
  line-height: 1; }

.card-add-inline--options,
.card-add-inline--preorder {
  background: #556b2f;
  border-color: #556b2f;
  color: #fff; }

.card-add-inline--options:hover,
.card-add-inline--options:focus,
.card-add-inline--preorder:hover,
.card-add-inline--preorder:focus {
  background: #445626;
  border-color: #445626;
  color: #fff; }

.card-add-inline--disabled {
  background: #d7d7d7;
  border-color: #c7c7c7;
  color: #777;
  pointer-events: none; }

.card-figcaption-body .card-figcaption-button {
  display: none; }

@media (max-width: 800px) {
  .productGrid .card-img-container::after,
  .productCarousel .card-img-container::after,
  .productList .card-img-container::after {
    padding-bottom: 92% !important; }
  .productGrid .card-image,
  .productCarousel .card-image,
  .productList .card-image {
    padding: 10px; }
  .productGrid .card-title a,
  .productCarousel .card-title a,
  .productList .card-title a {
    font-size: 15px !important; }
  .productGrid .card-body .price,
  .productCarousel .card-body .price,
  .productList .card-body .price,
  .productGrid .card-body .price--sale,
  .productCarousel .card-body .price--sale,
  .productList .card-body .price--sale {
    font-size: 17px !important; }
  .productGrid .card-body .price--non-sale,
  .productCarousel .card-body .price--non-sale,
  .productList .card-body .price--non-sale {
    font-size: 13px !important; }
  .card-add-inline {
    min-width: 50px;
    padding: 0 9px;
    font-size: 11px; } }

/* Hide default category navigation sidebar */
.page-type-category .sidebarBlock--categories {
  display: none; }

/* Hide default brand sidebar */
.page-type-brand .sidebarBlock {
  display: none; }

/* =========================================
   Force current/sale price to match exactly
   ========================================= */
.productGrid .card-body .card-text[data-test-info-type="price"] .price,
.productGrid .card-body .card-text[data-test-info-type="price"] .price--sale,
.productGrid .card-body .card-text[data-test-info-type="price"] .price.price--sale,
.productGrid .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price,
.productGrid .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price--sale,
.productCarousel .card-body .card-text[data-test-info-type="price"] .price,
.productCarousel .card-body .card-text[data-test-info-type="price"] .price--sale,
.productCarousel .card-body .card-text[data-test-info-type="price"] .price.price--sale,
.productCarousel .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price,
.productCarousel .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price--sale,
.productList .card-body .card-text[data-test-info-type="price"] .price,
.productList .card-body .card-text[data-test-info-type="price"] .price--sale,
.productList .card-body .card-text[data-test-info-type="price"] .price.price--sale,
.productList .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price,
.productList .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price--sale {
  font-size: 19px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #111 !important; }

.productGrid .card-body .card-text[data-test-info-type="price"] .price--non-sale,
.productCarousel .card-body .card-text[data-test-info-type="price"] .price--non-sale,
.productList .card-body .card-text[data-test-info-type="price"] .price--non-sale {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #777 !important;
  text-decoration: line-through; }

@media (max-width: 800px) {
  .productGrid .card-body .card-text[data-test-info-type="price"] .price,
  .productGrid .card-body .card-text[data-test-info-type="price"] .price--sale,
  .productGrid .card-body .card-text[data-test-info-type="price"] .price.price--sale,
  .productGrid .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price,
  .productGrid .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price--sale,
  .productCarousel .card-body .card-text[data-test-info-type="price"] .price,
  .productCarousel .card-body .card-text[data-test-info-type="price"] .price--sale,
  .productCarousel .card-body .card-text[data-test-info-type="price"] .price.price--sale,
  .productCarousel .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price,
  .productCarousel .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price--sale,
  .productList .card-body .card-text[data-test-info-type="price"] .price,
  .productList .card-body .card-text[data-test-info-type="price"] .price--sale,
  .productList .card-body .card-text[data-test-info-type="price"] .price.price--sale,
  .productList .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price,
  .productList .card-body .card-text[data-test-info-type="price"] [class*="sale"] .price--sale {
    font-size: 17px !important; } }

/* ============================================================
   FINAL – MOBILE HOMEPAGE PRODUCT CARD FIXES
   Consolidated from prior troubleshooting
   ============================================================ */
@media (max-width: 1024px) {
  .chiara-section--featuredProducts .productCarousel .card-figure,
  .chiara-section--newProducts .productCarousel .card-figure,
  .chiara-section--topProducts .productCarousel .card-figure {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important; }
  .chiara-section--featuredProducts .productCarousel .card-figure > a,
  .chiara-section--newProducts .productCarousel .card-figure > a,
  .chiara-section--topProducts .productCarousel .card-figure > a {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important; }
  .chiara-section--featuredProducts .productCarousel .card-figcaption,
  .chiara-section--newProducts .productCarousel .card-figcaption,
  .chiara-section--topProducts .productCarousel .card-figcaption {
    display: none !important; }
  .chiara-section--featuredProducts .productCarousel .card-img-container,
  .chiara-section--newProducts .productCarousel .card-img-container,
  .chiara-section--topProducts .productCarousel .card-img-container {
    margin: 0;
    border-bottom: 0;
    overflow: hidden; }
  .chiara-section--featuredProducts .productCarousel .card-image-wrapper,
  .chiara-section--newProducts .productCarousel .card-image-wrapper,
  .chiara-section--topProducts .productCarousel .card-image-wrapper {
    overflow: hidden; }
  .chiara-section--featuredProducts .productCarousel .card-img-container::after,
  .chiara-section--newProducts .productCarousel .card-img-container::after,
  .chiara-section--topProducts .productCarousel .card-img-container::after {
    padding-bottom: 100%; }
  .chiara-section--featuredProducts .productCarousel .card-image,
  .chiara-section--newProducts .productCarousel .card-image,
  .chiara-section--topProducts .productCarousel .card-image {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    padding: 2px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important; }
  .chiara-section--featuredProducts .productCarousel .card-body,
  .chiara-section--newProducts .productCarousel .card-body,
  .chiara-section--topProducts .productCarousel .card-body {
    margin: 0 !important;
    padding: 4px 10px 10px !important;
    border-top: 1px solid #e7ecef !important; }
  .chiara-section--featuredProducts .productCarousel .card-title,
  .chiara-section--newProducts .productCarousel .card-title,
  .chiara-section--topProducts .productCarousel .card-title {
    margin: 0 0 4px !important;
    padding-top: 0 !important; }
  /* slightly larger mobile product title */
  .chiara-section--featuredProducts .productCarousel .card-title a,
  .chiara-section--newProducts .productCarousel .card-title a,
  .chiara-section--topProducts .productCarousel .card-title a {
    font-size: 16px !important;
    line-height: 1.2 !important; }
  .chiara-section--featuredProducts .productCarousel .card-text,
  .chiara-section--newProducts .productCarousel .card-text,
  .chiara-section--topProducts .productCarousel .card-text {
    margin-top: 0 !important; }
  .chiara-section--featuredProducts .productCarousel .card-add-inline,
  .chiara-section--newProducts .productCarousel .card-add-inline,
  .chiara-section--topProducts .productCarousel .card-add-inline {
    display: none !important; } }

/* ============================================================
   PRODUCT CARDS - CATEGORY, BRAND, RELATED, CAROUSELS
   CritPro normalized image stage and card alignment
   ============================================================ */
/* ------------------------------------------------------------
   Category + brand product grids
   Keep every image stage square regardless of source dimensions.
   This prevents non-square product images from shifting titles,
   prices, and Add to Cart buttons vertically.
   ------------------------------------------------------------ */
.productGrid .card {
  width: 100%;
  height: 100%; }

.productGrid .card-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%; }

.productGrid .card-figure {
  display: flex !important;
  flex: 0 0 auto;
  flex-direction: column !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important; }

.productGrid .card-figure > a {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important; }

.productGrid .card-img-container {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff;
  border-bottom: 0; }

/* The square stage above replaces the theme's percentage spacer. */
.productGrid .card-img-container::after {
  display: none !important;
  padding-bottom: 0 !important; }

.productGrid .card-image-wrapper {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  background: #fff; }

.productGrid .card-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: auto !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important; }

.productGrid .card-figcaption {
  display: none !important; }

/* Stretch the body so rows stay aligned even when titles wrap. */
.productGrid .card-body {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  margin: 0 !important;
  padding: 4px 10px 10px !important;
  border-top: 1px solid #e7ecef !important; }

/* Keep the price/action row at the bottom of each equal-height card. */
.productGrid .card-price-row {
  margin-top: auto; }

/* ------------------------------------------------------------
   Related products + product carousels
   Preserve the existing CritPro square-image treatment.
   ------------------------------------------------------------ */
.productView-related .card-img-container::after,
.relatedProducts .card-img-container::after,
.productCarousel .card-img-container::after {
  padding-bottom: 100%; }

.productView-related .card-image,
.relatedProducts .card-image,
.productCarousel .card-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important; }

.productView-related .card-image-wrapper,
.relatedProducts .card-image-wrapper,
.productCarousel .card-image-wrapper {
  overflow: hidden; }

.productView-related .card-figure,
.relatedProducts .card-figure,
.productCarousel .card-figure {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important; }

.productView-related .card-figure > a,
.relatedProducts .card-figure > a,
.productCarousel .card-figure > a {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important; }

.productView-related .card-figcaption,
.relatedProducts .card-figcaption,
.productCarousel .card-figcaption {
  display: none !important; }

.productView-related .card-img-container,
.relatedProducts .card-img-container,
.productCarousel .card-img-container {
  margin: 0;
  border-bottom: 0; }

.productView-related .card-body,
.relatedProducts .card-body,
.productCarousel .card-body {
  margin: 0 !important;
  padding: 4px 10px 10px !important;
  border-top: 1px solid #e7ecef !important; }

/* ============================================================
   CRITPRO PRODUCT CARD HOVER OVERRIDE
   Keep hover effect but prevent image zoom
   ============================================================ */
/* keep the shared hover lift for related-product contexts only.
   Main grid/carousel/list hover lift already lives in 32-critpro-product-card-final-overrides. */
.productView-related .card:hover,
.relatedProducts .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
  border-color: #d8e4e7; }

/* remove image zoom effect */
.productGrid .card-image-wrapper img,
.productCarousel .card-image-wrapper img,
.productList .card-image-wrapper img,
.productView-related .card-image-wrapper img,
.relatedProducts .card-image-wrapper img {
  transform: none;
  transition: none; }

.productGrid .card:hover .card-image-wrapper img,
.productCarousel .card:hover .card-image-wrapper img,
.productList .card:hover .card-image-wrapper img,
.productView-related .card:hover .card-image-wrapper img,
.relatedProducts .card:hover .card-image-wrapper img {
  transform: none !important; }

.cp-catdir-page {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  font-family: inherit; }

.cp-catdir-page,
.cp-catdir-page * {
  box-sizing: border-box; }

.cp-catdir-page__intro {
  margin: 0 0 28px;
  padding: 44px 32px;
  border-radius: 18px;
  background: #17323B;
  text-align: center;
  box-shadow: 0 16px 40px rgba(23, 50, 59, 0.18); }

.cp-catdir-page__eyebrow {
  display: block;
  font-family: ui-monospace,Menlo,Consolas,'Courier New',monospace;
  font-size: 12.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #8fd7da;
  font-weight: bold;
  margin: 0 0 10px; }

.cp-catdir-page__title {
  margin: 0;
  color: #ffffff;
  font-family: Barlow,Arial,Helvetica,sans-serif;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 700; }

.cp-catdir-page__sub {
  margin: 14px auto 0;
  color: #cfe7e8;
  font-size: 16px;
  line-height: 1.5;
  max-width: 900px; }

/* MATCH HOMEPAGE BLOCK STYLE — PREMIUM REFINEMENT
   Rounded corners, deeper shadow, and a top accent bar to bring
   this in line with the dark-teal / accent-teal brand identity
   used on About Us, instead of the flat sharp-cornered box. */
.cp-catdir-block,
.cp-knife-types {
  position: relative;
  margin: 28px 0;
  padding: 28px;
  border: 1px solid #d9ebeb;
  border-radius: 16px;
  background: #eef7f7;
  font-family: inherit;
  box-shadow: 0 10px 28px rgba(23, 50, 59, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6);
  overflow: hidden; }

.cp-catdir-block::before,
.cp-knife-types::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #03989E; }

.cp-knife-types__header,
.cp-catdir-block__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #dfecec; }

.cp-knife-types__eyebrow,
.cp-catdir-block__eyebrow {
  display: block;
  font-family: ui-monospace,Menlo,Consolas,'Courier New',monospace;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #03989E;
  font-weight: bold; }

.cp-knife-types__header .cpSectionHead-title,
.cp-catdir-block__title {
  margin: 0;
  padding: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: #17323b;
  font-family: inherit;
  letter-spacing: 0;
  text-transform: none; }

/* MAIN CATEGORY CARD GRID — PREMIUM REFINEMENT */
.cp-catdir-grid {
  display: grid;
  gap: 14px; }

.cp-catdir-grid--main {
  grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cp-catdir-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 92px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #dde9ea;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(23, 50, 59, 0.04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }

.cp-catdir-card:hover {
  transform: translateY(-3px);
  border-color: #03989E;
  box-shadow: 0 14px 30px rgba(23, 50, 59, 0.12);
  background: #fff; }

.cp-catdir-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border: 1px solid #cfe6e6;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #eef7f7 100%);
  flex-shrink: 0;
  transition: background .18s ease, border-color .18s ease; }

.cp-catdir-card:hover .cp-catdir-card__media {
  border-color: #03989E; }

.cp-catdir-card__media img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain; }

.cp-catdir-card__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.cp-catdir-card__label {
  display: block;
  color: #17323b;
  font-family: Barlow,Arial,Helvetica,sans-serif;
  font-size: 20px;
  line-height: 1.12;
  font-weight: 700; }

.cp-catdir-card__meta {
  display: block;
  color: #4b5d63;
  font-size: 14px;
  line-height: 1.3; }

.cp-catdir-card:hover .cp-catdir-card__label {
  color: #03989E; }

/* HOMEPAGE KNIFE TILE GRID — PREMIUM REFINEMENT */
.cp-knife-types__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px; }

.cp-knife-types__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cp-knife-types__grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cp-knife-types__grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cp-knife-types__grid--five {
  grid-template-columns: repeat(5, minmax(0, 1fr)); }

.cp-knifeTile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 126px;
  padding: 20px 20px 18px;
  border: 1px solid #dde7e8;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfc 100%);
  text-decoration: none;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(23, 50, 59, 0.04);
  will-change: transform;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease; }

.cp-knifeTile__accent {
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 0 14px;
  background: #03989E;
  border-radius: 999px;
  opacity: .9;
  transition: width .18s ease; }

.cp-knifeTile__label {
  display: block;
  font-family: Barlow,Arial,Helvetica,sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.15;
  color: #17323b;
  margin: 0 0 8px; }

.cp-knifeTile__meta {
  display: block;
  font-family: Barlow,Arial,Helvetica,sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  color: #4b5d63; }

@media (hover: hover) {
  .cp-knifeTile:hover {
    transform: translateY(-4px);
    border-color: #03989E;
    box-shadow: 0 14px 30px rgba(23, 50, 59, 0.12); }
  .cp-knifeTile:hover .cp-knifeTile__accent {
    width: 56px; }
  .cp-knifeTile:hover .cp-knifeTile__label {
    color: #03989E; } }

/* RESPONSIVE */
@media (max-width: 1200px) {
  .cp-knife-types__grid--five {
    grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (max-width: 1100px) {
  .cp-catdir-grid--main,
  .cp-knife-types__grid,
  .cp-knife-types__grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-knife-types__grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 768px) {
  .cp-catdir-page__intro {
    padding: 32px 22px;
    border-radius: 14px; }
  .cp-catdir-page__title {
    font-size: 28px; }
  .cp-catdir-page__sub {
    font-size: 15px; }
  .cp-catdir-block,
  .cp-knife-types {
    margin: 28px 0;
    padding: 16px; }
  .cp-knife-types__header .cpSectionHead-title,
  .cp-catdir-block__title {
    font-size: 22px; }
  .cp-catdir-grid--main,
  .cp-knife-types__grid,
  .cp-knife-types__grid--two,
  .cp-knife-types__grid--three,
  .cp-knife-types__grid--four,
  .cp-knife-types__grid--five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px; }
  .cp-catdir-card {
    min-height: 84px;
    padding: 12px 14px;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px; }
  .cp-catdir-card__media {
    width: 50px;
    height: 50px; }
  .cp-catdir-card__media img {
    width: 30px;
    height: 30px; }
  .cp-catdir-card__label {
    font-size: 18px; }
  .cp-catdir-card__meta {
    font-size: 13px; }
  .cp-knifeTile {
    min-height: 102px;
    padding: 14px 14px 12px; }
  .cp-knifeTile__accent {
    width: 32px;
    margin: 0 0 10px; }
  .cp-knifeTile__label {
    font-size: 18px; }
  .cp-knifeTile__meta {
    font-size: 11px; } }

@media (max-width: 560px) {
  .cp-catdir-grid--main,
  .cp-knife-types__grid,
  .cp-knife-types__grid--two,
  .cp-knife-types__grid--three,
  .cp-knife-types__grid--four,
  .cp-knife-types__grid--five {
    grid-template-columns: 1fr; } }

/* ============================================================
   FINAL PRODUCT CARD POLISH
   - full-width Add to Cart
   - more space between title and price
   - more breathing room above button
   - softer card borders
   - mobile homepage Add to Cart visible
   - cleaner product card spacing/alignment
   ============================================================ */
/* Softer card border */
.card {
  border: 1px solid #eceff1 !important; }

/* Stronger card body spacing */
.productGrid .card-body,
.productView-related .card-body,
.relatedProducts .card-body,
.productCarousel .card-body,
.productList .card-body {
  padding: 10px 12px 12px !important; }

/* Title spacing and clamp */
.productGrid .card-title,
.productView-related .card-title,
.relatedProducts .card-title,
.productCarousel .card-title,
.productList .card-title {
  margin: 0 0 8px !important;
  min-height: 0 !important; }

.productGrid .card-title a,
.productView-related .card-title a,
.relatedProducts .card-title a,
.productCarousel .card-title a,
.productList .card-title a {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  line-height: 1.3 !important;
  min-height: calc(1.3em * 2) !important; }

/* Stack price and button vertically */
.card-price-row,
.productGrid .card-price-row,
.productView-related .card-price-row,
.relatedProducts .card-price-row,
.productCarousel .card-price-row,
.productList .card-price-row,
.productGrid .card-body .card-price-row,
.productView-related .card-body .card-price-row,
.relatedProducts .card-body .card-price-row,
.productCarousel .card-body .card-price-row,
.productList .card-body .card-price-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 6px;
  min-height: 0; }

/* Price spacing */
.productGrid .card-text[data-test-info-type="price"],
.productView-related .card-text[data-test-info-type="price"],
.relatedProducts .card-text[data-test-info-type="price"],
.productCarousel .card-text[data-test-info-type="price"],
.productList .card-text[data-test-info-type="price"],
.productGrid .card-price,
.productView-related .card-price,
.relatedProducts .card-price,
.productCarousel .card-price,
.productList .card-price {
  width: 100%;
  margin: 0 0 2px;
  padding: 0;
  text-align: left; }

.productGrid .card-body .price,
.productView-related .card-body .price,
.relatedProducts .card-body .price,
.productCarousel .card-body .price,
.productList .card-body .price,
.productGrid .card-body .price--sale,
.productView-related .card-body .price--sale,
.relatedProducts .card-body .price--sale,
.productCarousel .card-body .price--sale,
.productList .card-body .price--sale,
.productGrid .card-body .price.price--sale,
.productView-related .card-body .price.price--sale,
.relatedProducts .card-body .price.price--sale,
.productCarousel .card-body .price.price--sale,
.productList .card-body .price.price--sale {
  margin: 0 !important;
  line-height: 1.1 !important; }

/* Full-width CTA */
.card-add-inline {
  display: flex !important;
  width: 100%;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 14px !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation; }

.card-add-inline__icon,
.card-add-inline__icon svg,
.card-add-inline__icon path,
.card-add-inline__text {
  pointer-events: none; }

/* Mobile: keep homepage/carousel Add to Cart visible */
@media (max-width: 1024px) {
  .chiara-section--featuredProducts .productCarousel .card-add-inline,
  .chiara-section--newProducts .productCarousel .card-add-inline,
  .chiara-section--topProducts .productCarousel .card-add-inline {
    display: flex !important;
    width: 100%; } }

/* Mobile sizing */
@media (max-width: 800px) {
  .productGrid .card-body,
  .productView-related .card-body,
  .relatedProducts .card-body,
  .productCarousel .card-body,
  .productList .card-body {
    padding: 10px 10px 12px !important; }
  .card-add-inline {
    height: 44px !important;
    font-size: 13px !important; } }

/* Slightly reduce shipping method text on mobile */
@media (max-width: 800px) {
  .shipping-quotes .estimator-form-label-text {
    font-size: 13px;
    line-height: 1.2; } }

/* Fix preview cart popup opening under the sticky header */
@media (max-width: 800px) {
  .preview-modal:not(.preview-modal--mini) {
    top: 70px;
    max-height: calc(100vh - 70px); } }

/* Fix header cart dropdown buttons wrapping */
.previewCartAction .button {
  white-space: nowrap;
  font-size: 12px;
  padding-left: 8px;
  padding-right: 8px; }

.previewCartAction-checkout,
.previewCartAction-viewCart {
  width: 50%; }

.previewCartAction-checkout .button,
.previewCartAction-viewCart .button {
  display: block;
  width: 100%;
  text-align: center; }

/* ============================================================
   FIX SALE PRICE WRAPPING
   ============================================================ */
.productGrid .card-body .price-section-group,
.productCarousel .card-body .price-section-group,
.productList .card-body .price-section-group {
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  gap: 5px !important;
  min-width: 0 !important; }

.productGrid .card-body .price-section,
.productCarousel .card-body .price-section,
.productList .card-body .price-section {
  flex-shrink: 1 !important;
  min-width: 0 !important;
  white-space: nowrap !important; }

.productGrid .card-body .price,
.productCarousel .card-body .price,
.productList .card-body .price,
.productGrid .card-body .price--sale,
.productCarousel .card-body .price--sale,
.productList .card-body .price--sale,
.productGrid .card-body .price--non-sale,
.productCarousel .card-body .price--non-sale,
.productList .card-body .price--non-sale {
  white-space: nowrap !important; }

/* ============================================================
   CRITPRO TEAL PRODUCT CARD CTA COLORS
   ============================================================ */
.card-add-inline {
  background: #027c80 !important;
  border: 1px solid #027c80 !important;
  color: #ffffff !important; }

.card-add-inline:hover,
.card-add-inline:focus {
  background: #03989e !important;
  border-color: #03989e !important;
  color: #ffffff !important;
  text-decoration: none !important; }

.card-add-inline--options,
.card-add-inline--preorder {
  background: #ffffff !important;
  border-color: #cfe3e3 !important;
  color: #027c80 !important; }

.card-add-inline--options:hover,
.card-add-inline--options:focus,
.card-add-inline--preorder:hover,
.card-add-inline--preorder:focus {
  background: #f4f9f9 !important;
  border-color: #03989e !important;
  color: #027c80 !important; }

.card-add-inline--disabled {
  background: #f4f4f4 !important;
  border-color: #dddddd !important;
  color: #777777 !important;
  cursor: not-allowed; }

/* Desktop PDP content layout rules kept in original order */
/* ============================================================
   CRITPRO PDP — DESKTOP DESCRIPTION + SPECIFICATIONS
   Theme-level presentation for existing product description HTML.
   No catalog/product-description HTML changes required.
   Mobile/tablet presentation is intentionally left unchanged.
   ============================================================ */
.cp-desc-specsDesktopWrap,
.cp-desc-specsDesktop {
  display: none; }

@media (min-width: 801px) {
  /* ----------------------------------------------------------
     Description reading column
     ---------------------------------------------------------- */
  body.page-type-product .productView-desc-content {
    width: calc(100% - 48px);
    max-width: 1140px;
    margin: 0 auto;
    padding: 12px 0 6px;
    color: #2f3e42;
    font-size: 15px;
    line-height: 1.62; }
  body.page-type-product .productView-desc-content > :first-child {
    margin-top: 0; }
  body.page-type-product .productView-desc-content > :last-child {
    margin-bottom: 0; }
  body.page-type-product .productView-desc-content p {
    margin: 0 0 14px;
    color: #2f3e42;
    font-size: 15px;
    line-height: 1.62; }
  body.page-type-product .productView-desc-content ul,
  body.page-type-product .productView-desc-content ol {
    margin: 0 0 20px 24px;
    padding: 0; }
  body.page-type-product .productView-desc-content li {
    margin: 0 0 7px;
    line-height: 1.65; }
  body.page-type-product .productView-desc-content a {
    color: #087276;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px; }
  body.page-type-product .productView-desc-content a:hover,
  body.page-type-product .productView-desc-content a:focus {
    color: #055d60;
    text-decoration-thickness: 2px; }
  body.page-type-product .productView-desc-content p > strong:first-child {
    color: #17383d;
    font-weight: 800; }
  /* ----------------------------------------------------------
     Existing strong-label paragraphs
     Covers Key Features and inline FAQ question/answer entries
     without requiring any product HTML changes.
     ---------------------------------------------------------- */
  /* ----------------------------------------------------------
     Native headings that may exist in some product descriptions
     ---------------------------------------------------------- */
  body.page-type-product .productView-desc-content h2,
  body.page-type-product .productView-desc-content h3,
  body.page-type-product .productView-desc-content h4 {
    position: relative;
    margin: 26px 0 12px;
    padding-bottom: 8px;
    color: #17383d;
    font-weight: 800;
    line-height: 1.3;
    border-bottom: 1px solid #e3e9e9; }
  body.page-type-product .productView-desc-content h2 {
    font-size: 20px; }
  body.page-type-product .productView-desc-content h3 {
    font-size: 18px; }
  body.page-type-product .productView-desc-content h4 {
    font-size: 17px; }
  body.page-type-product .productView-desc-content h2::after,
  body.page-type-product .productView-desc-content h3::after,
  body.page-type-product .productView-desc-content h4::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 46px;
    height: 2px;
    background: #097276;
    content: ""; }
  /* ----------------------------------------------------------
     Desktop specifications appended below description
     ---------------------------------------------------------- */
  .cp-desc-specsDesktopWrap {
    display: block;
    width: 100%;
    margin: 24px 0 0;
    padding: 0 24px; }
  .cp-desc-specsDesktop {
    display: block;
    width: 100%;
    max-width: 1140px;
    margin: 0;
    padding: 20px 0 6px;
    border-top: 1px solid #dfe7e7; }
  .cp-desc-specsDesktop-title {
    position: relative;
    margin: 0 0 14px;
    padding-bottom: 8px;
    color: #263b3f;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
    border-bottom: 1px solid #e3e9e9; }
  .cp-desc-specsDesktop-title::after {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 46px;
    height: 2px;
    background: #097276;
    content: ""; }
  .cp-desc-specsDesktop-list {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    column-gap: 0;
    row-gap: 0;
    margin: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e2e9e9;
    border-radius: 7px; }
  .cp-desc-specsDesktop-list .productView-info-name,
  .cp-desc-specsDesktop-list .productView-info-value {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.45;
    border-bottom: 1px solid #edf1f1; }
  .cp-desc-specsDesktop-list .productView-info-name {
    grid-column: 1;
    color: #394a4f;
    background: #ffffff;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap; }
  .cp-desc-specsDesktop-list .productView-info-value {
    grid-column: 2;
    color: #27363a;
    background: #ffffff;
    overflow-wrap: break-word;
    word-break: normal; }
  /* Zebra rows: every other complete specification row is tinted edge-to-edge. */
  .cp-desc-specsDesktop-list .productView-info-name:nth-of-type(odd),
  .cp-desc-specsDesktop-list .productView-info-value:nth-of-type(odd) {
    background: #ffffff; }
  .cp-desc-specsDesktop-list .productView-info-name:nth-of-type(even),
  .cp-desc-specsDesktop-list .productView-info-value:nth-of-type(even) {
    background: #f4f7f7; }
  .cp-desc-specsDesktop-list .productView-info-name:last-of-type,
  .cp-desc-specsDesktop-list .productView-info-value:last-of-type {
    border-bottom: 0; }
  .cp-desc-specsDesktop-list .productView-info-value > * {
    margin: 0; }
  .cp-desc-specsDesktop-list a {
    color: #087276;
    font-weight: 600; }
  /* Existing dedicated desktop specs tab/panel stays hidden because
     specifications are already appended beneath the description. */
  .cp-desktop-specs-tab,
  .cp-desktop-specs-panel {
    display: none; } }

/* CritPro product-description typography.
   Runtime classes identify the existing catalog markup; no catalog HTML edits are required. */
/* Key Features should read like normal description copy, not a heading. */
body.page-type-product .cp-pdp-keyFeatures {
  font-size: inherit;
  font-weight: 400; }

body.page-type-product .cp-pdp-keyFeatures > strong:first-child {
  color: #33484c;
  font-size: inherit;
  font-weight: 400; }

/* FAQ section title — same visual hierarchy as Description / Warranty tabs. */
body.page-type-product .cp-pdp-faqHeading,
body.page-type-product .cp-pdp-faqHeading > strong {
  margin-top: 22px;
  margin-bottom: 12px;
  color: #263b3f;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.15; }

/* Mobile/tablet FAQ section title.
   Chiara's product-page mobile breakpoint is 800px. */
@media (max-width: 800px) {
  body.page-type-product .cp-pdp-faqHeading,
  body.page-type-product .cp-pdp-faqHeading > strong {
    font-size: 24px !important; } }

/* FAQ questions — readable emphasis without the heavy heading weight. */
body.page-type-product .cp-pdp-faqQuestion > strong:first-child {
  font-size: inherit;
  font-weight: 600; }

/* Description and Warranty tab titles match the FAQ section title. */
body.page-type-product .productView-tab-title,
body.page-type-product .productView-tab-title:hover,
body.page-type-product .productView-tab-title:focus,
body.page-type-product .productView-tab-title:active,
body.page-type-product .productView-tab.is-active .productView-tab-title,
body.page-type-product .productView-tab[aria-selected="true"] .productView-tab-title {
  color: #263b3f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15; }

@media (max-width: 800px) {
  body.page-type-product .cp-mobile-block__heading {
    color: #263b3f;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15; } }

/* ============================================================
   GLOBAL / NON-PDP RULES FROM THE FORMER DESKTOP DESCRIPTION SPECS FILE
   PDP-specific description/spec/review-row rules moved to
   critpro/pdp/_11-desktop-description-specs.scss
   ============================================================ */
/* Mobile newsletter button – PageSpeed safe contrast */
@media (max-width: 800px) {
  .footer-newsletterTop .button,
  .footer-newsletterTop .form-prefixPostfix-button--postfix {
    background: #097276 !important;
    color: #ffffff !important;
    border-color: #097276 !important;
    font-weight: 600; }
  .footer-newsletterTop .button:hover {
    background: #065b5e !important;
    border-color: #065b5e !important; } }

/* Footer links: keep tight visually, enlarge clickable area */
.footer-info-list li,
.footer-info-col-contactList li {
  position: relative;
  margin: 0; }

.footer-info-list li + li,
.footer-info-col-contactList li + li {
  margin-top: 1px; }

.footer-info-list a,
.footer-info-col-contactList a {
  display: inline-block;
  line-height: 1.2;
  padding: 2px 0;
  position: relative; }

.footer-info-list a::before,
.footer-info-col-contactList a::before {
  content: "";
  position: absolute;
  left: -4px;
  right: -4px;
  top: 50%;
  transform: translateY(-50%);
  height: 34px; }

/* Increase site content width */
.container {
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px; }

/* Stable rollback / cross-page patches that originally landed before the later header refinements */
/* =========================================================
   Stable rollback fixes
   ========================================================= */
body {
  padding-top: 0 !important; }

@media (min-width: 1025px) {
  .cp-themeHeader__overlay,
  .cp-themeHeader__drawer {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: none;
    background: transparent !important;
    transform: none; } }

@media (max-width: 1024px) {
  body {
    padding-top: 0 !important;
    padding-bottom: 64px !important; }
  .cp-themeHeader__overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: transparent !important; }
  .cp-themeHeader__drawer {
    transform: translateX(-100%) !important;
    box-shadow: none !important;
    background: #ffffff !important; }
  .cp-themeHeader__overlay.is-open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: rgba(9, 20, 26, 0.45) !important; }
  .cp-themeHeader__drawer.is-open {
    transform: translateX(0) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22) !important; } }

/* Hide first 5 SEO-only subcategories on mobile (/knives/ page only) */
@media (max-width: 1024px) {
  .category-listing-container[data-cp-category="knives"] .navList .navList-item:nth-child(1),
  .category-listing-container[data-cp-category="knives"] .navList .navList-item:nth-child(2),
  .category-listing-container[data-cp-category="knives"] .navList .navList-item:nth-child(3),
  .category-listing-container[data-cp-category="knives"] .navList .navList-item:nth-child(4),
  .category-listing-container[data-cp-category="knives"] .navList .navList-item:nth-child(5) {
    display: none !important; } }

/* Header / navigation */
/* ============================================================
   CritPro header and navigation overrides
   Import order preserved from the original flat import list.
   ============================================================ */
/* =========================================================
   CritPro custom theme header / mega menu
   ========================================================= */
.cp-header-lock {
  overflow: visible; }

.header,
.header-top,
.header-main,
.navPages-container,
.mobileMenu-toggle,
#quickSearch,
.dropdown--quickSearch {
  display: none; }

.cp-themeHeader {
  position: relative;
  top: auto;
  z-index: 1200;
  background: #fff;
  box-shadow: none;
  isolation: isolate; }

.cp-themeHeader,
.cp-themeHeader * {
  box-sizing: border-box; }

.cp-themeHeader__container {
  width: 100%;
  max-width: 1216px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px; }

.cp-themeHeader__top {
  background: #f8fbfb;
  border-bottom: 1px solid #dbe4e7; }

.cp-themeHeader__topInner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px; }

.cp-themeHeader__topLeft,
.cp-themeHeader__topRight {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; }

.cp-themeHeader__topText,
.cp-themeHeader__topLink {
  color: #667085;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none; }

.cp-themeHeader__topLink:hover {
  color: #097276;
  text-decoration: none; }

.cp-themeHeader__main {
  background: #fff;
  border-bottom: 1px solid #dbe4e7; }

.cp-themeHeader__mainInner {
  min-height: 82px;
  display: grid;
  grid-template-columns: 240px minmax(260px, 480px) auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px; }

.cp-themeHeader__logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  min-width: 0; }

.cp-themeHeader__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 62px; }

.cp-themeHeader__searchWrap {
  width: 100%;
  max-width: 480px; }

.cp-themeHeader__searchForm {
  display: flex;
  align-items: center;
  border: 1px solid #dbe4e7;
  border-radius: 999px;
  overflow: hidden;
  background: #fff; }

.cp-themeHeader__searchInput {
  width: 100%;
  height: 46px;
  padding: 0 16px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #17323b;
  font-size: 15px; }

.cp-themeHeader__searchInput::placeholder {
  color: #98a2b3; }

.cp-themeHeader__searchButton {
  height: 46px;
  padding: 0 20px;
  border: 0;
  background: #097276;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap; }

.cp-themeHeader__searchButton:hover {
  background: #075d61; }

.cp-themeHeader__actions {
  display: flex;
  align-items: center;
  gap: 10px; }

.cp-themeHeader__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #dbe4e7;
  border-radius: 999px;
  background: #fff;
  color: #17323b;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700; }

.cp-themeHeader__action:hover {
  color: #097276;
  border-color: #097276;
  text-decoration: none; }

.cp-themeHeader__action--cart {
  position: relative;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #000000;
  border: 1px solid #dbe4e7;
  box-shadow: none; }

.cp-themeHeader__action--cart:hover {
  background: #f5f5f5;
  border: 1px solid #dbe4e7;
  color: #000000; }

.cp-themeHeader__icon {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
  color: currentColor;
  flex: 0 0 auto; }

.cp-themeHeader__action--cart {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); }

.cp-themeHeader__cartBadge,
.cp-themeHeader__mobileCartBadge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: #fff;
  color: #097276;
  border: 1px solid #dbe4e7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  line-height: 1; }

.cp-themeHeader__nav {
  background: #16323b; }

.cp-themeHeader__navInner {
  position: relative; }

.cp-themeHeader__mobileLinks {
  list-style: none;
  margin: 0;
  padding: 0; }

.cp-themeHeader__mobileLinks a:hover {
  color: #097276;
  text-decoration: none; }

/* AUDIT FIX (phase 2.6): removed an entire dead fixed-panel mega-menu
   system that used to live here -- .cpMegaMenu, .cpMegaMenu__links,
   .cpMegaMenu__simple, .cpMegaMenu__item(--right), .cpMegaMenu__trigger,
   .cpMegaMenu__caret, .cpMegaMenu__panel (+ --wide/--small/--right),
   .cpMegaMenu__grid(--2/--4), .cpMegaMenu__col, .cpMegaMenu__heading,
   and .cpMegaMenu__promo*. Zero matches in header.html -- this looks
   like an earlier, hardcoded mega-menu design that predates the
   dynamic category-tree system now in files 62-70. */
.cp-themeHeader__mobile {
  display: none;
  background: #fff; }

.cp-themeHeader__mobileTop {
  min-height: 70px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  padding-bottom: 10px; }

.cp-themeHeader__mobileToggle,
.cp-themeHeader__mobileIcon,
.cp-themeHeader__drawerClose {
  width: 44px;
  height: 44px;
  border: 1px solid #dbe4e7;
  border-radius: 10px;
  background: #fff;
  color: #17323b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  position: relative; }

.cp-themeHeader__mobileIcon--cart {
  background: #ffffff;
  color: #000000;
  border: 1px solid #dbe4e7; }

.cp-themeHeader__burger,
.cp-themeHeader__burger::before,
.cp-themeHeader__burger::after {
  display: block;
  width: 18px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  content: '';
  position: relative; }

.cp-themeHeader__burger::before {
  position: absolute;
  top: -6px;
  left: 0; }

.cp-themeHeader__burger::after {
  position: absolute;
  top: 6px;
  left: 0; }

.cp-themeHeader__mobileLogo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 46px; }

.cp-themeHeader__mobileActions {
  display: flex;
  align-items: center;
  gap: 8px; }

.cp-themeHeader__mobileSearch {
  padding: 0 0 12px;
  border-bottom: 1px solid #dbe4e7;
  background: #fff; }

.cp-themeHeader__overlay {
  position: fixed;
  inset: 0;
  background: rgba(9, 20, 26, 0.45);
  z-index: 1220;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.24s ease, visibility 0.24s ease; }

.cp-themeHeader__overlay.is-open {
  opacity: 1;
  visibility: visible; }

.cp-themeHeader__drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 88vw;
  max-width: 380px;
  background: #fff;
  box-shadow: none;
  z-index: 1230;
  transform: translateX(-100%);
  transition: transform 0.24s ease;
  overflow: auto; }

.cp-themeHeader__drawer.is-open {
  transform: translateX(0);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22); }

.cp-themeHeader__drawerHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 14px;
  border-bottom: 1px solid #dbe4e7; }

.cp-themeHeader__drawerTitle {
  color: #17323b;
  font-size: 18px;
  font-weight: 800; }

.cp-themeHeader__drawerBody {
  padding: 12px 14px 24px; }

.cp-themeHeader__mobileBlock + .cp-themeHeader__mobileBlock {
  margin-top: 14px; }

.cp-themeHeader__mobileLabel {
  display: block;
  margin: 0 0 10px;
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase; }

.cp-themeHeader__mobileLinks {
  list-style: none;
  margin: 0;
  padding: 0; }

.cp-themeHeader__mobileLinks li {
  margin: 0; }

.cp-themeHeader__mobileLinks a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid #dbe4e7;
  color: #17323b;
  text-decoration: none;
  font-size: 15px;
  font-weight: 700; }

/* AUDIT FIX (phase 2.6): removed a dead .cp-themeHeader__accordion*
   block that used to live here (border/summary/icon/panel styling for
   a JS-driven <details>-like accordion). Zero matches in header.html --
   the live mobile menu uses .cpMobileTree, a native <details>/<summary>
   pattern styled in files 62-70, not this accordion class. */
@media (max-width: 1280px) and (min-width: 1025px) {
  .cp-themeHeader__mainInner {
    grid-template-columns: 210px minmax(220px, 420px) auto; }
  .cp-themeHeader__searchWrap {
    max-width: 420px; }
  /* AUDIT FIX (phase 2.6): removed dead .cpMegaMenu__trigger/panel(--wide)
     responsive tweaks -- same dead system as above. */ }

@media (max-width: 1024px) {
  .cp-themeHeader__desktop,
  .cp-themeHeader__desktopOnly {
    display: none; }
  .cp-themeHeader__mobile {
    display: block !important; }
  .cp-themeHeader__top {
    display: none; }
  .bottomBar {
    display: block !important;
    z-index: 110 !important; }
  .bottomBar,
  .bottomBar .container,
  .bottomBar .navPages-container,
  .bottomBar .navPages,
  .bottomBar .navPages-list {
    visibility: visible;
    opacity: 1; } }

/* Fix oversized desktop logo */
.cp-themeHeader__logo img {
  height: 40px;
  width: auto;
  max-height: 40px; }

/* CritPro mobile logo size */
.cp-themeHeader__mobile .cp-themeHeader__mobileLogo img,
.cp-themeHeader__mobileLogo img {
  display: block;
  height: 40px;
  max-height: 40px;
  width: auto; }

/* =========================================================
   CritPro non-sticky header / mega menu guard
   ========================================================= */
.cp-themeHeader__nav,
.cp-themeHeader__navInner {
  overflow: visible !important; }

/* ===== MOBILE MENU ICONS + QUICK LINKS ===== */
@media (max-width: 1024px) {
  .cp-mobileQuick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 20px; }
  .cp-mobileQuick__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 10px;
    border: 1px solid #dbe4e7;
    border-radius: 12px;
    background: linear-gradient(180deg, #fbfcfc 0%, #f4f7f8 100%);
    color: #17323b;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.03); }
  .cp-mobileQuick__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #0f6a70;
    font-size: 12px;
    line-height: 1;
    font-weight: 800; }
  .cp-mobileQuick__text {
    white-space: nowrap; }
  /* AUDIT FIX (phase 2.6): removed dead .cp-navLead (bare) and .cp-navIcon
     rules -- confirmed unused, only .cp-navLead--withThumb + .cp-mobileNavThumb
     (below) and bare .cp-navText actually appear in header.html. */
  .cp-navText {
    display: inline-block; }
  .cp-themeHeader__mobileLinks a {
    position: relative; } }

/* ===== REAL CATEGORY IMAGE ICONS IN MOBILE MENU ===== */
@media (max-width: 1024px) {
  .cp-mobileQuick__item {
    gap: 0; }
  .cp-mobileQuick__icon {
    display: none; }
  .cp-mobileQuick__text {
    white-space: nowrap; }
  .cp-navLead--withThumb {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0; }
  .cp-mobileNavThumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    overflow: hidden;
    border: 1px solid #e4eeee;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #f6fbfb 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8); }
  .cp-mobileNavThumb img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain; }
  .cp-themeHeader__mobileLinks a .cp-navLead--withThumb {
    pointer-events: none; }
  .cp-themeHeader__mobileLinks a:active .cp-mobileNavThumb {
    background: linear-gradient(180deg, #eef7f7 0%, #e5f1f1 100%);
    border-color: #cfe3e5; } }

/* AUDIT FIX (phase 2.6): removed the .cp-kn-head/-sub/-deep "Knives
   mobile menu" rules -- scoped entirely under the dead
   .cp-themeHeader__accordionPanel, zero matches in header.html. */
/* =========================================================
   CritPro header refinements
   - larger logo desktop + mobile
   - thinner main nav bar
   - brands first in nav
   - no-JS nested flyout knives menu
   ========================================================= */
/* Desktop */
.cp-themeHeader__mainInner {
  min-height: 76px;
  grid-template-columns: 280px minmax(260px, 480px) auto; }

/* Logo size */
.cp-themeHeader__logo img {
  max-height: 74px; }

/* Nav bar height */
.cp-themeHeader__nav {
  border-top: 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  position: relative;
  z-index: 10; }

.cpMegaMenu__trigger {
  height: 40px;
  padding: 0 11px;
  font-size: 14px;
  white-space: nowrap; }

.cpMegaMenu__panel {
  top: 40px; }

/* Search */
.cp-themeHeader__searchInput,
.cp-themeHeader__searchButton {
  height: 44px; }

/* Header actions */
.cp-themeHeader__action {
  min-height: 40px; }

.cp-themeHeader__action--cart {
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px; }

/* Knives mega menu layout */
.cpMegaMenu__panel--knivesNested {
  width: 940px;
  overflow: visible; }

.cpMegaMenu__grid--3 {
  grid-template-columns: .92fr 1.18fr .9fr; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__col {
  overflow: visible; }

/* Nested links */
.cpMegaMenu__links--nested {
  position: relative; }

.cpMegaMenu__links--nested > li {
  margin-bottom: 8px; }

.cpMegaMenu__promo--compact {
  margin-top: 16px; }

/* No-JS hover flyouts */
.cpMegaMenu__flyout {
  position: relative; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout > a {
  display: block;
  position: relative;
  padding-right: 18px; }

.cpMegaMenu__arrow {
  font-size: 14px;
  line-height: 1;
  opacity: .9;
  color: #444;
  margin-left: 6px;
  flex: 0 0 auto;
  transition: transform .15s ease; }

.cpMegaMenu__subFlyout {
  display: none;
  position: absolute;
  top: -6px;
  left: calc(100% - 10px);
  min-width: 230px;
  padding: 12px 14px;
  margin: 0;
  list-style: none;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
  border-radius: 0;
  z-index: 30; }

.cpMegaMenu__subFlyout li {
  margin: 0; }

.cpMegaMenu__subFlyout a {
  display: block;
  padding: 6px 0;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
  white-space: nowrap; }

.cpMegaMenu__flyout:hover > .cpMegaMenu__subFlyout,
.cpMegaMenu__flyout:focus-within > .cpMegaMenu__subFlyout {
  display: block; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout > a::after {
  content: "›" !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #555 !important;
  opacity: 1 !important; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout:hover > a::after,
.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout:focus-within > a::after {
  color: #097276; }

/* Medium desktop */
@media (max-width: 1280px) and (min-width: 1025px) {
  .cp-themeHeader__mainInner {
    min-height: 74px;
    grid-template-columns: 250px minmax(220px, 420px) auto; }
  .cp-themeHeader__logo img {
    max-height: 68px; }
  .cpMegaMenu__trigger {
    height: 38px;
    padding: 0 10px;
    font-size: 13px; }
  .cpMegaMenu__panel {
    top: 38px; }
  .cpMegaMenu__panel--knivesNested {
    width: 880px; }
  .cpMegaMenu__grid--3 {
    grid-template-columns: .9fr 1.12fr .88fr; }
  .cpMegaMenu__subFlyout {
    min-width: 220px; } }

/* Mobile / tablet */
@media (max-width: 1024px) {
  .cp-themeHeader__mobileTop {
    min-height: 74px;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 10px;
    padding-top: 10px;
    padding-bottom: 10px; }
  .cp-themeHeader__mobileLogo {
    display: flex;
    align-items: center;
    min-width: 0; }
  .cp-themeHeader__mobileLogo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 60px !important; }
  .cp-themeHeader__mobileActions {
    gap: 8px;
    flex-shrink: 0; }
  .cp-themeHeader__mobileSearch {
    padding: 0 0 10px; }
  .cp-themeHeader__searchInput,
  .cp-themeHeader__searchButton {
    height: 42px; } }

/* Smaller phones */
@media (max-width: 640px) {
  .cp-themeHeader__container {
    padding-left: 12px;
    padding-right: 12px; }
  .cp-themeHeader__mobileTop {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 8px; }
  .cp-themeHeader__mobileLogo img {
    max-height: 56px !important; } }

/* Mobile nested category indentation */
@media (max-width: 1024px) {
  .cp-themeHeader__accordionPanel a {
    display: block;
    padding: 8px 16px; }
  .cp-themeHeader__accordionPanel a[href*="/assisted-opening/"],
  .cp-themeHeader__accordionPanel a[href*="/framelock-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/linerlock-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/lockback-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/traditional-knives/"] {
    padding-left: 28px; }
  .cp-themeHeader__accordionPanel a[href*="/gentleman-linerlocks/"],
  .cp-themeHeader__accordionPanel a[href*="/modern-edc-linerlocks/"],
  .cp-themeHeader__accordionPanel a[href*="/tactical-linerlocks/"],
  .cp-themeHeader__accordionPanel a[href*="/work-utility-linerlocks/"],
  .cp-themeHeader__accordionPanel a[href*="/barlow-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/congress-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/specialty-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/sod-buster-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/stockman-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/toothpick-knives/"],
  .cp-themeHeader__accordionPanel a[href*="/trapper-knives/"] {
    padding-left: 42px; } }

/* ===== FINAL MOBILE DRAWER TIGHTENING OVERRIDES ===== */
@media (max-width: 1024px) {
  .cp-themeHeader__drawer {
    width: 86vw !important;
    max-width: 372px !important;
    box-shadow: none !important; }
  .cp-themeHeader__drawer.is-open {
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.18) !important; }
  .cp-themeHeader__drawerHead {
    padding: 18px 16px 14px !important;
    border-bottom: 1px solid #e7edef !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfc 100%); }
  .cp-themeHeader__drawerTitle {
    font-size: 21px !important;
    line-height: 1.1;
    letter-spacing: -0.01em; }
  .cp-themeHeader__drawerBody {
    padding: 10px 16px 22px !important; }
  .cp-mobileQuick {
    gap: 8px !important;
    margin: 0 0 14px !important; }
  .cp-mobileQuick__item {
    min-height: 40px !important;
    height: 40px;
    padding: 0 8px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important; }
  .cp-themeHeader__mobileBlock + .cp-themeHeader__mobileBlock {
    margin-top: 18px !important;
    padding-top: 14px;
    border-top: 1px solid #e7edef; }
  .cp-themeHeader__mobileLabel {
    margin: 0 0 10px !important;
    padding-bottom: 5px;
    font-size: 15px !important;
    line-height: 1.1; }
  .cp-themeHeader__mobileLinks a,
  .cp-themeHeader__accordion summary {
    min-height: 48px;
    padding: 11px 0;
    font-size: 15px;
    line-height: 1.28; }
  .cp-navLead,
  .cp-navLead--withThumb {
    gap: 10px;
    width: 100%; }
  .cp-mobileNavThumb {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important; }
  .cp-mobileNavThumb img {
    width: 21px !important;
    height: 21px !important; }
  .cp-navText {
    line-height: 1.22; }
  .cp-themeHeader__accordionIcon {
    margin-left: 6px;
    font-size: 10px; }
  .cp-themeHeader__accordionPanel {
    padding: 2px 0 8px; }
  .cp-themeHeader__accordionPanel a {
    padding: 7px 0 7px 42px !important;
    font-size: 13px;
    line-height: 1.35;
    color: #607078; }
  .cp-themeHeader__drawerClose {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    min-height: 40px;
    border-radius: 11px !important;
    font-size: 24px;
    line-height: 1; } }

/* CritPro nav bar black background */
.cp-themeHeader__nav {
  background: #000 !important; }

.cpMegaMenu__item:hover > .cpMegaMenu__trigger,
.cpMegaMenu__item:focus-within > .cpMegaMenu__trigger {
  background: #1a1a1a;
  color: #fff; }

/* =========================================================
   CritPro desktop flyout cleanup
   - single visible arrow next to text
   - flyout positioned much closer to parent link
   ========================================================= */
.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout {
  position: relative; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout > a {
  display: inline-flex !important;
  align-items: center;
  position: relative;
  padding-right: 0 !important; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout > a .cpMegaMenu__arrow {
  display: none; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout > a::after {
  content: "›" !important;
  position: static !important;
  display: inline-block !important;
  margin-left: 6px;
  transform: none !important;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1;
  color: #2f3a3d !important;
  opacity: 1 !important; }

.cpMegaMenu__panel--knivesNested .cpMegaMenu__subFlyout {
  top: -6px;
  left: 150px !important;
  min-width: 230px; }

@media (max-width: 1280px) and (min-width: 1025px) {
  .cpMegaMenu__panel--knivesNested .cpMegaMenu__flyout > a::after {
    font-size: 17px !important; }
  .cpMegaMenu__panel--knivesNested .cpMegaMenu__subFlyout {
    left: 138px !important;
    min-width: 220px; } }

/* =========================================================
   CritPro nav trigger cleanup
   - no arrowheads on desktop top nav
   - parent nav items open mega menu instead of navigating
   ========================================================= */
.cpMegaMenu__caret {
  display: none; }

.cpMegaMenu__trigger[type="button"] {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  cursor: pointer; }

.cpMegaMenu__trigger[type="button"]:focus {
  outline: none; }

.cpMegaMenu__trigger[type="button"]::-moz-focus-inner {
  border: 0; }

/* =========================================================
   CritPro nav width adjustment
   - added Watches and Wood Carving to top nav
   - tighter spacing so desktop nav still fits cleanly
   ========================================================= */
.cpMegaMenu__trigger {
  padding-left: 9px;
  padding-right: 9px; }

@media (max-width: 1280px) and (min-width: 1025px) {
  .cpMegaMenu__trigger {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12.5px; } }

/* Formerly one 1,980-line file (49-critpro-desktop-mega-menu-right-edge-fix.scss).
   Split into focused, honestly-named partials -- audit cleanup, same cascade order. */
/* ============================================================
   Header / homepage spacing fix
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   Keeps the homepage hero flush beneath the header/nav.
   ============================================================ */
/* ========================================================================== 
   CRITPRO RESPONSIVE CATEGORY MEGA MENU
   File 49

   - Uses the live BigCommerce category tree rendered by header.html.
   - Applies one system to every top-level category.
   - Keeps the white panel aligned to the homepage content width.
   - Centers short category grids without stretching their columns.
   - Avoids Sass min(), max(), and clamp() mixed-unit lint errors.
   ========================================================================== */
/* Keep the homepage hero flush beneath the header/navigation. */
body.page-type-default .body,
body.page-type-default #main-content,
body.page-type-default .main.full {
  margin-top: 0;
  padding-top: 0; }

body.page-type-default .cp-themeHeader {
  margin-bottom: 0; }

/* ============================================================
   Desktop mega menu -- core layout, trigger, panel, columns
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).

   AUDIT FIX (phase 2.5): removed the dead .cpMegaMenu__dynamicGrid /
   .cpMegaMenu__dynamicCol / .cpMegaMenu__heading / .cpMegaMenu__eyebrow
   rules and the bare (unmodified) .cpMegaMenu__links / .cpMegaMenu__linkItem /
   .cpMegaMenu__level4 rules that were flagged in phase 2 -- confirmed
   against header.html that none of these classes are rendered; the
   desktop panel renders via .cpMegaMenu__subFlyoutList instead. See
   the audit changelog for the full removal list across all files.
   ============================================================ */
@media (min-width: 1025px) {
  .cp-themeHeader__nav,
  .cp-themeHeader__navInner {
    overflow: visible; }
  .cp-themeHeader__navInner {
    position: relative;
    display: flex;
    justify-content: center;
    max-width: 1440px;
    margin: 0 auto;
    padding-right: 12px;
    padding-left: 12px;
    box-sizing: border-box; }
  .cpMegaMenu--dynamic {
    position: static;
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    white-space: nowrap; }
  .cpMegaMenu--dynamic > .cpMegaMenu__item {
    position: static;
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0; }
  .cpMegaMenu--dynamic .cpMegaMenu__trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 44px;
    margin: 0;
    padding: 0 9px;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer; }
  .cpMegaMenu--dynamic .cpMegaMenu__trigger:hover,
  .cpMegaMenu--dynamic .cpMegaMenu__trigger:focus,
  .cpMegaMenu--dynamic .cpMegaMenu__item.is-open > .cpMegaMenu__trigger {
    color: #ffffff;
    background: #075d61;
    outline: 0; }
  .cpMegaMenu__panel--dynamic {
    position: absolute;
    top: 100%;
    left: 50%;
    right: auto;
    width: calc(100vw - 48px);
    max-width: 1120px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;
    background: #ffffff;
    border: 1px solid #dfe7e8;
    border-top: 4px solid #097276;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 18px 42px rgba(16, 40, 48, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 8px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
    z-index: 1005; }
  .cpMegaMenu__item:hover > .cpMegaMenu__panel--dynamic,
  .cpMegaMenu__item:focus-within > .cpMegaMenu__panel--dynamic,
  .cpMegaMenu__item.is-open > .cpMegaMenu__panel--dynamic {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0); }
  .cpMegaMenu__panelInner {
    max-height: none;
    overflow: visible;
    padding: 0 24px 22px;
    box-sizing: border-box;
    scrollbar-width: thin; }
  .cpMegaMenu__categoryIntro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 -24px 14px;
    padding: 11px 24px;
    background: #f5f9f9;
    border-bottom: 1px solid #dfe7e8; }
  .cpMegaMenu__categoryIntro > div {
    min-width: 0; }
  .cpMegaMenu__categoryIntro strong {
    display: block;
    color: #17323b;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    white-space: normal; }
  .cpMegaMenu__categoryIntro > a {
    flex: 0 0 auto;
    padding: 10px 15px;
    color: #097276;
    border: 1px solid #b7cdcf;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap; }
  .cpMegaMenu__categoryIntro > a:hover,
  .cpMegaMenu__categoryIntro > a:focus {
    color: #ffffff;
    background: #097276;
    border-color: #097276; } }

@media (min-width: 1025px) and (max-width: 1240px) {
  .cpMegaMenu--dynamic .cpMegaMenu__trigger {
    padding-right: 6px;
    padding-left: 6px;
    font-size: 12px; }
  .cpMegaMenu__panel--dynamic {
    width: calc(100vw - 28px); } }

/* ============================================================
   Mobile navigation -- tree / mega skeleton
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   ============================================================ */
@media (max-width: 1024px) {
  .cpMobileMenu {
    margin: 0;
    padding: 0; }
  .cpMobileTree,
  .cpMobileTree__single {
    display: block;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    border: 0;
    border-bottom: 1px solid #e3e9ea;
    background: #ffffff; }
  .cpMobileTree > summary,
  .cpMobileTree__single {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    margin: 0;
    padding: 11px 14px;
    box-sizing: border-box;
    color: #17323b;
    background: #ffffff;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.3;
    text-decoration: none;
    cursor: pointer;
    list-style: none; }
  .cpMobileTree > summary::-webkit-details-marker {
    display: none; }
  .cpMobileTree__label {
    min-width: 0;
    padding-right: 10px; }
  .cpMobileTree__icon {
    position: relative;
    flex: 0 0 22px;
    width: 22px;
    height: 22px; }
  .cpMobileTree__icon::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 7px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #097276;
    border-bottom: 2px solid #097276;
    transform: rotate(45deg);
    transition: transform 0.15s ease, top 0.15s ease; }
  .cpMobileTree[open] > summary > .cpMobileTree__icon::before {
    top: 9px;
    transform: rotate(225deg); }
  .cpMobileTree[open] > summary {
    color: #075d61;
    background: #f2f8f8; }
  .cpMobileMega {
    margin: 0;
    padding: 0 0 7px;
    background: #f8fbfb;
    border-top: 1px solid #e3e9ea; }
  .cpMobileMega__all,
  .cpMobileMega__parentLink,
  .cpMobileMega__direct,
  .cpMobileMega__level4 > a {
    display: flex;
    align-items: center;
    min-height: 42px;
    box-sizing: border-box;
    text-decoration: none; }
  .cpMobileMega__all {
    justify-content: flex-start;
    gap: 6px;
    padding: 8px 14px;
    min-height: 34px;
    color: #097276;
    background: transparent;
    border-bottom: 1px solid #dfe9e9;
    font-size: 12.5px;
    font-weight: 800; }
  .cpMobileTree--child,
  .cpMobileTree--grandchild {
    border-bottom-color: #e7eded;
    background: transparent; }
  .cpMobileTree--child > summary {
    min-height: 44px;
    padding: 10px 18px;
    color: #29464f;
    background: #f8fbfb;
    font-size: 14px;
    font-weight: 700; }
  .cpMobileTree--grandchild > summary {
    min-height: 42px;
    padding: 9px 22px;
    color: #3e5961;
    background: #ffffff;
    font-size: 13.5px;
    font-weight: 650; }
  .cpMobileMega__children,
  .cpMobileMega__level4 {
    margin: 0;
    padding: 3px 0 5px;
    background: #ffffff;
    border-top: 1px solid #edf1f1; }
  .cpMobileMega__parentLink {
    padding: 8px 22px;
    color: #097276;
    font-size: 12.5px;
    font-weight: 800; }
  .cpMobileMega__direct {
    padding: 8px 22px;
    color: #435d65;
    border-top: 1px solid #f0f3f3;
    font-size: 13.5px;
    font-weight: 600; }
  .cpMobileMega__direct--top {
    padding-left: 18px;
    background: #f8fbfb;
    font-size: 14px;
    font-weight: 700; }
  .cpMobileMega__level4 > a {
    padding: 7px 28px;
    color: #596f76;
    border-top: 1px solid #f2f4f4;
    font-size: 13px;
    font-weight: 550; }
  .cpMobileTree__single {
    justify-content: flex-start; } }

/* ============================================================
   Mobile quick links + V11 desktop flyout overflow fix
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   ============================================================ */
/* Mobile quick links and category artwork */
/* Mobile quick links and nested navigation ------------------------------- */
@media (max-width: 1024px) {
  .cp-mobileQuick--three {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px; }
  .cp-mobileQuick--three .cp-mobileQuick__item {
    min-width: 0;
    justify-content: center;
    text-align: center; }
  .cpMobileTree--child > summary,
  .cpMobileTree--grandchild > summary {
    padding-right: 14px; }
  .cpMobileMega__direct--top,
  .cpMobileTree--child > summary {
    padding-left: 18px; }
  .cpMobileMega__direct,
  .cpMobileMega__parentLink,
  .cpMobileTree--grandchild > summary {
    padding-left: 24px; }
  .cpMobileMega__level4 > a {
    padding-left: 32px; } }

/* V11: visible desktop flyouts and restored mobile category artwork.
   AUDIT FIX (phase 2.5): dropped .cpMegaMenu__dynamicGrid, .cpMegaMenu__dynamicCol,
   .cpMegaMenu__links, and the .cpMegaMenu__level4 { z-index } rule below --
   confirmed dead, see _63-desktop-mega-menu-core.scss for the full note. */
@media (min-width: 1025px) {
  .cpMegaMenu__panel--dynamic,
  .cpMegaMenu__panelInner {
    overflow: visible; } }

@media (max-width: 1024px) {
  .cp-mobileQuick--three {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cpMobileTree > summary,
  .cpMobileTree__single {
    gap: 10px; }
  .cpMobileTree__thumb {
    display: flex;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #dfe7e8;
    border-radius: 8px; }
  .cpMobileTree__thumb:empty {
    display: none; }
  .cpMobileTree__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain; }
  .cpMobileTree__label {
    flex: 1 1 auto;
    min-width: 0; }
  .cpMobileTree--child .cpMobileTree__thumb,
  .cpMobileTree--grandchild .cpMobileTree__thumb {
    display: none; } }

/* ============================================================
   Level-4 flyouts
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   Levels 1-3 remain visible. Generated Level-4 lists fly out on
   desktop and expand inline on mobile.
   ============================================================ */
/* ==========================================================================
   LEVEL-4 FLYOUTS
   Levels 1-3 remain visible. Generated Level-4 lists fly out on desktop and
   expand inline on mobile.
   ========================================================================== */
@media (min-width: 1025px) {
  /* AUDIT FIX (phase 2.5): dropped the dead .cpMegaMenu__dynamicGrid /
       .cpMegaMenu__dynamicCol / .cpMegaMenu__links selectors from this
       list, and the dead ".cpMegaMenu__dynamicCol > .cpMegaMenu__heading"
       rule that followed it -- confirmed unused, see
       _63-desktop-mega-menu-core.scss for the full note. */
  .cpMegaMenu__panel--dynamic,
  .cpMegaMenu__panel--dynamic .cpMegaMenu__panelInner {
    overflow: visible; }
  /* AUDIT FIX (phase 2.5): removed an entire dead level-4 flyout
       implementation that used to live here -- .cpMegaMenu__linkItem--staticLevel4,
       .cpMegaMenu__level4Toggle--static, and .cpMegaMenu__level4Flyout--static
       (plus the .cpMegaMenu__dynamicCol:nth-child(5n+4/5n+5) positioning rules
       for a 5-column grid that no longer exists). None of these classes appear
       anywhere in header.html. The live level-4 flyout system is
       .cpMegaMenu__flyout / .cpMegaMenu__subFlyout / .cpMegaMenu__level4Static,
       already fully styled in _69-nav-overrides-consolidated.scss -- this was
       a fully superseded, self-contained older implementation left behind. */ }

@media (max-width: 1024px) {
  .cpMobileMega__level3Row {
    position: relative;
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #e7eded; }
  .cpMobileMega__level3Row > .cpMobileMega__direct {
    flex: 1 1 auto;
    min-width: 0;
    border-bottom: 0; }
  /* AUDIT FIX (phase 2.5): removed .cpMobileLevel4Static rules (a
       collapsible <details> toggle for mobile level-4) -- confirmed
       dead, zero occurrences in header.html. The live mobile level-4
       content just renders inline via .cpMobileMega__level4--static,
       styled below. */
  .cpMobileMega__level4--static {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 5;
    padding: 4px 10px 8px 28px;
    background: #f8fbfb;
    border-top: 1px solid #e4ebec;
    box-shadow: 0 8px 14px rgba(16, 40, 48, 0.08); }
  /* SECTION-LEVEL TOGGLE (level 2 -> level 3)
       This is a SEPARATE class from .cpMobileLevel4Static on purpose.
       Mirrors that exact working pattern (base rules here, plus the
       matching "expansion correction" media query below) instead of
       just copying the base rules alone — the real fix depends on
       both halves working together. */
  .cpMobileMega__sectionRow {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%; }
  .cpMobileMega__sectionToggle {
    position: static;
    flex: 0 0 44px;
    margin: 0;
    border: 0; }
  .cpMobileMega__sectionToggle > summary {
    display: flex;
    width: 44px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0;
    list-style: none;
    cursor: pointer; }
  .cpMobileMega__sectionToggle > summary::-webkit-details-marker {
    display: none; }
  .cpMobileMega__sectionToggle[open] > summary .cpMobileTree__icon::before {
    transform: rotate(225deg); } }

/* Mobile inline Level-4 expansion correction */
@media (max-width: 1024px) {
  .cpMobileMega__level3Row {
    flex-wrap: wrap; }
  .cpMobileMega__level3Row > .cpMobileMega__direct {
    padding-right: 48px; }
  .cpMobileMega__level4--static {
    position: static;
    width: 100%;
    box-shadow: none; }
  /* Same correction, applied to the section-level toggle */
  .cpMobileMega__sectionRow {
    flex-wrap: wrap; }
  .cpMobileMega__sectionHeading {
    padding-right: 48px; }
  .cpMobileMega__sectionToggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px; }
  .cpMobileMega__sectionToggle[open] {
    position: static;
    flex: 0 0 100%;
    width: 100%; }
  .cpMobileMega__sectionToggle[open] > summary {
    position: absolute;
    top: 0;
    right: 0; }
  .cpMobileMega__sectionBody {
    position: static;
    width: 100%; } }

/* AUDIT FIX (phase 2.5): removed the "Desktop Level-4 icon reset" and
   "Desktop Level-4 chevron alignment and control" blocks that used to
   live here, plus every .cpMobileLevel4Static reference in the mobile
   disclosure-icon rules below -- .cpMegaMenu__level4Toggle (bare and
   --static), .cpMegaMenu__linkItem--hasLevel4/--staticLevel4,
   .cpMegaMenu__linkRow, and .cpMobileLevel4Static are all confirmed
   dead (zero matches in header.html; the desktop toggle/expand JS
   that targets them has no matching markup to attach to either). */
/* Unified mobile disclosure icons. */
@media (max-width: 1024px) {
  .cpMobileTree__icon {
    position: relative !important;
    display: inline-flex;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    overflow: visible;
    border: 1px solid #d9e5e6;
    border-radius: 8px;
    background: #f8fbfb;
    box-shadow: none;
    transform: none;
    transition: background-color 0.16s ease, border-color 0.16s ease !important; }
  /* Completely suppress any older duplicate icon layer. */
  .cpMobileTree__icon::after {
    content: none;
    display: none; }
  /* One slim CSS chevron only. */
  .cpMobileTree__icon::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block;
    width: 7px !important;
    height: 7px !important;
    margin: 0;
    border: 0;
    border-right: 1.75px solid #097276 !important;
    border-bottom: 1.75px solid #097276 !important;
    background: transparent;
    transform: translate(-50%, -66%) rotate(45deg) !important;
    transform-origin: center;
    transition: transform 0.18s ease !important; }
  /* Top-level and normal nested details: point upward when open. */
  .cpMobileTree[open] > summary > .cpMobileTree__icon {
    border-color: #b9d3d5;
    background: #edf6f6;
    transform: none; }
  .cpMobileTree[open] > summary > .cpMobileTree__icon::before {
    transform: translate(-50%, -34%) rotate(225deg) !important; }
  .cpMobileTree > summary:hover .cpMobileTree__icon,
  .cpMobileTree > summary:focus-visible .cpMobileTree__icon {
    border-color: #a8c9cb;
    background: #f0f7f7; } }

/* ============================================================
   Final navigation typography & interaction polish
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   ============================================================ */
/* ==========================================================================
   FINAL NAVIGATION TYPOGRAPHY & INTERACTION POLISH
   Keeps section titles distinct from category links, removes inherited link
   underlines, and improves visual hierarchy on desktop and mobile.
   ========================================================================== */
/* AUDIT FIX (phase 2.5): removed an entire dead @media (min-width: 1025px)
   block that used to live here -- department heading, level-3 link, and
   level-4 flyout-title styling all built on .cpMegaMenu__dynamicCol,
   .cpMegaMenu__heading, bare .cpMegaMenu__links/.cpMegaMenu__linkItem,
   .cpMegaMenu__linkRow, and .cpMegaMenu__level4FlyoutTitle -- none of
   which appear in header.html. See _63-desktop-mega-menu-core.scss and
   _66-level4-flyouts.scss for the rest of this dead system. */
@media (max-width: 1024px) {
  /* Level-2 mobile section headings, e.g. Marine Plumbing */
  .cpMobileMega__section {
    margin: 0;
    padding: 0;
    border: 0; }
  .cpMobileMega__sectionHeading {
    display: block;
    position: relative;
    margin: 0;
    padding: 12px 46px 11px 16px;
    color: #17323b !important;
    background: #f3f8f8;
    border-top: 1px solid #dfe9ea;
    border-bottom: 1px solid #d7e4e5;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none !important;
    letter-spacing: 0.005em; }
  .cpMobileMega__sectionHeading::before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 7px;
    width: 3px;
    border-radius: 3px;
    background: #097276; }
  .cpMobileMega__sectionHeading:hover,
  .cpMobileMega__sectionHeading:focus-visible {
    color: #075d61;
    background: #edf6f6;
    text-decoration: none;
    outline: 0; }
  /* Level-3 rows */
  .cpMobileMega__sectionBody {
    margin: 0;
    padding: 0;
    background: #ffffff; }
  .cpMobileMega__level3Row > .cpMobileMega__direct {
    min-height: 44px;
    padding-top: 11px;
    padding-bottom: 11px;
    color: #3d5961;
    font-size: 13.5px;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none; }
  .cpMobileMega__level3Row > .cpMobileMega__direct:hover,
  .cpMobileMega__level3Row > .cpMobileMega__direct:focus-visible {
    color: #075d61;
    background: #f5f9f9;
    text-decoration: none;
    outline: 0; }
  /* Level-4 links */
  .cpMobileMega__level4--static a {
    color: #526a72;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none; }
  .cpMobileMega__level4--static a:hover,
  .cpMobileMega__level4--static a:focus-visible {
    color: #075d61;
    background: #eef6f6;
    text-decoration: none;
    outline: 0; } }

/* ============================================================
   Mega menu footer (View All / Shop by category) + top spacing
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   Includes the V23 footer treatment and the V26 spacing tweak.
   ============================================================ */
/* ==========================================================================
   V23: Mega-menu footer
   Keeps category columns first and places "Shop by category" plus the
   canonical "Shop All" action in a restrained footer at the bottom.
   ========================================================================== */
@media (min-width: 1025px) {
  .cpMegaMenu__panelInner {
    padding-bottom: 0; }
  .cpMegaMenu__categoryIntro {
    align-items: center;
    margin: 18px -24px 0;
    padding: 13px 24px 14px;
    background: #f5f9f9;
    border-top: 1px solid #dfe7e8;
    border-bottom: 0; }
  .cpMegaMenu__categoryIntro > div {
    display: flex;
    align-items: baseline;
    gap: 9px; }
  .cpMegaMenu__categoryIntro strong {
    font-size: 14px; } }

@media (min-width: 1025px) {
  .cpMegaMenu__categoryIntro {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 14px 24px;
    margin: 18px -24px 0;
    background: #f7f9fa;
    border-top: 1px solid #dfe7e9; }
  .cpMegaMenu__viewAll {
    font-weight: 700;
    font-size: 14px;
    color: #097276;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px; }
  .cpMegaMenu__viewAll:hover {
    color: #015c5f; }
  .cpMegaMenu__viewAll span {
    transition: transform .18s ease; }
  .cpMegaMenu__viewAll:hover span {
    transform: translateX(3px); } }

/* AUDIT FIX (phase 2.5): removed the "V26 - Top spacing above desktop
   category headings" block that used to live here -- it only targeted
   .cpMegaMenu__dynamicGrid, which is dead (see _63-desktop-mega-menu-core.scss).
   Its own comment was already stale, claiming dynamicGrid was "the live
   menu" -- it wasn't, by the time this rule was written. */
/* =====================================================
   SIMPLE LIST + RECURSIVE FLYOUT (replaces the wide
   multi-column dynamicGrid for every dynamic category).
   The old grid sized its whole row to match the TALLEST
   column, which is unfixable through CSS alone once a
   category has many children with very uneven amounts of
   their own sub-items — that's what was causing the messy,
   uneven layout on wide categories like Boat Outfitting.
   A single narrow list with cascading flyouts for anything
   deeper has no such row-height problem, at any depth, for
   any category, automatically.
   ===================================================== */
@media (min-width: 1025px) {
  .cpMegaMenu__panel--dynamicList {
    width: 300px;
    padding: 10px 0; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__panelInner {
    padding: 0 16px; }
  .cpMegaMenu__subFlyoutList,
  .cpMegaMenu__subFlyoutList--top {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cpMegaMenu__subFlyoutList--top > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px;
    color: #17323b;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 6px; }
  .cpMegaMenu__subFlyoutList--top > li > a:hover,
  .cpMegaMenu__subFlyoutList--top > li > a:focus {
    color: #097276;
    background: #f2f8f8; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #e7edee; } }

/* ============================================================
   Final optimized navigation overrides
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   Consolidates the former V13/V14/V15 and final-polish blocks, plus
   the simple-list + recursive-flyout system that replaced the old
   multi-column dynamicGrid layout for dynamic categories.
   ============================================================ */
/* ==========================================================================
   FINAL OPTIMIZED NAVIGATION OVERRIDES
   Consolidates the former V13/V14/V15 and final-polish blocks.
   ========================================================================== */
/* ------------------------------
   Desktop cascading navigation
   ------------------------------ */
@media (min-width: 1025px) {
  .cpMegaMenu--dynamic > .cpMegaMenu__item {
    position: relative; }
  /* Level 2 panel: wider so long department names fit comfortably. */
  .cpMegaMenu__panel--dynamicList {
    display: none;
    left: 0;
    right: auto;
    width: 350px;
    transform: translateY(8px);
    overflow: visible; }
  .cpMegaMenu__item:hover > .cpMegaMenu__panel--dynamicList,
  .cpMegaMenu__item:focus-within > .cpMegaMenu__panel--dynamicList,
  .cpMegaMenu__item.is-open > .cpMegaMenu__panel--dynamicList {
    display: block;
    transform: translateY(0); }
  .cpMegaMenu__panel--dynamicList.cpMegaMenu__panel--alignRight {
    right: 0;
    left: auto; }
  .cpMegaMenu__panel--dynamicList.cpMegaMenu__panel--alignLeft {
    right: auto;
    left: 0; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__panelInner,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__subFlyoutList,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__flyout {
    overflow: visible; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__flyout {
    position: relative; }
  /* Modern, readable disclosure chevrons. */
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    margin-left: 10px;
    color: #29464f;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    opacity: 1;
    transform: translateY(-1px); }
  /* Level 3 flyout: slightly narrower than Level 2, with larger text. */
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__subFlyout {
    display: none;
    top: -8px;
    right: auto;
    left: calc(100% - 4px);
    width: 310px;
    min-width: 310px;
    max-width: 340px;
    padding: 10px 12px;
    overflow: visible;
    background: #fff;
    border: 1px solid #dfe7e8;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(16, 40, 48, 0.16);
    box-sizing: border-box;
    z-index: 2200; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__flyout:hover > .cpMegaMenu__subFlyout,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__flyout:focus-within > .cpMegaMenu__subFlyout {
    display: block; }
  .cpMegaMenu__panel--dynamicList
.cpMegaMenu__flyout.cpMegaMenu__flyout--opensLeft
> .cpMegaMenu__subFlyout {
    right: calc(100% - 4px);
    left: auto; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__subFlyoutList > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    color: #334d55;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__subFlyoutList > li > a:hover,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__subFlyoutList > li > a:focus-visible {
    color: #075d61;
    background: #edf6f6;
    outline: 0; }
  /* Level 4 is displayed inline beneath its Level 3 parent. */
  .cpMegaMenu__hasStaticLevel4 {
    position: static; }
  .cpMegaMenu__level4Static {
    display: block;
    position: static;
    width: auto;
    min-width: 0;
    margin: 3px 0 7px 10px;
    padding: 2px 0 2px 10px;
    list-style: none;
    background: transparent;
    border: 0;
    border-left: 1px solid #d9e4e5;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none; }
  .cpMegaMenu__level4Static .cpMegaMenu__level4Item {
    margin: 0;
    padding: 0;
    border: 0; }
  .cpMegaMenu__level4Static .cpMegaMenu__level4Item > a {
    display: block;
    padding: 5px 6px;
    color: #60757b;
    background: transparent;
    border: 0;
    border-radius: 3px;
    font-size: 12.5px;
    font-weight: 550;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal; }
  .cpMegaMenu__level4Static .cpMegaMenu__level4Item > a:hover,
  .cpMegaMenu__level4Static .cpMegaMenu__level4Item > a:focus-visible {
    color: #075d61;
    background: #f0f7f7; }
  .cpMegaMenu__level4Static--manual {
    display: block; }
  /* Compact View All footer. */
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro {
    display: flex;
    justify-content: flex-end !important;
    width: auto;
    margin: 8px 0 0;
    padding: 12px 0 2px;
    background: transparent;
    border-top: 1px solid #e2e9ea !important;
    border-bottom: 0; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__viewAll {
    width: auto;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid #b7cdcf;
    border-radius: 999px;
    background: #fff;
    box-sizing: border-box;
    white-space: nowrap; } }

/* ------------------------------
   Mobile hierarchy
   ------------------------------ */
@media (max-width: 1024px) {
  .cpMobileTree__thumb,
  .cpMobileTree__thumb--empty {
    display: none; }
  .cpMobileTree > summary,
  .cpMobileTree__single {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 8px;
    min-height: 50px;
    padding: 8px 14px;
    color: #203941 !important;
    background: #eef3f4 !important;
    border-bottom: 1px solid #d8e1e2;
    font-weight: 800 !important; }
  .cpMobileTree__single {
    grid-template-columns: minmax(0, 1fr); }
  .cpMobileTree[open] > summary {
    color: #17323b !important;
    background: #e5edef !important; }
  .cpMobileTree__label {
    min-width: 0;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.25; }
  .cpMobileMega {
    padding-top: 0;
    background: #fff;
    border-top: 0; }
  .cpMobileMega__section {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border: 0 !important;
    border-bottom: 1px solid #e5ebec; }
  .cpMobileMega__sectionRow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: stretch;
    min-height: 46px;
    background: #fff; }
  .cpMobileMega__sectionHeading {
    display: flex !important;
    align-items: center;
    min-height: 46px;
    margin: 0 !important;
    padding: 10px 8px 10px 18px !important;
    color: #344e56 !important;
    background: #fff !important;
    border: 0;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25;
    text-decoration: none !important; }
  .cpMobileMega__sectionHeading::before {
    content: none !important;
    display: none; }
  .cpMobileMega__sectionToggle {
    position: static !important;
    width: 42px !important;
    min-width: 42px;
    margin: 0 !important;
    padding: 0;
    background: #fff;
    border: 0 !important;
    border-left: 1px solid #e4ebec; }
  .cpMobileMega__sectionToggle > summary {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px !important;
    min-width: 42px;
    min-height: 46px !important;
    padding: 0 !important;
    background: transparent;
    border: 0;
    list-style: none; }
  .cpMobileMega__sectionToggle[open] {
    position: relative !important;
    display: block;
    width: 100% !important;
    grid-template-columns: none;
    background: #f8fbfb;
    border-top: 1px solid #e3eaeb; }
  .cpMobileMega__sectionToggle[open] > summary {
    position: absolute !important;
    top: -43px !important;
    right: 0 !important;
    z-index: 2;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0; }
  .cpMobileMega__sectionToggle[open] > .cpMobileMega__sectionBody {
    display: block;
    width: 100%;
    padding: 0 0 6px;
    background: #fafcfc;
    box-sizing: border-box; }
  .cpMobileMega__level3Row {
    display: block !important;
    width: 100%;
    margin: 0;
    background: #fafcfc;
    border-bottom: 1px solid #e5ebec !important;
    box-sizing: border-box; }
  .cpMobileMega__level3Row > .cpMobileMega__direct {
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 10px 14px 10px 22px;
    color: #425b63 !important;
    background: #fafcfc;
    border: 0;
    box-sizing: border-box;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .cpMobileMega__level3Row > .cpMobileMega__level4--static {
    display: block;
    width: auto;
    margin: 0 10px 7px 22px;
    padding: 3px 0 3px 10px;
    background: #fff;
    border: 0;
    border-left: 1px solid #dbe5e6; }
  .cpMobileMega__level3Row > .cpMobileMega__level4--static > a {
    display: block;
    min-height: 0;
    padding: 6px 8px;
    color: #65787e;
    background: transparent;
    border: 0;
    border-radius: 3px;
    font-size: 12.5px;
    font-weight: 550;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; } }

/* ============================================================
   Final desktop footer / mobile section-row patches (V17-V18)
   Split out of the old "file 49" mega-menu catch-all (audit cleanup).
   ============================================================ */
/* ==========================================================================
   V17 - Final desktop footer, knife Level 4, and mobile Knives correction
   ========================================================================== */
/* Center the desktop View All control and enlarge manually mapped knife Level 4. */
@media (min-width: 1025px) {
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro {
    justify-content: center !important; }
  .cpMegaMenu__level4Static--manual .cpMegaMenu__level4Item > a {
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3; } }

/*
 * When a mobile Level 2 section opens, its <details> element must span
 * the entire row rather than remaining trapped in the 42px chevron column.
 */
@media (max-width: 1024px) {
  .cpMobileMega__sectionRow {
    position: relative !important; }
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open]) {
    display: block;
    width: 100%; }
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open])
> .cpMobileMega__sectionHeading {
    display: flex;
    width: 100%;
    padding-right: 56px;
    box-sizing: border-box; }
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open])
> .cpMobileMega__sectionToggle {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    border-left: 0; }
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open])
> .cpMobileMega__sectionToggle
> summary {
    position: absolute;
    top: 2px;
    right: 0;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    z-index: 3; }
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open])
.cpMobileMega__sectionBody {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 6px;
    box-sizing: border-box; }
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open])
.cpMobileMega__level3Row,
  .cpMobileMega__sectionRow:has(> .cpMobileMega__sectionToggle[open])
.cpMobileMega__level3Row > .cpMobileMega__direct {
    width: 100%;
    min-width: 0;
    max-width: none; } }

/* ==========================================================================
   V18 - Manually mapped knife Level 4 on mobile
   ========================================================================== */
@media (max-width: 1024px) {
  .cpMobileMega__level4--manual {
    display: block; }
  .cpMobileMega__level4--manual > a {
    white-space: normal;
    overflow: visible;
    text-overflow: clip; } }

/* ========================================================================== 
   V18 - View All button contrast correction
   Keeps the desktop mega-menu footer link readable in every interaction state.
   ========================================================================== */
@media (min-width: 1025px) {
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:link,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:visited {
    color: #097276;
    background: #ffffff;
    border-color: #b7cdcf;
    text-decoration: none; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll span {
    color: currentColor; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:hover,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:focus,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:focus-visible,
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:active {
    color: #ffffff;
    background: #097276;
    border-color: #097276;
    text-decoration: none; }
  .cpMegaMenu__panel--dynamicList .cpMegaMenu__categoryIntro .cpMegaMenu__viewAll:focus-visible {
    outline: 2px solid #d6a33a;
    outline-offset: 2px; } }

/* Cart / mini-cart */
/* ============================================================
   CritPro cart and mini-cart overrides
   Import order preserved from the original flat import list.
   ============================================================ */
/* ============================================================
   CRITPRO CART PAGE BUTTON REPLACEMENT
   - Black primary checkout button
   - PayPal sized to match
   - Buttons right-aligned under totals
   - Secondary buttons de-emphasized
   ============================================================ */
body.page-type-cart {
  /* -----------------------------
     Primary / secondary buttons
     ----------------------------- */
  /* -----------------------------
     Quantity buttons
     ----------------------------- */
  /* -----------------------------
     Cart totals action area
     ----------------------------- */
  /* -----------------------------
     PayPal / express checkout
     ----------------------------- */
  /* -----------------------------
     Misc cart form buttons
     ----------------------------- */ }
  body.page-type-cart .cart-actions .button--primary {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 10px 16px;
    margin: 0;
    float: none !important;
    background: #000;
    border: 1px solid #000;
    color: #fff;
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .2px;
    text-transform: none;
    text-align: center; }
  body.page-type-cart .cart-actions .button--primary:hover,
  body.page-type-cart .cart-actions .button--primary:focus,
  body.page-type-cart .cart-actions .button--primary:active {
    background: #222;
    border-color: #222;
    color: #fff; }
  body.page-type-cart .cart .button:not(.button--primary):not(.button--icon),
  body.page-type-cart .cart-actions .button:not(.button--primary),
  body.page-type-cart .cart-totals .button:not(.button--primary),
  body.page-type-cart .shipping-estimator .button:not(.button--primary),
  body.page-type-cart .coupon-code-add .button:not(.button--primary),
  body.page-type-cart .gift-certificate-add .button:not(.button--primary) {
    background: #fff;
    border: 1px solid #d3d7da;
    color: #333;
    border-radius: 0;
    box-shadow: none; }
  body.page-type-cart .cart .button:not(.button--primary):not(.button--icon):hover,
  body.page-type-cart .cart .button:not(.button--primary):not(.button--icon):focus,
  body.page-type-cart .cart-actions .button:not(.button--primary):hover,
  body.page-type-cart .cart-actions .button:not(.button--primary):focus,
  body.page-type-cart .cart-totals .button:not(.button--primary):hover,
  body.page-type-cart .cart-totals .button:not(.button--primary):focus,
  body.page-type-cart .shipping-estimator .button:not(.button--primary):hover,
  body.page-type-cart .shipping-estimator .button:not(.button--primary):focus,
  body.page-type-cart .coupon-code-add .button:not(.button--primary):hover,
  body.page-type-cart .coupon-code-add .button:not(.button--primary):focus,
  body.page-type-cart .gift-certificate-add .button:not(.button--primary):hover,
  body.page-type-cart .gift-certificate-add .button:not(.button--primary):focus {
    background: #f5f7f8;
    border-color: #c0c7cc;
    color: #111; }
  body.page-type-cart .cart .button--icon {
    background: #fff;
    border: 1px solid #d3d7da;
    box-shadow: none;
    border-radius: 0; }
  body.page-type-cart .cart .button--icon:hover,
  body.page-type-cart .cart .button--icon:focus {
    background: #f5f7f8;
    border-color: #c0c7cc; }
  body.page-type-cart .cart .button--icon svg {
    fill: #333; }
  body.page-type-cart .cart-actions,
  body.page-type-cart .cart-additionalCheckoutButtons {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: 0;
    text-align: right; }
  body.page-type-cart .cart-actions {
    margin-top: 12px; }
  body.page-type-cart .cart-actions .button,
  body.page-type-cart .cart-actions .checkoutMultiple {
    float: none; }
  body.page-type-cart .cart-actions .checkoutMultiple {
    display: block;
    margin-top: 0;
    padding-top: 0;
    text-align: right; }
  body.page-type-cart .cart-additionalCheckoutButtons {
    margin-top: 6px; }
  body.page-type-cart .cart-additionalCheckoutButtons .or-use-label {
    display: none; }
  body.page-type-cart .cart-additionalCheckoutButtons .FloatRight,
  body.page-type-cart .cart-additionalCheckoutButtons .FloatRight div {
    float: none !important;
    width: 100%;
    margin-left: auto;
    margin-right: 0;
    text-align: right; }
  body.page-type-cart .cart-additionalCheckoutButtons .CheckoutButton {
    margin: 0; }
  body.page-type-cart .cart-additionalCheckoutButtons iframe,
  body.page-type-cart .cart-additionalCheckoutButtons .paypal-buttons,
  body.page-type-cart .cart-additionalCheckoutButtons .paypal-smart-buttons {
    width: 100%;
    max-width: 320px;
    min-width: 0; }
  body.page-type-cart .coupon-form .button,
  body.page-type-cart .cart-gift-certificate-form .button,
  body.page-type-cart .shipping-estimator .button {
    min-height: 40px; }

/* =====================================================
   CRITPRO CART UTILITY BUTTONS
   Reduce emphasis vs Checkout
   ===================================================== */
body.page-type-cart {
  /* Estimate Shipping + Update Shipping Cost */ }
  body.page-type-cart .shipping-estimator .button,
  body.page-type-cart .cart-shipping .button,
  body.page-type-cart .estimator-form .button {
    background: #f4f6f7;
    border: 1px solid #cfd6da;
    color: #333;
    font-weight: 600;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 0;
    box-shadow: none; }
  body.page-type-cart .shipping-estimator .button:hover,
  body.page-type-cart .cart-shipping .button:hover,
  body.page-type-cart .estimator-form .button:hover {
    background: #e9edf0;
    border-color: #b8c0c5;
    color: #111; }

/* ============================================================
   CRITPRO MINI CART CHECKOUT BUTTON (HEADER DROPDOWN)
   Match cart page black checkout button
   ============================================================ */
.previewCart .button--primary,
.previewCartCheckout .button--primary,
.previewCartAction .button--primary {
  background: #000 !important;
  border: 1px solid #000 !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 0;
  box-shadow: none;
  min-height: 38px; }

.previewCart .button--primary:hover,
.previewCartCheckout .button--primary:hover,
.previewCartAction .button--primary:hover {
  background: #222 !important;
  border-color: #222 !important;
  color: #fff !important; }

/* ===============================
   Center Cart Buttons (Mobile Only)
   =============================== */
@media (max-width: 800px) {
  body.page-type-cart .cart-actions,
  body.page-type-cart .cart-additionalCheckoutButtons {
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    text-align: center; }
  body.page-type-cart .cart-actions .checkoutMultiple {
    display: block;
    margin-top: 0;
    padding-top: 0;
    text-align: center; }
  body.page-type-cart .cart-additionalCheckoutButtons,
  body.page-type-cart .cart-additionalCheckoutButtons .FloatRight,
  body.page-type-cart .cart-additionalCheckoutButtons .FloatRight div {
    float: none;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important; }
  body.page-type-cart .cart-additionalCheckoutButtons .CheckoutButton,
  body.page-type-cart .cart-additionalCheckoutButtons iframe,
  body.page-type-cart .cart-additionalCheckoutButtons .paypal-button-container {
    margin-left: auto;
    margin-right: auto; }
  body.page-type-cart .cart-additionalCheckoutButtons iframe {
    display: block; } }

/* Review modal header / z-index fix */
/* ============================================================
   Review Modal Header / Z-Index Fix
   Scoped to review modal only.
   Do NOT raise .modal-background globally.
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
   ============================================================ */
@media (min-width: 801px) {
  #modal-review-form.modal {
    position: fixed !important;
    top: 110px !important;
    left: 50% !important;
    transform: translate(-50%, 0) !important;
    margin: 0 !important;
    z-index: 1310 !important;
    max-height: calc(100vh - 130px) !important;
    overflow: hidden !important; }
  #modal-review-form .modal-header {
    position: relative;
    z-index: 2; }
  #modal-review-form .modal-body {
    max-height: calc(100vh - 190px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch; } }

/* Blog tags styled to match CritPro buttons */
/* ============================================================
   Blog Tags → Match CritPro Button Style
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
   ============================================================ */
.blog .tags,
.blog-post-body .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none; }

/* Individual tag container */
.blog .tag,
.blog-post-body .tag {
  margin: 0;
  padding: 0; }

/* Tag links styled like buttons */
.blog .tag a,
.blog-post-body .tag a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #0f766e;
  background: #ffffff;
  border: 1px solid #0f766e;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s ease; }

/* Hover */
.blog .tag a:hover,
.blog .tag a:focus,
.blog-post-body .tag a:hover,
.blog-post-body .tag a:focus {
  background: #0f766e;
  color: #ffffff;
  border-color: #0f766e;
  text-decoration: none; }

/* Active click feel */
.blog .tag a:active,
.blog-post-body .tag a:active {
  transform: translateY(1px); }

/* Focus accessibility */
.blog .tag a:focus,
.blog-post-body .tag a:focus {
  outline: 2px solid rgba(15, 118, 110, 0.25);
  outline-offset: 2px; }

/* Mobile tightening */
@media (max-width: 550px) {
  .blog .tags,
  .blog-post-body .tags {
    gap: 8px; }
  .blog .tag a,
  .blog-post-body .tag a {
    font-size: 12px;
    padding: 7px 12px;
    min-height: 34px; } }

/* Buyer's Guides Hub Page */
/* ============================================================
   CritPro – Buyer's Guides Hub Page + Individual Guide Pages
   File: assets/scss/critpro/chiara-custom/_51-guides-hub.scss
   Colors: CritPro teal palette (#097276, #03989E, #024F52, #17323b)
   ============================================================ */
/* ── HUB PAGE STYLES (cp-guides-* classes, global scope is fine) ── */
/* ── HUB + GUIDE + CUSTOM PAGE LAYOUT FIXES ── */
/* Hide BigCommerce default page title and sub-nav when our
   custom hero block is present on the page */
.page-content:has(.cp-guides-hero) .cp-page-heading,
.page-content:has(.cp-guides-hero) .navBar--sub,
.page-content:has(.hero) .cp-page-heading,
.page-content:has(.hero) .navBar--sub,
.page-content:has(.cp-legal-hero) .cp-page-heading,
.page-content:has(.cp-legal-hero) .navBar--sub {
  display: none; }

.page-content:has(.cp-guides-hero),
.page-content:has(.hero),
.page-content:has(.cp-legal-hero) {
  padding-top: 0; }

.cp-guides-hero {
  margin-top: -8px; }

/* ── MOBILE TABLE FIX ── */
/* Wrap tables in a scroll container on small screens */
.page-content .styled-table,
.page-content table.styled {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap; }
  @media (min-width: 641px) {
    .page-content .styled-table,
    .page-content table.styled {
      display: table;
      white-space: normal; } }
  .page-content .styled-table th,
  .page-content .styled-table td,
  .page-content table.styled th,
  .page-content table.styled td {
    min-width: 100px;
    white-space: normal; }
    @media (max-width: 640px) {
      .page-content .styled-table th,
      .page-content .styled-table td,
      .page-content table.styled th,
      .page-content table.styled td {
        white-space: nowrap;
        min-width: 80px; } }

.cp-guides-hero {
  background: #17323b;
  border-radius: 8px;
  padding: 48px 40px;
  margin-bottom: 32px;
  text-align: center;
  position: relative;
  overflow: hidden; }
  .cp-guides-hero::before {
    content: '';
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(ellipse, rgba(3, 152, 158, 0.18) 0%, transparent 70%);
    pointer-events: none; }

.cp-guides-hero__eyebrow {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #03989E;
  margin-bottom: 12px; }

.cp-guides-hero__title {
  font-size: 2.2rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.15;
  margin-bottom: 14px; }
  .cp-guides-hero__title em {
    color: #03989E;
    font-style: normal; }
  @media (max-width: 550px) {
    .cp-guides-hero__title {
      font-size: 1.6rem; } }

.cp-guides-hero__lead {
  font-size: 1rem;
  color: #a8c4c8;
  max-width: 580px;
  margin: 0 auto 24px;
  line-height: 1.7; }

.cp-guides-hero__trust {
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  font-size: 0.75rem;
  color: #6a9098;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08); }
  @media (max-width: 550px) {
    .cp-guides-hero__trust {
      flex-direction: column;
      gap: 8px;
      align-items: center; } }

.cp-guides-section-label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #097276;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 36px 0 20px; }
  .cp-guides-section-label::before, .cp-guides-section-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #dbe4e7; }

.cp-guides-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 8px; }
  @media (max-width: 800px) {
    .cp-guides-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 480px) {
    .cp-guides-grid {
      grid-template-columns: 1fr; } }

.cp-guide-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #dbe4e7;
  border-radius: 8px;
  padding: 24px 20px;
  text-decoration: none;
  color: #17323b;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
  .cp-guide-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #03989E;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease; }
  .cp-guide-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(9, 114, 118, 0.12);
    border-color: #097276;
    text-decoration: none;
    color: #17323b; }
    .cp-guide-card:hover::before {
      transform: scaleX(1); }
    .cp-guide-card:hover .cp-guide-card__cta::after {
      transform: translateX(4px); }

.cp-guide-card__icon {
  display: block;
  width: 40px;
  height: 4px;
  background: #03989E;
  border-radius: 2px;
  margin-bottom: 16px;
  flex-shrink: 0; }

.cp-guide-card__category {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #097276;
  margin-bottom: 6px; }

.cp-guide-card__title {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: #17323b;
  line-height: 1.3;
  margin-bottom: 10px; }

.cp-guide-card__desc {
  display: block;
  font-size: 0.85rem;
  color: #4a6a70;
  line-height: 1.6;
  flex: 1;
  margin-bottom: 18px; }

.cp-guide-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #097276;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-top: auto; }
  .cp-guide-card__cta::after {
    content: '→';
    transition: transform 0.2s ease; }

.cp-guide-card--featured {
  background: #024F52;
  border-color: transparent;
  grid-column: span 2;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px; }
  .cp-guide-card--featured .cp-guide-card__icon {
    width: 4px;
    height: 60px;
    background: #03989E;
    border-radius: 2px;
    flex-shrink: 0;
    margin-bottom: 0; }
  .cp-guide-card--featured .cp-guide-card__category {
    color: #03989E; }
  .cp-guide-card--featured .cp-guide-card__title {
    color: #ffffff;
    font-size: 1.2rem; }
  .cp-guide-card--featured .cp-guide-card__desc {
    color: #a8c4c8; }
  .cp-guide-card--featured .cp-guide-card__cta {
    color: #03989E; }
  .cp-guide-card--featured:hover {
    border-color: #03989E;
    color: #ffffff;
    box-shadow: 0 8px 28px rgba(2, 79, 82, 0.3); }
    .cp-guide-card--featured:hover .cp-guide-card__title {
      color: #ffffff; }
  @media (max-width: 800px) {
    .cp-guide-card--featured {
      grid-column: span 2; } }
  @media (max-width: 480px) {
    .cp-guide-card--featured {
      grid-column: span 1;
      flex-direction: column; }
      .cp-guide-card--featured .cp-guide-card__icon {
        margin-bottom: 12px; } }

.cp-guides-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #dbe4e7;
  border: 1px solid #dbe4e7;
  border-radius: 8px;
  overflow: hidden;
  margin: 32px 0 8px; }
  @media (max-width: 600px) {
    .cp-guides-trust {
      grid-template-columns: 1fr; } }

.cp-guides-trust__item {
  background: #f6fbfb;
  padding: 24px;
  text-align: center; }

.cp-guides-trust__num {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: #097276;
  line-height: 1;
  margin-bottom: 4px; }

.cp-guides-trust__label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #4a6a70;
  letter-spacing: 0.04em; }

/* ── INDIVIDUAL GUIDE PAGE STYLES ─────────────────────────
   All scoped to .page-content to prevent theme conflicts.
   ────────────────────────────────────────────────────────── */
.page-content {
  /* Tighten the gap between hero and first content block */
  /* Both buttons always the same fixed width — no wrapper div needed */ }
  .page-content .hero {
    background: #17323b;
    color: #ffffff;
    padding: 56px 40px 48px;
    margin: 0 -20px 0;
    position: relative;
    overflow: hidden; }
    .page-content .hero::before {
      content: '';
      position: absolute;
      top: -80px;
      left: 50%;
      transform: translateX(-50%);
      width: 600px;
      height: 300px;
      background: radial-gradient(ellipse, rgba(3, 152, 158, 0.15) 0%, transparent 70%);
      pointer-events: none; }
    @media (max-width: 600px) {
      .page-content .hero {
        padding: 36px 20px 32px;
        margin: 0 -20px 0; } }
  .page-content .hero-inner {
    max-width: 760px;
    margin: 0 auto;
    position: relative; }
  .page-content .hero-eyebrow {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #03989E;
    margin-bottom: 12px; }
  .page-content .hero h1 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.12;
    margin-bottom: 16px; }
  .page-content .hero-lead {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.65);
    max-width: 600px;
    line-height: 1.7; }
  .page-content .hero-meta {
    display: flex;
    gap: 24px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.35);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    flex-wrap: wrap; }
  .page-content .page-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 0 48px; }
  .page-content .page-wrap > *:first-child {
    margin-top: 24px; }
  .page-content .toc {
    margin-top: 24px; }
  .page-content .section:first-of-type {
    margin-top: 24px; }
  .page-content .toc {
    background: #f6fbfb;
    border: 1px solid #dbe4e7;
    border-left: 4px solid #03989E;
    border-radius: 0 6px 6px 0;
    padding: 24px 28px;
    margin: 24px 0; }
    .page-content .toc ol {
      padding-left: 20px;
      columns: 2;
      gap: 20px; }
      @media (max-width: 540px) {
        .page-content .toc ol {
          columns: 1; } }
    .page-content .toc li {
      margin: 7px 0;
      break-inside: avoid; }
    .page-content .toc a {
      color: #17323b;
      text-decoration: none;
      font-size: 0.9rem; }
      .page-content .toc a:hover {
        color: #097276; }
  .page-content .toc-title,
  .page-content .toc-hdr,
  .page-content .toc-header {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #097276;
    margin-bottom: 14px;
    display: block; }
  .page-content .section {
    margin: 40px 0; }
  .page-content .callout,
  .page-content .tip,
  .page-content .tip-box {
    background: #f6fbfb;
    border: 1px solid #dbe4e7;
    border-left: 4px solid #03989E;
    border-radius: 0 6px 6px 0;
    padding: 18px 22px;
    margin: 20px 0;
    font-size: 0.92rem;
    color: #17323b; }
    .page-content .callout strong,
    .page-content .tip strong,
    .page-content .tip-box strong {
      display: block;
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #097276;
      margin-bottom: 6px; }
  .page-content .card-grid,
  .page-content .feature-grid,
  .page-content .method-grid,
  .page-content .type-grid,
  .page-content .reel-grid,
  .page-content .use-grid,
  .page-content .handle-grid,
  .page-content .pattern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 16px;
    margin: 20px 0; }
  .page-content .card,
  .page-content .feature-card,
  .page-content .method-card,
  .page-content .type-card,
  .page-content .reel-card,
  .page-content .use-card,
  .page-content .handle-card,
  .page-content .pattern-card {
    background: #ffffff;
    border: 1px solid #dbe4e7;
    border-radius: 6px;
    padding: 20px;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s; }
    .page-content .card:hover,
    .page-content .feature-card:hover,
    .page-content .method-card:hover,
    .page-content .type-card:hover,
    .page-content .reel-card:hover,
    .page-content .use-card:hover,
    .page-content .handle-card:hover,
    .page-content .pattern-card:hover {
      box-shadow: 0 4px 16px rgba(9, 114, 118, 0.1);
      border-color: #097276;
      transform: translateY(-2px); }
    .page-content .card h4,
    .page-content .feature-card h4,
    .page-content .method-card h4,
    .page-content .type-card h4,
    .page-content .reel-card h4,
    .page-content .use-card h4,
    .page-content .handle-card h4,
    .page-content .pattern-card h4 {
      font-size: 1rem;
      font-weight: 700;
      color: #17323b;
      margin-bottom: 6px; }
    .page-content .card p,
    .page-content .feature-card p,
    .page-content .method-card p,
    .page-content .type-card p,
    .page-content .reel-card p,
    .page-content .use-card p,
    .page-content .handle-card p,
    .page-content .pattern-card p {
      font-size: 0.84rem;
      color: #4a6a70;
      margin: 0;
      line-height: 1.55; }
  .page-content .feature-num {
    font-size: 2rem;
    font-weight: 800;
    color: #dbe4e7;
    line-height: 1;
    margin-bottom: 8px;
    display: block; }
  .page-content .feature-card.accent {
    border-top: 3px solid #03989E; }
  .page-content .difficulty {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px; }
  .page-content .diff-easy {
    background: #e6f4ea;
    color: #2d6a2d; }
  .page-content .diff-med {
    background: #e6f2f4;
    color: #097276; }
  .page-content .diff-hard {
    background: #e6eef4;
    color: #17323b; }
  .page-content .badge {
    display: inline-block;
    background: #097276;
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    vertical-align: middle;
    margin-left: 4px; }
    .page-content .badge.green {
      background: #3a6b2a; }
    .page-content .badge.blue {
      background: #097276; }
  .page-content .reel-best {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #03989E;
    margin-bottom: 8px; }
  .page-content .styled-table,
  .page-content table.styled {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 0.88rem; }
    .page-content .styled-table th,
    .page-content table.styled th {
      background: #17323b;
      color: #03989E;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 12px 16px;
      text-align: left; }
    .page-content .styled-table td,
    .page-content table.styled td {
      padding: 12px 16px;
      border-bottom: 1px solid #dbe4e7;
      vertical-align: top;
      color: #17323b; }
    .page-content .styled-table tr:nth-child(even) td,
    .page-content table.styled tr:nth-child(even) td {
      background: #f6fbfb; }
  .page-content .comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 24px 0; }
    @media (max-width: 600px) {
      .page-content .comparison {
        grid-template-columns: 1fr; } }
  .page-content .comp-card {
    background: #ffffff;
    border: 1px solid #dbe4e7;
    border-radius: 6px;
    padding: 22px; }
    .page-content .comp-card h4 {
      font-size: 1.1rem;
      font-weight: 700;
      color: #17323b;
      margin-bottom: 14px; }
      .page-content .comp-card h4 span {
        color: #03989E; }
    .page-content .comp-card ul {
      padding-left: 18px; }
    .page-content .comp-card li {
      margin: 8px 0;
      font-size: 0.9rem; }
  .page-content .pro {
    color: #2d6a2d; }
  .page-content .con {
    color: #8b1a1a; }
  .page-content .step-list {
    counter-reset: steps;
    list-style: none;
    margin: 24px 0;
    padding: 0; }
    .page-content .step-list li {
      counter-increment: steps;
      display: grid;
      grid-template-columns: 52px 1fr;
      gap: 16px;
      padding: 18px 0;
      border-bottom: 1px solid #dbe4e7;
      align-items: start; }
      .page-content .step-list li:last-child {
        border-bottom: none; }
      .page-content .step-list li::before {
        content: counter(steps);
        width: 52px;
        height: 52px;
        background: #17323b;
        color: #03989E;
        font-size: 1.3rem;
        font-weight: 800;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 6px;
        flex-shrink: 0; }
  .page-content .step-title {
    font-weight: 700;
    color: #17323b;
    margin-bottom: 4px;
    display: block; }
  .page-content .step-body {
    font-size: 0.9rem;
    color: #4a6a70;
    margin: 0;
    display: block; }
  .page-content .lumen-scale {
    background: #f6fbfb;
    border: 1px solid #dbe4e7;
    border-radius: 6px;
    padding: 24px;
    margin: 24px 0; }
  .page-content .lumen-row {
    display: grid;
    grid-template-columns: 110px 160px 1fr;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #dbe4e7;
    gap: 16px; }
    .page-content .lumen-row:last-child {
      border-bottom: none; }
    @media (max-width: 600px) {
      .page-content .lumen-row {
        grid-template-columns: 90px 1fr; } }
  .page-content .lumen-val {
    font-size: 1rem;
    font-weight: 800;
    color: #097276; }
  .page-content .lumen-bar-wrap {
    background: #dbe4e7;
    border-radius: 20px;
    height: 8px;
    overflow: hidden; }
    @media (max-width: 600px) {
      .page-content .lumen-bar-wrap {
        display: none; } }
  .page-content .lumen-bar {
    height: 100%;
    border-radius: 20px;
    background: linear-gradient(90deg, #097276, #03989E); }
  .page-content .lumen-desc {
    font-size: 0.84rem;
    color: #4a6a70; }
  .page-content .tip-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin: 24px 0; }
    @media (max-width: 600px) {
      .page-content .tip-row {
        grid-template-columns: 1fr; } }
  .page-content .tip-card {
    background: #ffffff;
    border: 1px solid #dbe4e7;
    border-top: 3px solid #03989E;
    border-radius: 0 0 6px 6px;
    padding: 20px; }
    .page-content .tip-card h4 {
      font-size: 1rem;
      font-weight: 700;
      color: #17323b;
      margin-bottom: 8px; }
    .page-content .tip-card p {
      font-size: 0.86rem;
      color: #4a6a70;
      margin: 0;
      line-height: 1.6; }
  .page-content .brand-row {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid #dbe4e7;
    align-items: start; }
    .page-content .brand-row:last-child {
      border-bottom: none; }
    @media (max-width: 540px) {
      .page-content .brand-row {
        grid-template-columns: 1fr; } }
  .page-content .brand-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: #097276; }
  .page-content .brand-origin {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #4a6a70;
    margin-top: 2px;
    display: block; }
  .page-content .intro-quote {
    font-size: 1.2rem;
    font-style: italic;
    color: #17323b;
    border-left: 3px solid #03989E;
    padding: 14px 22px;
    margin: 36px 0;
    line-height: 1.6;
    background: #f6fbfb;
    border-radius: 0 6px 6px 0; }
  .page-content .daiwa-callout {
    background: linear-gradient(135deg, #17323b, #024F52);
    color: #ffffff;
    border-radius: 8px;
    padding: 32px;
    margin: 28px 0;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 24px;
    align-items: center; }
    @media (max-width: 600px) {
      .page-content .daiwa-callout {
        grid-template-columns: 1fr; } }
    .page-content .daiwa-callout p {
      color: rgba(255, 255, 255, 0.7);
      margin: 0;
      font-size: 0.92rem; }
  .page-content .daiwa-logo {
    font-size: 1.8rem;
    font-weight: 800;
    color: #03989E;
    line-height: 1; }
  .page-content .daiwa-sub {
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    display: block;
    margin-top: 4px; }
  .page-content .checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 18px;
    margin: 28px 0; }
  .page-content .checklist-card {
    background: #ffffff;
    border: 1px solid #dbe4e7;
    border-radius: 6px;
    overflow: hidden; }
    .page-content .checklist-card:hover {
      box-shadow: 0 4px 16px rgba(9, 114, 118, 0.1); }
  .page-content .card-header {
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f6fbfb;
    border-bottom: 1px solid #dbe4e7; }
    .page-content .card-header h3 {
      font-size: 0.95rem;
      font-weight: 700;
      color: #17323b;
      margin: 0; }
  .page-content .card-icon-wrap {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0; }
  .page-content .card-items {
    padding: 12px 18px 18px; }
    .page-content .card-items ul {
      list-style: none;
      padding: 0; }
    .page-content .card-items li {
      font-size: 0.84rem;
      padding: 6px 0;
      border-bottom: 1px solid #f6fbfb;
      color: #4a6a70;
      display: flex;
      gap: 8px; }
      .page-content .card-items li:last-child {
        border-bottom: none; }
      .page-content .card-items li::before {
        content: '☐';
        color: #dbe4e7;
        flex-shrink: 0; }
      .page-content .card-items li strong {
        color: #17323b; }
  .page-content .col-pine {
    background: #3a6040;
    color: white; }
  .page-content .col-sky {
    background: #024F52;
    color: white; }
  .page-content .col-fire {
    background: #c0440a;
    color: white; }
  .page-content .col-sage {
    background: #6a9060;
    color: white; }
  .page-content .col-night {
    background: #17323b;
    color: white; }
  .page-content .col-star {
    background: #8b6500;
    color: white; }
  .page-content .cta-block {
    background: #024F52;
    color: #ffffff;
    border-radius: 8px;
    padding: 48px 40px;
    margin: 40px 0;
    text-align: center; }
    .page-content .cta-block h3 {
      font-size: 1.8rem;
      font-weight: 800;
      color: #ffffff;
      margin-bottom: 14px; }
    .page-content .cta-block p {
      color: rgba(255, 255, 255, 0.72);
      margin-bottom: 32px;
      max-width: 520px;
      margin-left: auto;
      margin-right: auto;
      line-height: 1.65; }
  .page-content .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #03989E;
    color: #ffffff;
    padding: 14px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.86rem;
    letter-spacing: 0.06em;
    width: 200px;
    box-sizing: border-box;
    transition: background 0.2s, transform 0.15s; }
    .page-content .btn:hover {
      background: #027b80;
      transform: translateY(-1px);
      color: #ffffff;
      text-decoration: none; }
  .page-content .btn-outline,
  .page-content .btn-light,
  .page-content .btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    box-sizing: border-box;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: rgba(255, 255, 255, 0.85);
    margin-left: 12px; }
    .page-content .btn-outline:hover,
    .page-content .btn-light:hover,
    .page-content .btn-ghost:hover {
      background: rgba(255, 255, 255, 0.1);
      color: #ffffff;
      border-color: rgba(255, 255, 255, 0.6);
      text-decoration: none; }
  @media (max-width: 540px) {
    .page-content .cta-block .btn,
    .page-content .cta-block .btn-outline,
    .page-content .cta-block .btn-light,
    .page-content .cta-block .btn-ghost {
      width: 100%;
      display: block;
      margin-left: 0;
      margin-top: 10px; } }
  .page-content .ornament {
    text-align: center;
    color: #dbe4e7;
    font-size: 1rem;
    letter-spacing: 0.5em;
    margin: 40px 0; }
  @media (max-width: 640px) {
    .page-content .card-grid,
    .page-content .feature-grid,
    .page-content .method-grid,
    .page-content .type-grid,
    .page-content .reel-grid,
    .page-content .use-grid,
    .page-content .handle-grid,
    .page-content .pattern-grid {
      grid-template-columns: 1fr 1fr; }
    .page-content .cta-block {
      padding: 32px 20px; }
      .page-content .cta-block .btn-outline,
      .page-content .cta-block .btn-light,
      .page-content .cta-block .btn-ghost {
        margin-left: 0;
        margin-top: 10px;
        display: block; } }
  @media (max-width: 420px) {
    .page-content .card-grid,
    .page-content .feature-grid,
    .page-content .method-grid,
    .page-content .type-grid,
    .page-content .reel-grid,
    .page-content .use-grid,
    .page-content .handle-grid,
    .page-content .pattern-grid,
    .page-content .checklist-grid {
      grid-template-columns: 1fr; } }

/* Blade Length Knives hub page layout */
/* ============================================================
   Blade Length Knives hub page: hide sidebar, let content fill row.
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
   ============================================================ */
/* Blade Length Knives page only: hide the global cpSidebar widget */
.cpBladeHubWrap + .page .cpSidebar {
  display: none !important; }

/* Blade Length Knives page only: remove the left column entirely */
.cpBladeHubWrap + .page .page-sidebar {
  display: none !important; }

/* Blade Length Knives page only: let main content fill the row */
.cpBladeHubWrap + .page .page-content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-left: 0 !important; }

/* PDP price / save badge upgrade (MSRP anchor + hide-native rows) */
/* ================================
   PDP PRICE / SAVE BADGE UPGRADE
   Keeps trust widget untouched.
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).

   AUDIT FIX: this file used to also define ".page-type-product
   .cp-save-badge" (base + a max-width:550px override). That rule
   was fully shadowed on the live site by a second, conflicting
   ".productView-price .cp-save-badge" definition in critpro-pdp.scss,
   which compiles after this file. The badge itself now has a single
   canonical definition in critpro/pdp/_17-price-savings-badge.scss —
   nothing here changes what's currently visible.
   ================================ */
/* Hide default PDP MSRP/was rows so the custom anchor is the only one shown.
   The hidden rows stay in the DOM so BigCommerce variant price updates still work. */
.page-type-product .non-sale-price--withTax,
.page-type-product .non-sale-price--withoutTax,
.page-type-product .rrp-price--withTax,
.page-type-product .rrp-price--withoutTax,
.page-type-product .price-section--saving,
.page-type-product .price--saving,
.page-type-product .you-save {
  display: none; }

.page-type-product .price-section-group {
  margin-bottom: 0; }

.page-type-product .price-section--main {
  margin-bottom: 0; }

.page-type-product .cp-price-deal-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  margin: 6px 0 18px; }

.page-type-product .cp-msrp-anchor {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  font-size: 13px;
  line-height: 1.25;
  color: #666666; }

.page-type-product .cp-msrp-label {
  font-weight: 600; }

.page-type-product .cp-msrp-value {
  color: #777777;
  text-decoration: line-through;
  text-decoration-thickness: 1px; }

@media (max-width: 550px) {
  .page-type-product .cp-price-deal-stack {
    gap: 5px;
    margin: 6px 0 16px; } }

/* PDP options / quantity / stock cleanup */
/* ================================
   PDP Options / Quantity / Stock Cleanup
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
================================ */
/* Hide default BigCommerce stock row. The custom low-stock message below handles urgency. */
.page-type-product .productView-options .form-field--stock,
.page-type-product .productView-options .productView-stock,
.page-type-product .productView-options [data-product-stock],
.page-type-product .productView-options .stock-level {
  display: none; }

/* Hide the unnecessary "Options" panel heading on mobile only. */
@media (max-width: 767px) {
  .page-type-product .productView-options .productView-options-panel-heading {
    display: none; }
  .page-type-product .productView-options-content {
    padding-top: 12px; } }

.page-type-product .productView-optionsGrid .cp-qtyField {
  margin-bottom: 0; }

.page-type-product .productView-optionsGrid .cp-qtyStack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px; }

.page-type-product .productView-optionsGrid .cp-qtyRow {
  display: inline-flex;
  align-items: center;
  gap: 10px; }

.page-type-product .productView-optionsGrid .cp-qtyRow .form-label {
  margin: 0; }

.page-type-product .productView-optionsGrid .cp-qtyStockAlert {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 30px;
  margin: 0;
  padding: 6px 10px;
  border: 1px solid #f4d7a1;
  border-radius: 4px;
  background: #fff8e6;
  color: #5f3700;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2; }

.page-type-product .productView-optionsGrid .cp-qtyStockAlert::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: #f4a62a;
  flex: 0 0 auto; }

@media (max-width: 767px) {
  .page-type-product .productView-optionsGrid .cp-qtyStockAlert {
    width: 100%;
    justify-content: flex-start; } }

/* Remove divider line above stock message (mobile only) */
@media (max-width: 767px) {
  .page-type-product .productView-optionsGrid .cp-qtyField {
    border-top: none;
    padding-top: 0; }
  .page-type-product .productView-optionsGrid {
    border-top: none; } }

/* PDP image frame */
/* ================================
   PDP IMAGE FRAME – CHIARA 2.7 FINAL CLEAN
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
================================ */
.page-type-product .productView-imageCarousel-main-item {
  padding: 1px;
  box-sizing: border-box; }

.page-type-product .productView-imageCarousel-main-item > a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  overflow: hidden; }

/* IMPORTANT: cap the container, not the image */
.page-type-product .productView-imageCarousel-main-item-img-container {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto; }

/* Keep Chiara's ratio-based image sizing intact */
.page-type-product .productView-imageCarousel-main-item-img-container img {
  display: block;
  margin: auto;
  width: 100%;
  height: 100%;
  max-height: 100%; }

/* Prevent extra Slick slides from showing */
.page-type-product .productView-imageCarousel-main .slick-list {
  overflow: hidden; }

/* Thumbnail row: simple spacing only */
.page-type-product .productView-images--bottom .productView-imageCarousel-nav {
  margin-top: 16px; }

/* Remove weird thumbnail outlines/borders */
.page-type-product .productView-imageCarousel-nav-item > button,
.page-type-product .productView-imageCarousel-nav-item.slick-current > button,
.page-type-product .productView-imageCarousel-nav-item > button:focus,
.page-type-product .productView-imageCarousel-nav-item > button:active {
  border: none;
  outline: none;
  box-shadow: none; }

/* Mobile */
@media (max-width: 767px) {
  .page-type-product .productView-imageCarousel-main-item > a {
    border-radius: 4px; }
  .page-type-product .productView-imageCarousel-main-item-img-container {
    max-width: 100%; } }

/* Search results mobile grid fix */
/* ============================================================
   SEARCH RESULTS MOBILE GRID FIX
   Forces search results to one product per row on phones.
   Keeps category and brand mobile grid rules unchanged.
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
   ============================================================ */
@media (max-width: 800px) {
  body.page-type-search .productGrid {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0; }
  body.page-type-search .productGrid > .product {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0; }
  body.page-type-search .productGrid > .product + .product {
    margin-top: 12px; }
  body.page-type-search .productGrid .card {
    width: 100% !important;
    max-width: 100% !important; } }

/* Category content box + product card polish */
/* ============================================================
   CATEGORY CONTENT BOX + PRODUCT CARD POLISH
   Scoped to category pages so the Brands directory is untouched.
   Extracted from the old chiara-custom.scss catch-all (audit cleanup).
   ============================================================ */
body.page-type-category .category-desc,
body.page-type-category .cp-cat-description {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-top: 2px solid #097276;
  padding: 20px;
  border-radius: 4px; }

/* Product cards only. Do not target every .card globally. */
body.page-type-category .productGrid .card,
body.page-type-brand .productGrid .card,
body.page-type-search .productGrid .card {
  border: 1px solid #e5e5e5; }

/* CritPro premium native brands directory */
/* =========================================================
   CritPro Brands Directory
   Native BigCommerce /brands/ page
   ========================================================= */
body.page-type-brands {
  background: #ffffff; }
  body.page-type-brands .breadcrumbs {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto; }
  body.page-type-brands .cp-brands-page {
    max-width: none;
    margin: 0; }
  body.page-type-brands .cp-brands-page > .page-content {
    float: none;
    width: 100%;
    padding: 0 20px 48px; }

.cp-brands-hero,
.cp-brands-directory {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }

.cp-brands-hero {
  position: relative;
  overflow: hidden;
  margin-top: 8px;
  margin-bottom: 18px;
  border: 1px solid #dedad2;
  border-top: 4px solid #097276;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.045); }

.cp-brands-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 92% 0%, rgba(9, 114, 118, 0.06), transparent 34%); }

.cp-brands-hero__content {
  position: relative;
  z-index: 1;
  max-width: 820px;
  padding: 25px 34px 27px; }

.cp-brands-hero__eyebrow,
.cp-brands-directory__eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 8px;
  color: #5e7f2f;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .22em;
  text-transform: uppercase; }

.cp-brands-hero__eyebrow::before,
.cp-brands-directory__eyebrow::before {
  content: "";
  width: 22px;
  height: 1px;
  flex: 0 0 22px;
  background: #5e7f2f; }

.cp-brands-hero__title {
  margin: 0;
  color: #18313a;
  font-size: clamp(28px, 2.4vw, 36px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: 0;
  text-transform: none; }

.cp-brands-hero__copy {
  max-width: 710px;
  margin: 11px 0 0;
  color: #56666a;
  font-size: 15px;
  line-height: 1.55; }

.cp-brands-directory {
  padding: 18px 20px 22px;
  border: 1px solid #dedad2;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); }

.cp-brands-directory__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 13px; }

.cp-brands-directory__title {
  margin: 0;
  color: #18313a;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: 0;
  text-transform: none; }

.cp-brands-az {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 16px;
  padding: 12px 0 15px;
  border-top: 1px solid #ece8e1;
  border-bottom: 1px solid #ece8e1; }

.cp-brands-az__button {
  min-width: 32px;
  height: 30px;
  padding: 0 8px;
  border: 1px solid #d8ddd9;
  border-radius: 5px;
  background: #ffffff;
  color: #2d4147;
  font-size: 12px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease; }

.cp-brands-az__button:hover,
.cp-brands-az__button:focus-visible {
  border-color: #097276;
  color: #097276; }

.cp-brands-az__button.is-active {
  border-color: #097276;
  background: #097276;
  color: #ffffff; }

.cp-brands-empty {
  margin: 18px 0;
  padding: 24px;
  border: 1px dashed #d8d4cc;
  border-radius: 8px;
  color: #596366;
  text-align: center; }

/*
 * Important: this grid and image markup intentionally avoid Chiara's native
 * .brand, .card, .card-figure, .card-img-container and .card-image classes.
 * Those theme classes impose product-card sizing and positioning that made the
 * logos appear tiny or clipped.
 */
body.page-type-brands .cp-brand-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none; }

body.page-type-brands .cp-brand-grid__item {
  min-width: 0;
  margin: 0;
  padding: 0; }

body.page-type-brands .cp-brand-grid__item[hidden] {
  display: none; }

body.page-type-brands .cp-brand-card {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: visible;
  border: 1px solid #e1ded7;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }

body.page-type-brands .cp-brand-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  border-radius: 0 0 8px 8px;
  background: #097276;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease; }

body.page-type-brands .cp-brand-card__link {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 3px;
  color: inherit;
  text-decoration: none; }

body.page-type-brands .cp-brand-card__media {
  display: flex;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden; }

body.page-type-brands .cp-brand-card__logo {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: center;
  transform: none; }

body.page-type-brands .cp-brand-card__fallback {
  display: block;
  padding: 12px;
  color: #18313a;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center; }

body.page-type-brands .cp-brand-card__tooltip {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: -35px;
  max-width: calc(100% + 30px);
  padding: 6px 9px;
  border-radius: 4px;
  background: #18313a;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -4px);
  transition: opacity .15s ease, transform .15s ease; }

body.page-type-brands .cp-brand-card__tooltip::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #18313a;
  border-left: 5px solid transparent;
  transform: translateX(-50%); }

body.page-type-brands .cp-brand-card:hover,
body.page-type-brands .cp-brand-card:focus-within {
  z-index: 4;
  border-color: #8fc3c4;
  box-shadow: 0 9px 20px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px); }

body.page-type-brands .cp-brand-card:hover::after,
body.page-type-brands .cp-brand-card:focus-within::after {
  transform: scaleX(1); }

body.page-type-brands .cp-brand-card:hover .cp-brand-card__tooltip,
body.page-type-brands .cp-brand-card:focus-within .cp-brand-card__tooltip {
  opacity: 1;
  transform: translate(-50%, 0); }

body.page-type-brands .cp-brand-card__link:focus-visible {
  border-radius: 7px;
  outline: 3px solid #e0a83a;
  outline-offset: -3px; }

body.page-type-brands .pagination {
  max-width: 1440px;
  margin: 24px auto 0; }

@media (max-width: 1100px) {
  body.page-type-brands .cp-brand-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)); } }

@media (max-width: 800px) {
  body.page-type-brands .cp-brands-page > .page-content {
    padding-right: 12px;
    padding-left: 12px; }
  .cp-brands-hero__content {
    padding: 23px 25px 25px; }
  body.page-type-brands .cp-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px; }
  .cp-brands-directory {
    padding: 16px 14px 20px; } }

@media (max-width: 560px) {
  body.page-type-brands .cp-brands-page > .page-content {
    padding: 0 10px 34px; }
  .cp-brands-hero {
    margin-top: 4px;
    margin-bottom: 12px;
    border-radius: 8px; }
  .cp-brands-hero__content {
    padding: 20px 17px 21px; }
  .cp-brands-hero__eyebrow,
  .cp-brands-directory__eyebrow {
    font-size: 9px;
    letter-spacing: .16em; }
  .cp-brands-hero__title {
    font-size: 25px; }
  .cp-brands-hero__copy {
    margin-top: 9px;
    font-size: 13px; }
  .cp-brands-directory {
    padding: 14px 11px 18px;
    border-radius: 8px; }
  .cp-brands-directory__title {
    font-size: 20px; }
  .cp-brands-az {
    gap: 4px;
    padding: 10px 0 12px; }
  .cp-brands-az__button {
    min-width: 29px;
    height: 28px;
    padding: 0 7px;
    font-size: 11px;
    line-height: 26px; }
  body.page-type-brands .cp-brand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px; }
  body.page-type-brands .cp-brand-card__link {
    padding: 2px; }
  body.page-type-brands .cp-brand-card__tooltip {
    display: none; } }

@media (hover: none) {
  body.page-type-brands .cp-brand-card:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    transform: none; }
  body.page-type-brands .cp-brand-card__tooltip {
    display: none; } }

@media (prefers-reduced-motion: reduce) {
  body.page-type-brands .cp-brand-card,
  body.page-type-brands .cp-brand-card::after,
  body.page-type-brands .cp-brand-card__tooltip {
    transition: none; } }

/* Category page mobile nav, widget region, sort button placement */
/* ==========================================================
   CritPro Category Mobile Navigation
   Chiara 2.7.0 + PapaSearch

   FINAL NO-JS MOBILE FILTER INTEGRATION
   ----------------------------------------------------------
   - Chiara owns the mobile Filter button and drawer
   - PapaSearch filters stay visible inside Chiara's drawer
   - Compact centered View Products button
   - Bottom navigation remains visible
   - No custom JavaScript
   - No FreshClick code
   ========================================================== */
/* ==========================================================
   CATEGORY PAGE BUILDER WIDGET REGION
   ========================================================== */
.cp-category-widget-region {
  display: block;
  width: 100%;
  box-sizing: border-box; }

/* ==========================================================
   TABLET / MOBILE CATEGORY STRUCTURE
   ========================================================== */
@media (max-width: 1000px) {
  body.page-type-category .category-listing-container {
    display: none; }
  .cp-category-widget-region {
    margin: 0; }
  body.page-type-category .cpSubNav {
    display: none; } }

/* ==========================================================
   MODERN CATEGORY LINKS
   ========================================================== */
@media (max-width: 1000px) {
  body.page-type-category a.navList-action {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    margin: 0 0 8px;
    padding: 13px 44px 13px 16px;
    color: #243033;
    background: linear-gradient(180deg, #ffffff 0%, #f7faf9 100%) !important;
    border: 1px solid #d8e4e3;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(20, 45, 50, 0.035);
    transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease; }
  body.page-type-category a.navList-action::before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 3px;
    background: #097276;
    border-radius: 0 3px 3px 0;
    opacity: 0.85; }
  body.page-type-category a.navList-action::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #789596;
    border-right: 2px solid #789596;
    transform: translateY(-50%) rotate(45deg); }
  body.page-type-category a.navList-action:hover,
  body.page-type-category a.navList-action:focus {
    color: #075d61;
    background: #ffffff;
    border-color: #b5ccca;
    box-shadow: 0 5px 12px rgba(20, 72, 76, 0.07); } }

/* ==========================================================
   PAPASEARCH MOBILE FILTER DRAWER
   ========================================================== */
@media (max-width: 1000px) {
  body.page-type-category #mobileSidebar-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: hidden !important; }
  /* ----------------------------------------------------------
     PAPASEARCH FILTER CONTAINER

     Leaves room for the compact View Products button
     above CritPro's fixed bottom navigation.
     ---------------------------------------------------------- */
  body.page-type-category
#mobileSidebar-panel
#faceted-search-container {
    display: block !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    bottom: 83px !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch; }
  body.page-type-category
#mobileSidebar-panel
.papasearch__faceted-search-filters {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important; }
  /* ==========================================================
     KEEP PAPASEARCH CONTROLS INSIDE DRAWER
     ========================================================== */
  body.page-type-category
#mobileSidebar-panel
.papasearch__filter-block,
  body.page-type-category
#mobileSidebar-panel
.papasearch__filter-content,
  body.page-type-category
#mobileSidebar-panel
.papasearch__filter-values,
  body.page-type-category
#mobileSidebar-panel
.papasearch__price-range-slider-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important; }
  /* ==========================================================
     FILTER BLOCK SPACING

     Adds breathing room only between consecutive PapaSearch
     filter sections. Does not alter the drawer edges or the
     spacing inside individual filter controls.
     ========================================================== */
  body.page-type-category
#mobileSidebar-panel
.papasearch__filter-block {
    margin: 0 !important; }
  body.page-type-category
#mobileSidebar-panel
.papasearch__filter-block + .papasearch__filter-block {
    margin-top: 10px !important; }
  body.page-type-category
#mobileSidebar-panel
.papasearch__filter-search,
  body.page-type-category
#mobileSidebar-panel
.papasearch__price-input-field {
    box-sizing: border-box !important;
    max-width: 100% !important; }
  /* ==========================================================
     REMOVE BACK TO ALL CATEGORIES
     ========================================================== */
  body.page-type-category
#mobileSidebar-panel
.papasearch__parent-category-btn {
    display: none !important; }
  /* ==========================================================
     VIEW PRODUCTS

     - 20px lower than previous version
     - Narrower
     - Centered
     - Compact height
     ========================================================== */
  body.page-type-category
#mobileSidebar-panel
.cp-mobile-filter-view-products {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: 27px;
    z-index: 50;
    transform: translateX(-50%);
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 220px !important;
    max-width: calc(100% - 32px) !important;
    min-height: 42px;
    margin: 0 !important;
    padding: 9px 16px;
    color: #ffffff !important;
    background: #097276 !important;
    border: 1px solid #097276;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(16, 58, 61, 0.16); }
  body.page-type-category
#mobileSidebar-panel
.cp-mobile-filter-view-products:hover,
  body.page-type-category
#mobileSidebar-panel
.cp-mobile-filter-view-products:focus {
    color: #ffffff !important;
    background: #075f63 !important;
    border-color: #075f63;
    text-decoration: none !important; } }

/* ==========================================================
   DESKTOP
   ========================================================== */
@media (min-width: 1001px) {
  .cp-mobile-filter-view-products {
    display: none !important; } }

/* ==========================================================
   MOBILE SORT BUTTON
   ========================================================== */
@media (max-width: 1000px) {
  a.mobileSortBy-toggle {
    position: fixed;
    right: 18px;
    bottom: 88px;
    top: auto;
    left: auto;
    transform: none;
    z-index: 20; }
  body.page-type-category:has(#mobileSidebar-panel.is-open)
a.mobileSortBy-toggle {
    display: none !important; } }

/* ============================================================
   CritPro PDP module
   Order-sensitive PDP partials are sourced from assets/scss/critpro/pdp
   (both via critpro/_pdp-bridge.scss and directly below) so the
   storefront output stays stable. This file is now a pure import
   index -- the raw CSS that used to live here has been split into
   the numbered partials below, in the exact same order, so cascade
   output is unchanged. See critpro-chiara-theme-audit.md for detail.
   ============================================================ */
/* ============================================================
   CRITPRO PDP — Core layout
   Base spacing/box treatment for the options panel, stock row,
   PDP meta/trust block, and tab content. Extracted from the old
   critpro-pdp.scss catch-all (audit cleanup, no rule changes).
   ============================================================ */
body.page-type-product .productView-details {
  padding-bottom: 0; }

body.page-type-product .productView-options {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }

body.page-type-product .productView-price {
  margin-bottom: 10px; }

body.page-type-product .productView-options-summary {
  padding-bottom: 8px;
  border-bottom: 1px solid #efefef;
  margin-bottom: 14px; }

body.page-type-product .form-field--stock {
  margin: 0 0 10px;
  font-size: 14px; }

body.page-type-product .form-field--stock .form-label {
  margin-bottom: 0;
  color: #1f7a1f;
  font-weight: 600; }

body.page-type-product .cp-pdp-meta {
  display: none; }

body.page-type-product .cp-pdp-meta__item {
  min-width: 0; }

body.page-type-product .cp-pdp-meta__label {
  display: block;
  margin-bottom: 3px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #666; }

body.page-type-product .cp-pdp-meta__value {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  color: #222;
  word-break: break-word; }

body.page-type-product .cp-pdp-meta__value--brand a {
  color: inherit;
  text-decoration: none; }

body.page-type-product .cp-pdp-meta__value--brand a:hover,
body.page-type-product .cp-pdp-meta__value--brand a:focus {
  color: #097276; }

body.page-type-product .cp-pdp-trust {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #ececec; }

body.page-type-product .cp-pdp-trust__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.35;
  color: #222; }

body.page-type-product .cp-pdp-trust__icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #097276;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  font-weight: 700; }

body.page-type-product .productView-tabs {
  margin-top: 28px; }

body.page-type-product .productView-tab-content,
body.page-type-product .productView-properties-content,
body.page-type-product .productView-warranty-content,
body.page-type-product .productView-addition-content {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px; }

@media (max-width: 800px) {
  body.page-type-product .productView-options {
    padding: 14px;
    border-radius: 6px; } }

/* Sticky add to cart: scope padding to product pages only.
   (The sticky bar component itself lives in pdp/_04-sticky-atc.scss —
   this is just the body offset so page content doesn't sit under it.) */
body.page-type-product {
  padding-bottom: 70px; }

@media (max-width: 768px) {
  body.page-type-product {
    padding-bottom: 76px; } }

/* ============================================================
   CRITPRO PDP — Product Reviews final styling
   Extracted from the old critpro-pdp.scss catch-all (audit cleanup).

   AUDIT FIX: .productView-reviews-heading was previously declared
   twice in this file (once at 22px, then a second "FORCE" rule at
   20px further down). The second rule was winning on the live site
   for font-size/font-weight/color/letter-spacing, with line-height
   and margin still inherited from the first since the second rule
   never set them. Merged into a single rule below with exactly
   that resolved set of values — no visual change, one source of
   truth going forward.
   ============================================================ */
.productView-reviews-contentSummary {
  border: 0;
  background: transparent;
  padding: 0;
  margin-top: 8px !important; }

.productView-reviews-heading-toggle {
  display: block !important;
  padding: 0;
  margin: 0; }

.productView-reviews-heading {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #222 !important;
  letter-spacing: 0;
  margin: 0 0 12px !important; }

.productView-reviews-heading-viewall {
  display: none !important; }

.productReviews-list {
  margin: 0 !important;
  padding: 0;
  list-style: none !important; }

.productReview {
  margin: 0;
  padding: 12px 0 !important;
  border-top: 1px solid #ededed;
  list-style: none; }

.productReview:first-child {
  border-top: 0;
  padding-top: 0; }

.productReview header {
  margin-bottom: 6px; }

.productReview-author {
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #555 !important;
  margin: 0 0 6px; }

.productReview-rating {
  margin-bottom: 8px !important; }

.productReview-title {
  display: none; }

.productReview-content {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #333;
  margin: 0; }

.productView-reviews-panel-heading {
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.3;
  color: #222 !important;
  margin: 0 0 12px !important; }

/* Mobile only — align stars, Reviews, and Write a Review */
@media (max-width: 800px) {
  .productReview header {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px; }
  .productReview-author {
    font-size: 13px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .productReview-rating {
    display: flex !important;
    margin: 0; } }

/* ============================================================
   CRITPRO PDP — Reviews "load more" button
   Extracted from the old critpro-pdp.scss catch-all (audit cleanup).
   ============================================================ */
.cpReviewsMoreWrap {
  display: flex;
  justify-content: center;
  margin: 10px 0 0 !important; }

.cpReviewsMoreBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.2;
  background: transparent;
  color: #0f4f4f;
  border: 1px solid #0f4f4f;
  border-radius: 4px;
  text-transform: none;
  box-shadow: none; }

.cpReviewsMoreBtn:hover,
.cpReviewsMoreBtn:focus {
  background: transparent;
  color: #0f4f4f;
  border-color: #0f4f4f; }

@media (max-width: 800px) {
  .cpReviewsMoreWrap {
    margin: 10px 0 0 !important; }
  .cpReviewsMoreBtn {
    min-width: 132px !important;
    padding: 7px 12px !important;
    font-size: 12px !important; } }

@media (max-width: 800px) {
  .productReview-content,
  .cpReviewText {
    font-size: 16px;
    line-height: 1.65; } }

.productReview-rating {
  position: relative;
  top: -1px; }

/* ============================================================
   CRITPRO PDP — Price / savings badge (canonical)
   Extracted from the old critpro-pdp.scss catch-all (audit cleanup).

   AUDIT FIX: .cp-save-badge was previously defined TWICE — once
   here (scoped ".productView-price .cp-save-badge") and once in
   chiara-custom.scss (scoped ".page-type-product .cp-save-badge"),
   with different padding/border-radius/margin values. Because this
   file compiled after chiara-custom.scss, this definition was the
   one actually winning on the live site. This is now the single
   source of truth; the shadowed chiara-custom.scss copy has been
   removed (see critpro/chiara-custom/_56-pdp-price-badge.scss).
   The one unique property from the removed copy (min-height: 28px
   at <=550px) is preserved below so nothing visually changes.
   ============================================================ */
/* Hide native stacked MSRP/non-sale/save rows on PDP; the custom badge below handles savings cleanly. */
.productView-price .rrp-price--withTax,
.productView-price .rrp-price--withoutTax,
.productView-price .non-sale-price--withTax,
.productView-price .non-sale-price--withoutTax,
.productView-price .price-section--saving,
.productView-price .cp-price-meta-row {
  display: none; }

.productView-price .cp-save-badge {
  display: inline-flex;
  align-items: center;
  width: auto;
  max-width: 100%;
  margin-top: 8px;
  padding: 5px 10px;
  border: 1px solid #f3c7c7;
  border-radius: 6px;
  background: #fff1f1;
  color: #9f1d1d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  white-space: normal; }

.productView-price .price-section-group {
  margin-bottom: 8px; }

@media (max-width: 800px) {
  .productView-price .cp-save-badge {
    margin-top: 7px;
    padding: 5px 9px;
    font-size: 12px; } }

@media (max-width: 550px) {
  .productView-price .cp-save-badge {
    min-height: 28px; } }

/* ============================================================
   CRITPRO PDP 10/10 CONVERSION LAYOUT — FINAL OVERRIDES
   Extracted from the old critpro-pdp.scss catch-all (audit cleanup).
   ============================================================ */
body.page-type-product .productView-title {
  color: #172d33;
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -.015em; }

body.page-type-product .productView-brand {
  margin-top: 2px;
  margin-bottom: 5px; }

body.page-type-product .productView-rating {
  margin-bottom: 7px; }

body.page-type-product .productView-priceTopBlock--belowInfo {
  margin-top: 4px;
  margin-bottom: 8px; }

body.page-type-product .productView-priceTopBlock--belowInfo .productView-price {
  margin-bottom: 3px; }

body.page-type-product .productView-price .price--main {
  color: #172d31;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.02em; }

body.page-type-product .productView-options {
  margin-top: 2px;
  padding: 13px 14px 14px;
  border-color: #dfe7e7;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(20, 52, 58, 0.045); }

body.page-type-product .productView-options-panel-heading {
  display: none !important; }

body.page-type-product .productView-options-summary {
  display: none !important; }

body.page-type-product .productView-optionsGrid {
  margin-bottom: 10px; }

body.page-type-product .productView-optionsGrid .cp-qtyField {
  margin: 0;
  padding: 0;
  border: 0; }

body.page-type-product .productView-optionsGrid .cp-qtyStack {
  gap: 0; }

body.page-type-product .productView-optionsGrid .cp-qtyRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px; }

body.page-type-product .productView-optionsGrid .cp-qtyRow .form-label {
  color: #36484c;
  font-size: 13px;
  font-weight: 750; }

body.page-type-product .productView-optionsGrid .form-increment {
  margin: 0; }

body.page-type-product .productView-payments {
  margin-top: 4px; }

@media (min-width: 801px) {
  body.page-type-product .productView-title {
    color: #263b3f;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.15; } }

@media (max-width: 800px) {
  body.page-type-product .productView-title {
    font-size: 22px !important;
    line-height: 1.2; }
  body.page-type-product .productView-price .price--main {
    font-size: 29px; }
  body.page-type-product .productView-options {
    margin-top: 5px;
    padding: 12px;
    border-radius: 7px; } }
