/*
 * Country Mouldings modern visual layer.
 *
 * This stylesheet is intentionally loaded after the legacy main-site and
 * Zen Cart styles.  It modernizes presentation without changing storefront
 * behavior, URLs, product configuration, cart, or checkout logic.
 */

:root {
  --cm-white: #fff;
  --cm-ink: #292725;
  --cm-muted: #66615c;
  --cm-charcoal: #292725;
  --cm-charcoal-soft: #383431;
  --cm-wood: #75441f;
  --cm-wood-dark: #573117;
  --cm-sale: #c91f1f;
  --cm-border: #e3ddd6;
  --cm-soft: #f7f4f0;
  --cm-shadow-sm: 0 2px 10px rgba(45, 34, 24, 0.08);
  --cm-shadow-md: 0 10px 28px rgba(45, 34, 24, 0.12);
  --cm-radius: 8px;
  --cm-radius-lg: 12px;
  --cm-content-width: 1540px;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--cm-white) !important;
  color: var(--cm-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  text-rendering: optimizeLegibility;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  height: auto;
  max-width: 100%;
}

a,
a:link,
a:visited {
  color: var(--cm-wood);
  text-decoration-color: rgba(117, 68, 31, 0.35);
  text-underline-offset: 0.16em;
}

a:hover,
a:focus-visible {
  color: var(--cm-wood-dark);
}

:focus-visible {
  outline: 3px solid rgba(117, 68, 31, 0.35);
  outline-offset: 3px;
}

#mainWrapper {
  background: var(--cm-white) !important;
  margin: 0 auto !important;
  max-width: 1600px;
  width: 100% !important;
}

#indexHomeBody #mainWrapper {
  max-width: 100%;
}

#headerWrapper {
  background: var(--cm-white) !important;
}

/* Utility navigation */
#navMainWrapper {
  background: var(--cm-charcoal) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
  min-height: 42px;
}

#navMain {
  float: none !important;
  margin: 0 auto !important;
  max-width: var(--cm-content-width);
  position: static !important;
  width: 100% !important;
}

#navMain ul,
#navMain ul.back {
  align-items: stretch;
  display: flex;
  float: none !important;
  gap: 0;
  margin: 0;
  padding: 0 12px;
  width: auto !important;
}

#navMain ul li,
#navMain ul.back > li {
  align-items: stretch;
  display: flex;
  float: none;
  margin: 0;
}

#navMain ul li a,
#navMain ul.back > li > a {
  align-items: center;
  border-radius: 0;
  color: #fff !important;
  display: flex;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  min-height: 42px;
  padding: 0 16px !important;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}

#navMain ul li a:hover,
#navMain ul li a:focus-visible {
  background: var(--cm-wood) !important;
  color: #fff !important;
}

#menu-button {
  display: none !important;
}

#navMain ul li a.navCartContentsIndicator {
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 5px;
  color: #fff !important;
  margin: 5px 2px;
  min-height: 32px;
}

/* Brand and promotion block */
#logoWrapper,
#logoWrapper.onerow-fluid {
  align-items: center !important;
  display: grid !important;
  grid-template-columns: minmax(210px, 1fr) minmax(420px, auto) minmax(210px, 1fr) !important;
  margin: 0 auto !important;
  max-width: var(--cm-content-width) !important;
  min-height: 132px;
  padding: 18px 28px;
  width: 100% !important;
}

#logo {
  float: none !important;
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  margin: 0 !important;
  text-align: center;
}

#logo a {
  display: inline-block;
  float: none !important;
}

#logo img {
  display: block !important;
  height: auto;
  width: 192px;
}

#taglineWrapper {
  clear: none !important;
  float: none !important;
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  margin: 0 !important;
  padding: 0 18px !important;
  width: 100% !important;
}

#tagline {
  color: var(--cm-wood-dark);
  font-size: 1rem !important;
  line-height: 1.45;
  margin: 0 !important;
  text-align: center;
}

#header_sales_text {
  color: var(--cm-wood-dark) !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
}

#header_sales_text > div:first-of-type {
  color: var(--cm-sale) !important;
  font-size: 1.45rem !important;
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin-top: 2px;
}

#header_sales_text > div:last-of-type {
  color: var(--cm-sale) !important;
  font-size: 0.86rem !important;
}

#logoWrapper > div[style*="clear"] {
  display: none !important;
}

/* Primary category navigation */
#navCatTabsWrapper {
  background: var(--cm-charcoal-soft) !important;
  border-radius: 0 0 var(--cm-radius) var(--cm-radius);
  box-shadow: var(--cm-shadow-sm);
  margin: 0 auto 18px !important;
  max-width: var(--cm-content-width);
  overflow: visible;
  width: calc(100% - 24px) !important;
}

#navCatTabs {
  align-items: stretch;
  display: flex;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
}

#navCatTabs > li {
  margin: 0 !important;
}

#navCatTabs > li > a,
#navCatTabs li a.dropdown_tab {
  color: #fff !important;
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.015em;
  padding: 14px 24px !important;
  text-decoration: none;
  transition: background-color 160ms ease;
}

#navCatTabs > li:hover > a,
#navCatTabs > li > a:hover,
#navCatTabs > li > a:focus-visible {
  background: var(--cm-wood) !important;
  color: #fff !important;
}

#navCatTabs .dropdown-content,
#navCatTabs .dropdown-content-right {
  background: #fff !important;
  border: 1px solid var(--cm-border);
  border-radius: 0 0 var(--cm-radius) var(--cm-radius);
  box-shadow: var(--cm-shadow-md);
  min-width: 230px;
  padding: 8px !important;
}

#navCatTabs .dropdown-content a,
#navCatTabs .dropdown-content-right a {
  background: #fff !important;
  border-radius: 5px;
  color: var(--cm-ink) !important;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.35;
  padding: 9px 12px !important;
  transition: background-color 140ms ease, color 140ms ease;
}

#navCatTabs .dropdown-content a:hover,
#navCatTabs .dropdown-content-right a:hover,
#navCatTabs .dropdown-content a:focus-visible,
#navCatTabs .dropdown-content-right a:focus-visible {
  background: var(--cm-soft) !important;
  color: var(--cm-wood-dark) !important;
}

/* Main three-column layout */
#contentMainWrapper {
  background: var(--cm-white) !important;
  margin: 0 auto;
  max-width: var(--cm-content-width);
  padding: 0 12px 48px;
}

@media screen and (min-width: 900px) {
  #headerWrapper,
  #contentMainWrapper {
    margin-left: auto !important;
    margin-right: auto !important;
    width: calc(100% - 24px) !important;
  }

  #navMainWrapper,
  #logoWrapper.onerow-fluid {
    width: 100% !important;
  }
}

#contentMainWrapper > [class^="col"],
#contentMainWrapper > [class*=" col"] {
  min-width: 0;
}

.centerColumn,
#content_td {
  color: var(--cm-ink);
  font-size: 1rem;
  line-height: 1.65;
  padding: 8px 18px 28px !important;
}

.centerColumn p,
#content_td p {
  line-height: 1.68;
}

h1,
.centerColumn h1,
#content_td h1 {
  color: var(--cm-wood-dark) !important;
  font-family: inherit;
  font-size: clamp(1.75rem, 2.2vw, 2.35rem);
  font-weight: 650;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin: 0 0 0.75em;
}

h2,
.centerColumn h2,
#content_td h2 {
  color: var(--cm-ink);
  font-family: inherit;
  font-size: clamp(1.35rem, 1.8vw, 1.75rem);
  font-weight: 650;
  letter-spacing: -0.015em;
  line-height: 1.3;
}

h3,
.centerColumn h3,
#content_td h3 {
  font-family: inherit;
}

#navBreadCrumb {
  background: var(--cm-soft);
  border-left: 4px solid var(--cm-wood);
  border-radius: 0 var(--cm-radius) var(--cm-radius) 0;
  color: var(--cm-muted);
  font-size: 0.82rem;
  margin: 0 18px 18px;
  padding: 10px 13px !important;
}

#navBreadCrumb a {
  font-weight: 600;
}

/* Sideboxes */
.leftBoxContainer,
.rightBoxContainer {
  background: #fff;
  border: 1px solid var(--cm-border);
  border-radius: var(--cm-radius);
  box-shadow: var(--cm-shadow-sm);
  margin: 0 0 18px;
  overflow: hidden;
}

h3.leftBoxHeading,
h3.rightBoxHeading,
h2.centerBoxHeading,
.leftBoxHeading,
.rightBoxHeading,
.centerBoxHeading {
  background: var(--cm-charcoal-soft) !important;
  border: 0;
  color: #fff !important;
  font-family: inherit;
  font-size: 0.95rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.025em;
  line-height: 1.3;
  margin: 0 !important;
  padding: 13px 12px !important;
}

h3.leftBoxHeading a,
h3.rightBoxHeading a,
h2.centerBoxHeading a {
  color: #fff !important;
}

.sideBoxContent,
.rightBoxContent {
  background: #fff !important;
  color: var(--cm-ink);
  margin-bottom: 0 !important;
  padding: 10px 12px 12px !important;
}

.sideBoxContent ul,
.rightBoxContent ul {
  margin: 0;
  padding: 0;
}

.sideBoxContent li,
.rightBoxContent li {
  list-style: none;
  margin: 0;
}

.sideBoxContent a,
.rightBoxContent a,
.menu3 a,
.menu3 a:link,
.menu3 a:visited {
  border-radius: 5px;
  color: var(--cm-wood) !important;
  display: block;
  font-size: 0.9rem;
  line-height: 1.35;
  padding: 7px 8px !important;
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.sideBoxContent a:hover,
.rightBoxContent a:hover,
.menu3 a:hover {
  background: var(--cm-soft) !important;
  color: var(--cm-wood-dark) !important;
  transform: translateX(2px);
}

.sideBoxContent ul ul a {
  font-size: 0.84rem;
  padding-left: 18px !important;
}

.cm-main-site-bestsellers-column #popularWoodProducts .cm-popular-subheading {
  color: var(--cm-ink) !important;
  font-size: 0.88rem !important;
  font-weight: 700;
  letter-spacing: 0.025em;
  margin: 8px 8px 3px !important;
}

.cm-main-site-bestsellers-column #popularWoodProducts .cm-popular-subheading:not(:first-child) {
  border-top: 1px solid var(--cm-border);
  margin-top: 14px !important;
  padding-top: 14px;
}

.cm-main-site-bestsellers-column #popularWoodProductsContent .wrapper {
  padding-top: 0 !important;
}

/* Homepage hero and calls to action */
.cm-home-hero,
.cm-store-home-hero {
  margin: 0 auto 30px;
  text-align: center;
}

.cm-home-kicker {
  color: var(--cm-wood);
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  margin: 0 0 9px !important;
  text-transform: uppercase;
}

.cm-home-hero h1 {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 1200px) {
  .cm-home-heading-brand {
    display: block;
  }
}

.cm-store-home-hero h1 {
  margin-left: auto;
  margin-right: auto;
  max-width: 850px;
}

.cm-hero-media {
  background: #fff;
  border: 1px solid var(--cm-border);
  border-radius: var(--cm-radius-lg);
  box-shadow: var(--cm-shadow-md);
  line-height: 0;
  overflow: hidden;
}

.cm-hero-media img {
  background: #fff;
  display: block;
  width: 100%;
}

.cm-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 18px 0 0;
}

.cm-hero-actions .cm-modern-button {
  flex: 0 1 230px;
  width: 230px;
}

.cm-hero-more {
  margin: 12px 0 0;
  text-align: center;
}

.cm-hero-more--note {
  color: var(--cm-ink);
  font-size: 0.9rem;
  font-weight: 650;
}

.cm-hero-more a,
.cm-hero-more a:link,
.cm-hero-more a:visited {
  color: var(--cm-wood) !important;
  font-size: 0.9rem;
  font-weight: 650;
  text-decoration: none;
}

.cm-hero-more a:hover,
.cm-hero-more a:focus-visible {
  color: var(--cm-wood-dark) !important;
  text-decoration: underline;
}

.cm-modern-button,
.cm-modern-button:link,
.cm-modern-button:visited {
  align-items: center;
  background: var(--cm-wood);
  border: 1px solid var(--cm-wood);
  border-radius: 6px;
  color: #fff !important;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 650;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cm-modern-button:hover,
.cm-modern-button:focus-visible {
  background: var(--cm-wood-dark);
  border-color: var(--cm-wood-dark);
  box-shadow: var(--cm-shadow-sm);
  color: #fff !important;
  transform: translateY(-1px);
}

.cm-modern-button--secondary,
.cm-modern-button--secondary:link,
.cm-modern-button--secondary:visited {
  background: #fff;
  color: var(--cm-wood) !important;
}

.cm-modern-button--secondary:hover,
.cm-modern-button--secondary:focus-visible {
  background: var(--cm-soft);
  color: var(--cm-wood-dark) !important;
}

.cm-home-lead,
.cm-store-home-lead {
  color: #4c4945;
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0 auto 28px !important;
  max-width: 960px;
}

.cm-info-panel {
  background: var(--cm-soft);
  border: 1px solid var(--cm-border);
  border-left: 5px solid var(--cm-wood);
  border-radius: var(--cm-radius);
  margin: 0 0 28px;
  padding: 20px 22px;
}

.cm-info-panel h2 {
  font-size: 1.25rem;
  margin: 0 0 8px;
}

.cm-info-panel p:last-child {
  margin-bottom: 0;
}

.cm-product-overview {
  margin: 30px 0;
}

.cm-product-overview > h2 {
  margin-bottom: 16px;
  text-align: center;
}

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

.cm-product-card,
.cm-product-card:link,
.cm-product-card:visited {
  background: #fff;
  border: 1px solid var(--cm-border);
  border-radius: var(--cm-radius);
  color: var(--cm-ink) !important;
  display: block;
  min-height: 100%;
  padding: 18px;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cm-product-card strong {
  color: var(--cm-wood-dark);
  display: block;
  font-size: 1rem;
  margin-bottom: 5px;
}

.cm-product-card span {
  color: var(--cm-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.cm-product-card:hover,
.cm-product-card:focus-visible {
  border-color: rgba(117, 68, 31, 0.5);
  box-shadow: var(--cm-shadow-md);
  color: var(--cm-ink) !important;
  transform: translateY(-2px);
}

/* Product and category presentation */
#categoryImgListing,
#categoryDescription > img,
#indexDefaultMainContent > img,
#productMainImage img,
.centerColumn > img[style*="width:100%"] {
  background: #fff;
  border-radius: var(--cm-radius);
}

.categoryListBoxContents,
.centerBoxContentsProducts,
.centerBoxContentsFeatured,
.centerBoxContentsNew,
.centerBoxContentsSpecials,
.centerBoxContentsAlsoPurch,
.specialsListBoxContents {
  background: #fff !important;
  border: 1px solid transparent;
  border-radius: var(--cm-radius);
  box-sizing: border-box;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.categoryListBoxContents:hover,
.centerBoxContentsProducts:hover,
.centerBoxContentsFeatured:hover,
.centerBoxContentsNew:hover,
.centerBoxContentsSpecials:hover,
.centerBoxContentsAlsoPurch:hover,
.specialsListBoxContents:hover {
  background: #fff !important;
  border-color: var(--cm-border);
  box-shadow: var(--cm-shadow-sm);
  transform: translateY(-2px);
}

.categoryListBoxContents a:hover,
.categoryListBoxContents:hover a {
  color: var(--cm-wood-dark) !important;
}

.productListing-odd,
.productListing-even,
.productListing-rowheading {
  border-bottom: 1px solid var(--cm-border);
}

#productGeneral #productName,
#productGeneral h1 {
  text-align: center;
}

#productDescription,
#categoryDescription,
#indexDefaultMainContent {
  color: var(--cm-ink);
  line-height: 1.68;
}

#productMainImage {
  margin-bottom: 18px;
}

#featuredProducts,
#whatsNew,
#specialsDefault,
.centerBoxWrapper {
  border: 0;
  margin-top: 28px;
}

#featuredProducts > div > div > div {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#featuredProducts .centerBoxContentsFeatured {
  float: none !important;
  font-size: 1rem !important;
  margin: 0 !important;
  min-height: 210px;
  padding: 20px 14px !important;
  width: auto !important;
}

#featuredProducts .centerBoxContentsFeatured a {
  color: var(--cm-wood) !important;
  font-size: 0.95rem;
  line-height: 1.45;
  margin: 8px auto;
  max-width: 230px;
  text-decoration: none;
  width: auto;
}

#featuredProducts .centerBoxContentsFeatured img {
  background: #fff;
  height: auto;
  margin: 0 auto 8px;
  max-height: 110px;
  max-width: 170px;
  width: auto;
}

#featuredProducts br.clearBoth {
  display: none;
}

/* Forms and storefront actions */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
select,
textarea {
  background: #fff;
  border: 1px solid #bdb5ad;
  border-radius: 5px;
  color: var(--cm-ink);
  font: inherit;
  min-height: 40px;
  padding: 8px 10px;
}

textarea {
  min-height: 120px;
}

input:focus,
select:focus,
textarea:focus {
  background: #fff !important;
  border-color: var(--cm-wood);
  box-shadow: 0 0 0 3px rgba(117, 68, 31, 0.14);
  outline: none;
}

input.submit_button,
input.submit_button:hover,
input.cssButtonHover,
span.normal_button,
a.list-more {
  background: var(--cm-wood) !important;
  border: 1px solid var(--cm-wood) !important;
  border-radius: 6px !important;
  box-shadow: none;
  color: #fff !important;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  font-size: 0.95rem !important;
  font-weight: 650;
  height: auto !important;
  line-height: 1.25;
  min-height: 42px;
  padding: 11px 18px !important;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

#contact_submit:focus-visible {
  outline: 3px solid var(--cm-wood-dark);
  outline-offset: 3px;
}

input.submit_button:hover,
input.cssButtonHover:hover,
span.normal_button:hover,
a.list-more:hover {
  background: var(--cm-wood-dark) !important;
  border-color: var(--cm-wood-dark) !important;
  box-shadow: var(--cm-shadow-sm);
  transform: translateY(-1px);
}

@media (min-width: 769px) {
  a.list-more {
    font-size: 0.85rem !important;
    min-height: 36px;
    padding: 8px 14px !important;
  }
}

fieldset {
  border: 1px solid var(--cm-border);
  border-radius: var(--cm-radius);
  padding: 16px;
}

legend {
  color: var(--cm-wood-dark);
  font-weight: 650;
  padding: 0 7px;
}

/* Footer */
#navSuppWrapper {
  background: var(--cm-charcoal) !important;
  color: #fff;
  display: none !important;
}

#navSuppWrapper {
  margin-top: 30px !important;
  padding: 12px;
}

#navSuppWrapper a {
  color: #fff !important;
}

.cm-footer {
  background: var(--cm-soft) !important;
  border-bottom: 1px solid var(--cm-border);
  border-top: 1px solid var(--cm-border);
  color: var(--cm-ink);
}

.cm-footer a {
  color: var(--cm-wood) !important;
}

#siteinfoLegal,
#siteinfoCredits,
#siteinfoStatus {
  background: var(--cm-charcoal) !important;
  border: 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.8rem;
  padding: 10px 12px !important;
}

@media screen and (max-width: 899px) {
  body {
    font-size: 15px;
  }

  #navMainWrapper {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  #navMain {
    float: none !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
  }

  #navMain ul,
  #navMain ul.back {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 6px;
  }

  #navMain ul li,
  #navMain ul.back > li {
    margin: 0 !important;
  }

  #navMain ul li a,
  #navMain ul.back > li > a {
    font-size: 0.88rem;
    min-height: 40px;
    padding: 0 12px !important;
  }

  #menu-button {
    display: flex !important;
  }

  #nav-menu {
    height: 100vh !important;
    height: 100dvh !important;
    inset: 0 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 16px 24px !important;
    position: fixed !important;
    width: 100% !important;
    z-index: 1100 !important;
    -webkit-overflow-scrolling: touch;
  }

  #hide-menu-button {
    align-items: center;
    background: var(--cm-charcoal) !important;
    color: #fff !important;
    display: flex;
    font-size: 1rem;
    font-weight: 700;
    justify-content: space-between;
    line-height: 1;
    margin: 0 -16px 12px;
    min-height: 48px;
    padding: 0 16px;
    position: sticky;
    top: 0;
    z-index: 1;
  }

  #hide-menu-button::after {
    content: "\00d7";
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1;
  }

  #logoWrapper,
  #logoWrapper.onerow-fluid {
    display: flex !important;
    flex-direction: column;
    min-height: 0;
    padding: 20px 14px 22px;
  }

  #logo {
    margin: 0 0 12px !important;
  }

  #taglineWrapper {
    margin: 0 !important;
    padding: 0 !important;
  }

  #header_sales_text {
    font-size: 0.98rem !important;
  }

  #header_sales_text > div:first-of-type {
    font-size: 1.3rem !important;
  }

  #navCatTabsWrapper {
    border-radius: 0;
    margin-bottom: 10px !important;
    width: 100% !important;
  }

  #contentMainWrapper {
    padding: 0 0 36px;
  }

  .centerColumn,
  #content_td {
    padding: 14px 15px 28px !important;
  }

  #navBreadCrumb {
    margin: 0 15px 15px;
  }

  .cm-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #featuredProducts > div > div > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 600px) {
  body {
    font-size: 16px;
    line-height: 1.55;
  }

  #mainWrapper {
    overflow-x: clip;
  }

  #logo img {
    width: 192px;
  }

  #tagline,
  #header_sales_text {
    line-height: 1.4 !important;
  }

  h1,
  .centerColumn h1,
  #content_td h1 {
    font-size: 1.7rem;
  }

  h2,
  .centerColumn h2,
  #content_td h2 {
    font-size: 1.35rem;
  }

  .cm-home-hero,
  .cm-store-home-hero {
    margin-bottom: 24px;
  }

  .cm-hero-media {
    border-radius: 8px;
    box-shadow: var(--cm-shadow-sm);
  }

  .cm-hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .cm-modern-button,
  .cm-modern-button:link,
  .cm-modern-button:visited {
    width: 100%;
  }

  .cm-hero-actions .cm-modern-button {
    flex-basis: auto;
    width: 100%;
  }

  .cm-home-lead,
  .cm-store-home-lead {
    font-size: 1rem;
  }

  .cm-info-panel {
    padding: 17px 16px;
  }

  .cm-product-grid {
    grid-template-columns: 1fr;
  }

  #featuredProducts > div > div > div {
    grid-template-columns: 1fr;
  }

  #featuredProducts .centerBoxContentsFeatured {
    min-height: 0;
  }

  .cm-product-card {
    padding: 16px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="tel"],
  select,
  textarea {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
