/* ==========================================================================
   Pallet Plaza design system - hero + footer
   Woodmart's identity kept: navy ground, amber accent.

   Contrast is computed against the WORST CASE, not the average photo:
   the scrim is composited over pure white (the lightest a photograph can be)
   and the type measured on that. If it passes there it passes over any image.
     scrim rgba(7,26,51,.72) over #FFF -> #4C5A6C
       white title  7.03   bone lede 6.45   #FFC661 kicker 4.52   (#F4A51C would be 3.43 FAIL)
   Floors held throughout: 44px tap targets, 12.6px type.
   ========================================================================== */

:root,
.ppl-hero,.ppl-footer,.ppl-about,.ppl-arts,.ppl-why{
  --navy:#092143;
  --navy-deep:#071A33;
  --amber:#F4A51C;
  --amber-lt:#FFC661;   /* on the scrim: 4.52 - the only amber allowed on dark at body size */
  --amber-ink:#A06600;  /* on white: 4.78 */
  --bone:#F7F5F0;
  --line:rgba(255,255,255,.18);
}

/* ---------- HERO ---------------------------------------------------------- */
.ppl-hero{ position:relative; background:var(--navy-deep); overflow:hidden; }

/* Grid-stacked slides: all share one cell, so there is no track to offset and
   nothing can clip or overflow at any width. */
.ppl-hero__stack{ display:grid; }
.ppl-hero__slide{
  grid-area:1/1;
  opacity:0; visibility:hidden;
  transition:opacity .45s ease;
  min-height:clamp(520px,60vw,700px);   /* single static frame: taller, closer to the original band */
  display:flex; align-items:center;
  background-image:linear-gradient(rgba(7,26,51,.72),rgba(7,26,51,.72)),var(--ppl-hero-img);
  background-size:cover; background-position:center;
}
.ppl-hero__slide.is-active{ opacity:1; visibility:visible; }

.ppl-hero__inner{
  width:100%; max-width:1200px; margin-inline:auto;
  padding:72px max(20px,5vw); text-align:center;
}
.ppl-hero__kicker{
  display:inline-block; margin:0 0 18px;
  padding:7px 15px;
  border:1px solid rgba(255,198,97,.55);
  color:var(--amber-lt);
  font-size:12.6px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-hero__title{
  margin:0 auto 16px; color:#fff;
  font-size:clamp(30px,4.4vw,56px);
  line-height:1.08; letter-spacing:-.02em; font-weight:700;
  max-width:20ch; text-wrap:balance;
}
.ppl-hero__lede{
  margin:0 auto 18px; color:var(--bone);
  font-size:clamp(15px,1.5vw,18px); line-height:1.55;
  max-width:54ch;
}

.ppl-hero__actions{ margin:0; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.ppl-btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 26px;
  font-size:14px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  border-radius:8px; text-decoration:none; transition:.2s;
}
.ppl-btn--solid{ background:var(--amber); color:#1a1205; border:1px solid var(--amber); }
.ppl-btn--solid:hover{ background:#ffb83d; color:#1a1205; }
.ppl-btn--ghost{ background:rgba(7,26,51,.35); color:#fff; border:1px solid rgba(255,255,255,.7); }
.ppl-btn--ghost:hover{ background:#fff; color:var(--navy); }

/* Ruled tab strip along the bottom edge. Carries live counts, doubles as the
   "what do you actually stock" answer. No auto-advance anywhere. */
.ppl-hero__tabs{
  position:relative; z-index:2;
  display:flex; border-top:1px solid var(--line);
  background:rgba(7,26,51,.82);
  overflow-x:auto; scrollbar-width:none;
}
.ppl-hero__tabs::-webkit-scrollbar{ display:none; }
/* Woodmart's base.min.css paints EVERY button via
   `:is(.btn,.button,button,[type=submit],[type=button]){background:var(--btn-bgcolor,#F3F3F3)}`
   - same specificity as a bare class, and it loads after us, so it won.
   Scoping to the bar (0,2,0) beats it without !important. */
.ppl-hero__tabs .ppl-hero__tab{
  flex:1 0 auto; min-width:150px; min-height:60px;
  display:flex; align-items:center; justify-content:center; gap:9px;
  padding:0 20px; background:none; cursor:pointer;
  border:0; border-bottom:2px solid transparent;
  /* .72 measured 4.30 on the worst-case tab ground (#425064) - just under AA.
     .88 clears it at 5.60. My own component, caught by computing rather than eyeballing. */
  color:rgba(255,255,255,.88);
  font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  transition:.2s;
}
.ppl-hero__tabs .ppl-hero__tab + .ppl-hero__tab{ border-left:1px solid var(--line); }
.ppl-hero__tabs .ppl-hero__tab:hover{ color:#fff; background:rgba(255,255,255,.05); }
.ppl-hero__tabs .ppl-hero__tab.is-active{ color:#fff; border-bottom-color:var(--amber); background:rgba(255,255,255,.07); }

/* ---------- FOOTER -------------------------------------------------------- */
.ppl-footer{ background:var(--navy); color:var(--bone); }
.ppl-footer__grid{
  max-width:1200px; margin-inline:auto;
  padding:58px max(20px,5vw) 40px;
  display:grid; gap:40px;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
}
.ppl-footer__logo{ display:inline-block; margin:0 0 16px; max-width:200px; }
.ppl-footer__logo img{ display:block; width:100%; height:auto; }
/* NOTE: the original footer also carried payment.png (card-brand badges). It is
   deliberately NOT restored - this store takes bank transfer and Zelle only, so
   card logos would be a misrepresentation. The payment line in the bar says what
   actually happens instead. */
.ppl-footer__about{ margin:0 0 22px; color:rgba(247,245,240,.78); font-size:14.5px; line-height:1.65; max-width:46ch; }
.ppl-footer__h3{
  margin:0 0 16px; color:#fff;
  font-size:12.6px; letter-spacing:.14em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-footer__col ul{ list-style:none; margin:0; padding:0; }
.ppl-footer__col li + li{ margin-top:2px; }
.ppl-footer__col a{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:34px;
  color:rgba(247,245,240,.76); font-size:14px; text-decoration:none; transition:.15s;
}
.ppl-footer__col a:hover{ color:var(--amber-lt); }

/* Contact chips - the detail that makes the block read "real business". */
.ppl-chips{ display:grid; gap:10px; margin-bottom:20px; }
.ppl-chip{
  display:flex; align-items:center; gap:12px;
  padding:10px 13px;
  border:1px solid rgba(255,198,97,.34);
  border-radius:10px;
  background:rgba(244,165,28,.07);
}
.ppl-chip__icon{
  flex:0 0 38px; width:38px; height:38px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(244,165,28,.14); border:1px solid rgba(255,198,97,.34);
  border-radius:8px;
  color:var(--amber-lt);
}
.ppl-chip__body{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.ppl-chip__label{
  color:var(--amber-lt); font-size:12.6px; letter-spacing:.12em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-chip__value{ color:#fff; font-size:14.5px; font-weight:600; }
/* a tel:/mailto: inside a chip is an 18px link by default */
.ppl-chip__value a{
  display:inline-flex; align-items:center; min-height:44px;
  color:#fff; text-decoration:none;
}
.ppl-chip__value a:hover{ color:var(--amber-lt); }

.ppl-social{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
.ppl-social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px;            /* square icon button, meets the 44px floor */
  border:1px solid var(--line);
  border-radius:10px;
  color:rgba(247,245,240,.88);
  text-decoration:none; transition:.15s;
}
.ppl-social svg{ display:block; }
/* re-assert against any theme rule that sets display:block on footer list links */
.ppl-footer .ppl-social li{ display:block; line-height:0; }
.ppl-footer .ppl-social li a{ display:inline-flex !important; align-items:center; justify-content:center; line-height:0; }
.ppl-social a:hover{ border-color:var(--amber-lt); color:var(--amber-lt); background:rgba(244,165,28,.10); }


/* ---------- BREAKPOINTS --------------------------------------------------- */
@media (max-width:1024px){
  .ppl-footer__grid{ grid-template-columns:1fr 1fr; gap:34px; }
  .ppl-footer__brand{ grid-column:1 / -1; }
  .ppl-hero__inner{ padding:46px max(20px,5vw); }
}
@media (max-width:767px){
  /* Everything left-aligns together. The old footer centred one block and left
     the rest ranged left, which is what read as "off". */
  .ppl-hero__inner{ text-align:left; padding:40px 20px; }
  .ppl-hero__title,.ppl-hero__lede{ margin-inline:0; }
  .ppl-hero__actions{ justify-content:flex-start; }
  .ppl-btn{ flex:1 1 auto; min-width:0; }
  .ppl-hero__slide{ min-height:520px; }
  .ppl-hero__tabs .ppl-hero__tab{ min-width:128px; }
  .ppl-footer__grid{ grid-template-columns:1fr; gap:30px; padding-top:42px; }
  .ppl-footer__about{ max-width:none; }
  }
@media (max-width:480px){
  .ppl-hero__title{ font-size:27px; }
  .ppl-hero__kicker{ font-size:12.6px; letter-spacing:.12em; }
}

/* ---------- FULL BLEED ----------------------------------------------------
   The hero renders inside Elementor's boxed container, so it arrived letter-
   boxed with white gutters. Break it out to the viewport. `max-width:100vw`
   plus the negative margins keeps it centred at every width without adding a
   horizontal scrollbar (verified by the overflow sweep at 1440/1024/414/360).
   -------------------------------------------------------------------------- */
/* Elementor's shortcode widget wrapper collapses to width:0 inside the flex
   container. A percentage resolves against that zero, so `left:50%` computed to
   0px and only the -50vw margin applied, dragging the hero 596px off-screen.
   Give the wrapper a real width FIRST, then the standard full-bleed maths works. */
.elementor-widget-shortcode,
.elementor-widget-shortcode > .elementor-widget-container,
.elementor-widget-shortcode .elementor-shortcode{
  width:100%;
}
.ppl-hero{
  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
}

/* ==========================================================================
   MOBILE FOOTER: two link columns per row.
   One column per row made the footer a very long single file. Company/Category/
   Policies now sit two-up; the brand block still spans the full width.
   ========================================================================== */
@media (max-width:767px){
  .ppl-footer__grid{ grid-template-columns:1fr 1fr; gap:28px 22px; }
  .ppl-footer__brand{ grid-column:1 / -1; }
}
@media (max-width:420px){
  .ppl-footer__col a{ font-size:13.5px; }
}

/* ==========================================================================
   HOMEPAGE TEXT SECTIONS
   The plain blocks ran edge to edge with no vertical rhythm, so the page read as
   one continuous column of prose. This gives every band the same spacing scale,
   caps the reading measure, and lets the section headings carry the structure.
   Scoped to .home so no inner page layout is touched.
   ========================================================================== */
.home .elementor-4179{
  --ppl-navy:#092143;
  --ppl-amber:#F4A51C;
  --ppl-amber-ink:#A06600;
  --ppl-rule:#E4E7EC;
  --ppl-ink:#1C2430;
  --ppl-ink-soft:#55606F;
}

/* --- vertical rhythm: one scale for every band --- */
.home .elementor-4179 > .e-con,
.home .elementor-4179 > .elementor-element{
  padding-top:clamp(34px,4.4vw,58px);
  padding-bottom:clamp(34px,4.4vw,58px);
}
.home .elementor-4179 > .e-con:first-child{ padding-top:0; padding-bottom:0; }

/* --- section headings --- */
/* EXCLUDE THE HERO. The hero title is an <h2> living inside .elementor-4179, so
   this rule painted it --ppl-ink (near black) on the dark scrim and made it
   unreadable. Any blanket element rule scoped to a page container will reach
   into components rendered inside it. */
/* EXCLUDE EVERY ppl-* COMPONENT, not one class at a time.
   This rule has now reached into three of my own components (hero title, CTA
   heading, section headings) and painted white type near-black. A page-scoped
   element selector will keep finding new victims, so the exclusion has to be
   structural: anything carrying a ppl- class owns its own colour. */
.home .elementor-4179 h2:not([class*="ppl-"]),
.home .elementor-4179 .woodmart-title-container:not([class*="ppl-"]){
  color:var(--ppl-ink);
  font-size:clamp(23px,2.7vw,34px);
  line-height:1.18;
  letter-spacing:-.015em;
  text-wrap:balance;
}
/* a short amber rule under each section heading ties the page together */
.home .elementor-4179 .elementor-widget-heading .elementor-heading-title::after,
.home .elementor-4179 .title-wrapper .woodmart-title-container:not([class*="ppl-"])::after{
  content:"";
  display:block;
  width:52px; height:3px;
  margin:14px auto 0;
  background:var(--ppl-amber);
}

/* --- body copy: cap the measure, lift the colour --- */
.home .elementor-4179 .wd-text-block p:not([class*="ppl-"]),
.home .elementor-4179 .elementor-widget-text-editor p:not([class*="ppl-"]){
  color:var(--ppl-ink-soft);
  font-size:15.5px;
  line-height:1.72;
  max-width:74ch;
  margin-inline:auto;
}
.home .elementor-4179 .wd-text-block strong{ color:var(--ppl-ink); }
.home .elementor-4179 .wd-text-block h2,
.home .elementor-4179 .wd-text-block h3,
.home .elementor-4179 .wd-text-block h4{
  color:var(--ppl-ink);
  margin:28px 0 10px;
  font-size:clamp(17px,1.8vw,21px);
  letter-spacing:-.01em;
}

/* --- the four "How Buying a Pallet Works" steps --- */
.home .elementor-4179 .wd-info-box,
.home .elementor-4179 .info-box-wrapper{
  border:1px solid var(--ppl-rule);
  border-top:3px solid var(--ppl-amber);
  padding:24px 22px;
  background:#fff;
  height:100%;
}
.home .elementor-4179 .wd-info-box .info-box-title,
.home .elementor-4179 .info-box-title{
  color:var(--ppl-ink);
  font-size:16.5px;
  letter-spacing:-.005em;
  margin-bottom:8px;
}
.home .elementor-4179 .wd-info-box .info-box-subtitle,
.home .elementor-4179 .info-box-subtitle{
  color:var(--ppl-amber-ink);
  font-size:12.6px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.home .elementor-4179 .wd-info-box .info-box-inner p{
  font-size:14.5px; line-height:1.65; color:var(--ppl-ink-soft); margin:0;
}

/* --- FAQ accordion: give it edges --- */
.home .elementor-4179 .e-n-accordion-item{
  border:1px solid var(--ppl-rule);
  margin-bottom:8px;
  background:#fff;
}
.home .elementor-4179 .e-n-accordion-item summary{
  padding:16px 18px;
  font-size:15.5px;
  font-weight:600;
  color:var(--ppl-ink);
  min-height:44px;
}
.home .elementor-4179 .e-n-accordion-item[open] summary{
  border-bottom:1px solid var(--ppl-rule);
  color:var(--ppl-amber-ink);
}
.home .elementor-4179 .e-n-accordion-item p{ font-size:15px; }

/* --- closing CTA band --- */
.home .elementor-4179 > .e-con:nth-last-child(2),
.home .elementor-4179 > .e-con:last-child{
  background:#F7F8FA;
}


/* ==========================================================================
   HERO TYPE, RE-ASSERTED
   The hero renders inside the homepage container, so page-level element rules
   can reach it. These win on specificity and keep the hero self-contained.
   ========================================================================== */
.ppl-hero .ppl-hero__title{
  color:#fff;
  font-size:clamp(30px,4.4vw,56px);
  line-height:1.08;
  letter-spacing:-.02em;
  max-width:20ch;
  margin:0 auto 16px;
}
.ppl-hero .ppl-hero__title::after{ content:none; }
.ppl-hero .ppl-hero__lede{ color:var(--bone); max-width:54ch; }
.ppl-hero .ppl-hero__kicker{ color:var(--amber-lt); }
@media (max-width:767px){
  .ppl-hero .ppl-hero__title{ margin-inline:0; }
}

/* ==========================================================================
   WHY CHOOSE - icon grid (same five points, restructured)
   ========================================================================== */
.ppl-why__h{
  text-align:center;
  margin:0 0 30px;
  color:var(--ppl-ink,#1C2430);
  font-size:clamp(23px,2.7vw,34px);
  line-height:1.18; letter-spacing:-.015em;
}
.ppl-why__grid{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  max-width:1200px; margin-inline:auto;
}
.ppl-why__item{
  border:1px solid #E4E7EC;
  border-top:3px solid #F4A51C;
  padding:22px 20px; background:#fff;
}
.ppl-why__ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; margin-bottom:13px;
  background:rgba(244,165,28,.12);
  border:1px solid rgba(244,165,28,.34);
  color:#A06600;
}
.ppl-why__t{
  margin:0 0 7px; color:#1C2430;
  font-size:16px; line-height:1.3; letter-spacing:-.005em;
}
.ppl-why__b{ margin:0; color:#55606F; font-size:14.5px; line-height:1.62; }

/* ==========================================================================
   FAQ - give the accordion structure instead of bare text rows
   ========================================================================== */
.home .elementor-4179 .e-n-accordion{ max-width:920px; margin-inline:auto; }
.home .elementor-4179 .e-n-accordion-item{
  border:1px solid #E4E7EC; border-left:3px solid transparent;
  margin-bottom:8px; background:#fff; transition:border-color .18s,box-shadow .18s;
}
.home .elementor-4179 .e-n-accordion-item:hover{ border-left-color:rgba(244,165,28,.5); }
.home .elementor-4179 .e-n-accordion-item[open]{
  border-left-color:#F4A51C;
  box-shadow:0 1px 3px rgba(9,33,67,.07);
}
.home .elementor-4179 .e-n-accordion-item summary{
  padding:16px 20px; min-height:44px;
  font-size:15.5px; font-weight:600; color:#1C2430;
  cursor:pointer; list-style:none;
}
.home .elementor-4179 .e-n-accordion-item[open] summary{ color:#A06600; }
.home .elementor-4179 .e-n-accordion-item .e-con{ padding:0 20px 18px; }
.home .elementor-4179 .e-n-accordion-item p{
  font-size:15px; line-height:1.7; color:#55606F; margin:0; max-width:none;
}

/* ==========================================================================
   SPACING - products, cards and section bands, home and sitewide.
   Woodmart ships generous padding on every product element; at three product
   blocks per page that became most of the scroll.
   ========================================================================== */
.wd-products-element{ padding-top:8px !important; padding-bottom:8px !important; }
.wd-products-tabs .wd-nav-wrapper{ margin-bottom:14px; }
.product-element-bottom{ padding-bottom:6px; }
.wd-product .wd-entities-title{ margin-bottom:3px; line-height:1.32; }
.wd-product .wd-product-cats{ margin-bottom:2px; }
.wd-product .price{ margin-bottom:0; }
.products.elements-grid{ row-gap:18px; }

/* section bands: one consistent, tighter rhythm */
.home .elementor-4179 > .e-con,
.home .elementor-4179 > .elementor-element{
  padding-top:clamp(26px,3.2vw,44px);
  padding-bottom:clamp(26px,3.2vw,44px);
}
.home .elementor-4179 > .e-con:first-child{ padding:0; }
/* headings sit closer to the content they introduce */
.home .elementor-4179 .elementor-widget-heading{ margin-bottom:6px; }
.home .elementor-4179 .wd-title-wrapp{ margin-bottom:10px; }

/* sitewide: shop + category archives get the same tightening */
.post-type-archive-product .wd-products-element,
.tax-product_cat .wd-products-element{ padding-top:6px !important; padding-bottom:6px !important; }

/* ==========================================================================
   ARTICLES / GUIDES CARDS
   ========================================================================== */
.ppl-arts{ max-width:1200px; margin-inline:auto; }
.ppl-arts__h{
  text-align:center; margin:0 0 8px; color:#1C2430;
  font-size:clamp(23px,2.7vw,34px); line-height:1.18; letter-spacing:-.015em;
}
.ppl-arts__intro{ text-align:center; margin:0 auto 26px; max-width:62ch; color:#55606F; font-size:15.5px; }
.ppl-arts__grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
}
.ppl-art{
  display:flex; flex-direction:column;
  border:1px solid #E4E7EC; border-radius:12px; overflow:hidden; background:#fff;
  transition:box-shadow .18s, transform .18s, border-color .18s;
}
.ppl-art:hover{ box-shadow:0 6px 20px rgba(9,33,67,.10); border-color:#D3D9E2; transform:translateY(-2px); }
.ppl-art__media{ display:block; aspect-ratio:16/9; background:#0B1B33; overflow:hidden; }
.ppl-art__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ppl-art__body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ppl-art__t{ margin:0; font-size:17px; line-height:1.32; letter-spacing:-.008em; }
.ppl-art__t a{ color:#1C2430; text-decoration:none; }
.ppl-art__t a:hover{ color:#A06600; }
.ppl-art__x{ margin:0; color:#55606F; font-size:14.5px; line-height:1.6; flex:1; }
.ppl-art__more{
  color:#A06600; font-size:12.6px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-arts__cta{ text-align:center; margin:26px 0 0; }
.ppl-btn--outline{
  background:#fff; color:#092143; border:1px solid #C6CEDA;
}
.ppl-btn--outline:hover{ background:#092143; color:#fff; border-color:#092143; }

/* ==========================================================================
   ABOUT BAND
   ========================================================================== */
.ppl-about{
  max-width:1200px; margin-inline:auto;
  display:grid; gap:34px; align-items:center;
  grid-template-columns:1fr 1fr;
}
.ppl-about__media{ border-radius:14px; overflow:hidden; background:#0B1B33; aspect-ratio:4/3; }
.ppl-about__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ppl-about__kicker{
  margin:0 0 10px; color:#A06600;
  font-size:12.6px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-about__h{
  margin:0 0 14px; color:#1C2430;
  font-size:clamp(22px,2.5vw,31px); line-height:1.2; letter-spacing:-.015em; text-wrap:balance;
}
.ppl-about__body p{ margin:0 0 12px; color:#55606F; font-size:15.5px; line-height:1.7; max-width:56ch; }
.ppl-about__actions{ margin-top:18px !important; }

@media (max-width:900px){
  .ppl-about{ grid-template-columns:1fr; gap:22px; }
  .ppl-about__media{ aspect-ratio:16/9; }
  .ppl-about__body p{ max-width:none; }
}

/* ==========================================================================
   SITEWIDE REFINEMENT
   The same system the homepage got, applied to every other template:
   one spacing scale, a capped reading measure, consistent heading treatment,
   and card/form edges that match. Tokens come from :root above.
   Scoped per body class so nothing leaks between templates.
   ========================================================================== */

body{ --ppl-ink:#1C2430; --ppl-ink-soft:#55606F; --ppl-rule:#E4E7EC; }

/* ---------- shared page rhythm ---------- */
.content-layout-wrapper{
  padding-top:clamp(26px,3.2vw,44px) !important;
  padding-bottom:clamp(30px,3.6vw,52px) !important;
}

/* Page title band.
   The theme paints this band near-black (rgb(10,10,10)) with white type. An
   earlier version of this block set only the COLOUR to --ppl-ink, which put
   near-black text on a near-black ground at 1.27:1 across every inner page.
   Never set a text colour without owning the background behind it.
   Size and spacing only here; the theme keeps its own colours. */
.wd-page-title .entry-title,
.wd-page-title .title{
  font-size:clamp(26px,3vw,42px) !important;
  line-height:1.16;
  letter-spacing:-.015em;
}
.wd-page-title{ padding-block:clamp(24px,3vw,40px) !important; }

/* ---------- content pages (about, contact, faqs, policies) ---------- */
.page:not(.home) .entry-content,
.single-post .entry-content{
  color:var(--ppl-ink-soft);
  font-size:16px;
  line-height:1.75;
}
.page:not(.home) .entry-content > p,
.page:not(.home) .entry-content > ul,
.page:not(.home) .entry-content > ol,
.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol{
  max-width:74ch;     /* a readable measure instead of the full container */
}
.page:not(.home) .entry-content h2,
.single-post .entry-content h2{
  margin:34px 0 12px; color:var(--ppl-ink);
  font-size:clamp(21px,2.3vw,28px); line-height:1.22; letter-spacing:-.012em;
  padding-bottom:9px; border-bottom:1px solid var(--ppl-rule);
  max-width:74ch;
}
.page:not(.home) .entry-content h3,
.single-post .entry-content h3{
  margin:26px 0 8px; color:var(--ppl-ink);
  font-size:clamp(17px,1.8vw,20px); line-height:1.3; letter-spacing:-.008em;
}
.page:not(.home) .entry-content li,
.single-post .entry-content li{ margin-bottom:7px; }
.page:not(.home) .entry-content strong,
.single-post .entry-content strong{ color:var(--ppl-ink); }
.page:not(.home) .entry-content a:not(.btn),
.single-post .entry-content a:not(.btn){
  color:#A06600; text-underline-offset:3px;
}

/* ---------- single post / guides ---------- */
.single-post .entry-content > p:first-of-type{
  font-size:17.5px; line-height:1.7; color:var(--ppl-ink);
}
.single-post .post-date,
.single-post .entry-meta{
  font-size:12.6px; letter-spacing:.1em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ppl-ink-soft);
}

/* ---------- single product ---------- */
.single-product .product_title{
  font-size:clamp(23px,2.6vw,31px) !important;
  line-height:1.2; letter-spacing:-.015em; color:var(--ppl-ink);
  margin-bottom:12px !important;
}
.single-product .summary-inner > .price,
.single-product .wd-single-price .price{
  font-size:clamp(22px,2.2vw,27px);
  color:#A06600; font-weight:700; margin-bottom:14px;
}
/* the short description arrived at 21.7px with 1.2 line-height - unreadable as prose */
.single-product .woocommerce-product-details__short-description{
  font-size:15.5px !important; line-height:1.7 !important; color:var(--ppl-ink-soft);
  max-width:62ch; margin-bottom:18px;
}
.single-product .woocommerce-product-details__short-description p{
  font-size:15.5px !important; line-height:1.7 !important;
}
.single-product form.cart{ margin-bottom:18px; }
.single-product .single_add_to_cart_button{
  min-height:48px !important; border-radius:8px !important;
  letter-spacing:.04em; font-weight:600;
}
.single-product .product_meta{
  border-top:1px solid var(--ppl-rule); padding-top:14px; margin-top:6px;
  font-size:13.5px; color:var(--ppl-ink-soft);
}
.single-product .woocommerce-tabs{
  margin-top:clamp(26px,3vw,44px);
  border-top:1px solid var(--ppl-rule); padding-top:clamp(20px,2.4vw,32px);
}
.single-product .woocommerce-tabs .wd-nav-tabs{ margin-bottom:18px; }
.single-product .woocommerce-Tabs-panel{
  color:var(--ppl-ink-soft); font-size:15.5px; line-height:1.75;
}
.single-product .woocommerce-Tabs-panel > p,
.single-product .woocommerce-Tabs-panel > ul{ max-width:78ch; }
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3,
.single-product .woocommerce-Tabs-panel h4{
  color:var(--ppl-ink); margin:26px 0 9px;
  font-size:clamp(17px,1.9vw,21px); letter-spacing:-.008em;
}
.single-product .woocommerce-Tabs-panel table{ font-size:14.5px; }
.single-product .woocommerce-Tabs-panel table td,
.single-product .woocommerce-Tabs-panel table th{ padding:9px 12px; border-color:var(--ppl-rule); }

/* ---------- shop + category archives ---------- */
.woocommerce-shop .wd-page-title,
.tax-product_cat .wd-page-title{ margin-bottom:10px; }
.tax-product_cat .term-description,
.woocommerce-shop .woocommerce-products-header__title + div{
  color:var(--ppl-ink-soft); font-size:15.5px; line-height:1.7; max-width:78ch;
}
.woocommerce-shop .wd-products-per-page,
.tax-product_cat .wd-products-per-page{ font-size:13.5px; }

/* ---------- cart + checkout ---------- */
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .wd-checkout-order{
  border:1px solid var(--ppl-rule); border-radius:12px; padding:20px;
  background:#FAFBFC;
}
.woocommerce-cart table.cart th,
.woocommerce-checkout #order_review th{
  font-size:12.6px; letter-spacing:.1em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ppl-ink-soft);
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading{
  font-size:clamp(18px,2vw,22px); color:var(--ppl-ink); letter-spacing:-.01em;
  padding-bottom:10px; border-bottom:1px solid var(--ppl-rule); margin-bottom:18px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-selection{
  min-height:46px; border-radius:8px !important; border-color:#D5DBE3 !important;
  font-size:15px;
}
.woocommerce form .form-row label{
  font-size:13.5px; color:var(--ppl-ink-soft); margin-bottom:5px;
}
.woocommerce .checkout_coupon,
.woocommerce-checkout .woocommerce-form-login{ border-radius:10px; border-color:var(--ppl-rule); }
.woocommerce #payment ul.payment_methods{
  border-radius:10px; border-color:var(--ppl-rule); padding:14px;
}
.woocommerce #payment ul.payment_methods li{ padding:6px 0; }
.woocommerce #payment ul.payment_methods label{
  font-size:15px; font-weight:600; color:var(--ppl-ink); min-height:44px;
  display:inline-flex; align-items:center;
}
.woocommerce #payment .payment_box{
  font-size:14px; line-height:1.65; color:var(--ppl-ink-soft);
  border-radius:8px; background:#F4F6F8;
}
.woocommerce #payment #place_order,
.woocommerce .checkout-button{
  min-height:52px !important; border-radius:8px !important;
  font-size:15px; font-weight:700; letter-spacing:.03em;
}

/* ---------- buttons, sitewide ---------- */
.woocommerce .button, .wd-buttons .btn, .btn{ border-radius:8px; }

/* ---------- mobile ---------- */
@media (max-width:767px){
  .content-layout-wrapper{ padding-top:22px !important; padding-bottom:28px !important; }
  .page:not(.home) .entry-content,
  .single-post .entry-content{ font-size:15.5px; }
  .single-product .woocommerce-tabs{ margin-top:22px; padding-top:18px; }
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #order_review{ padding:16px; }
}


/* ---------- contrast corrections found by the sitewide sweep ---------- */

/* archive + PDP add-to-cart: white on #F4A51C is 2.05:1 */
.woocommerce a.button.add_to_cart_button,
.woocommerce button.single_add_to_cart_button,
.woocommerce .wd-add-btn a,
.woocommerce a.added_to_cart{
  background-color:var(--ppl-amber-ink,#A06600) !important;
  color:#fff !important;
}

/* post meta dates were light grey on white */
.single-post .post-date,
.single-post .entry-meta,
.blog .post-date,
.wd-post-date,
.ppl-art time{
  color:#5B6673 !important;
}

/* Woodmart post navigation labels */
.wd-post-nav .wd-nav-label,
.wd-post-nav a{ color:#3E4A59; }

/* ---------- Woodmart's #BBB muted grey: 1.92:1 on white, used site-wide ----
   Found by the sweep on posts, pages and the recent-posts widget. Replaced with
   a grey that clears AA at body size (#5B6673 = 5.6:1 on white). ------------ */
.recent-posts-time,
.recent-posts-comment,
.wd-post-nav .wd-label,
.wd-page-nav .wd-label,
.back-to-archive,
.wd-post-meta,
.wd-meta-author,
.wd-post-date,
.comment-metadata,
.wd-replies-count{
  color:#5B6673 !important;
}

/* post category chip: white on #F4A51C is 2.05:1, and it shipped at 11.2px */
.wd-post-cat.wd-style-with-bg a,
.wd-post-cat a{
  background-color:var(--ppl-amber-ink,#A06600) !important;
  color:#fff !important;
  font-size:12.6px !important;
}

/* type floor on the small counters */
.wd-replies-count{ font-size:12.6px !important; }

/* ---------- final three, from the last sweep ---------- */

/* post author byline: #A5A5A5 on white = 2.46 */
.wd-post-author a.author,
.wd-meta-author a{ color:#5B6673 !important; }

/* replies counter sits on the AMBER chip, not on white - my earlier grey made it
   2.85 there. Dark ink on amber is 10.2:1. Check the ground, not just the text. */
.wd-replies-count{ color:#1A1205 !important; }

/* PDP accordion headings were brand amber on white = 2.05 at 16px */
.wd-accordion-title-text span,
.wd-accordion-title,
.woocommerce-tabs .wd-nav-tabs .wd-active a{
  color:var(--ppl-amber-ink,#A06600) !important;
}

/* ==========================================================================
   POP-UP DRAWERS - mobile menu + mini cart
   These never appeared in the audit because the sweep only measures the page
   as loaded; a closed drawer has no rendered text. They had to be opened and
   measured by hand, and both were carrying 2.05:1 amber-on-white.
   ========================================================================== */

/* ---------- shared drawer chrome ---------- */
.wd-side-hidden{
  border-left:1px solid rgba(9,33,67,.10);
  box-shadow:0 0 48px rgba(9,33,67,.18);
}
.wd-side-hidden .wd-heading,
.cart-widget-side .wd-heading{
  padding:18px 20px !important;
  border-bottom:1px solid var(--ppl-rule,#E4E7EC);
  background:#FAFBFC;
}
.wd-side-hidden .wd-heading .title,
.cart-widget-side .wd-heading .title{
  font-size:16px !important; font-weight:700; letter-spacing:-.01em; color:var(--ppl-ink,#1C2430);
}
.wd-side-hidden .wd-close-side,
.cart-widget-side .wd-close-side{
  min-height:44px; min-width:44px;
  display:inline-flex; align-items:center; gap:7px;
  font-size:13px; color:#5B6673;
}
.wd-side-hidden .wd-close-side:hover{ color:var(--ppl-ink,#1C2430); }

/* ---------- mobile menu drawer ---------- */
/* nav links shipped at #F4A51C on white = 2.05:1 */
.mobile-nav .woodmart-nav-link,
.mobile-nav .wd-nav-mobile > li > a,
.mobile-nav .menu li a{
  color:var(--ppl-ink,#1C2430) !important;
  font-size:14.5px !important;
  font-weight:600;
  letter-spacing:.01em;
  min-height:48px;
  display:flex; align-items:center; gap:10px;
  padding-inline:20px !important;
}
/* The colour lives on the inner span (.nav-link-text), not the anchor, so an
   anchor-level rule left half the list amber and half dark ink. Target both. */
.mobile-nav .menu li a .nav-link-text,
.mobile-nav .woodmart-nav-link .nav-link-text,
.mobile-nav .wd-nav-mobile > li > a .nav-link-text{
  color:var(--ppl-ink,#1C2430) !important;
}
.mobile-nav .menu li a:hover,
.mobile-nav .woodmart-nav-link:hover,
.mobile-nav .menu li a:hover .nav-link-text,
.mobile-nav .woodmart-nav-link:hover .nav-link-text{
  color:var(--ppl-amber-ink,#A06600) !important;
}
.mobile-nav .menu li a:hover{ background:rgba(244,165,28,.06); }
/* icons in the list sit at the same weight as the labels */
.mobile-nav .menu li a svg,
.mobile-nav .menu li a i{ color:#5B6673; }
.mobile-nav .menu li{ border-bottom:1px solid #EDF0F4; }
.mobile-nav .wd-nav-opener{ min-width:48px; min-height:48px; }

/* the MENU / CATEGORIES tab pair */
.mobile-nav .wd-nav-mob-tab{ border-bottom:1px solid var(--ppl-rule,#E4E7EC); }
.mobile-nav .wd-nav-mob-tab > li > a{
  min-height:52px;
  font-size:12.6px !important; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  color:#5B6673 !important;
  background:#F4F6F8;
  border-bottom:2px solid transparent;
}
.mobile-nav .wd-nav-mob-tab > li.wd-active > a{
  color:var(--ppl-ink,#1C2430) !important;
  background:#fff;
  border-bottom-color:var(--ppl-amber,#F4A51C);
}
/* the drawer's own search field */
.mobile-nav .searchform input[type="text"],
.mobile-nav .searchform input.s{
  min-height:46px; border-radius:8px; font-size:15px; border-color:#D5DBE3;
}

/* ---------- mini cart drawer ---------- */
.cart-widget-side .widget_shopping_cart_content{ padding:4px 0; }
.cart-widget-side .cart_list li,
.widget_shopping_cart .cart_list li{
  padding:16px 20px !important;
  border-bottom:1px solid #EDF0F4;
}
/* :not(.cart-item-link) - Woodmart overlays each row with an absolutely
   positioned `a.cart-item-link.wd-fill` whose "Show" label is meant to stay
   invisible. Giving every cart link a font-size made that label render on top
   of the product row. Style the title link only. */
.cart-widget-side .cart_list li a:not(.remove):not(.cart-item-link){
  font-size:14.5px; line-height:1.4; font-weight:600; color:var(--ppl-ink,#1C2430);
}
.cart-widget-side .cart_list li a.cart-item-link{
  font-size:0 !important; line-height:0 !important; color:transparent !important;
}
/* prices were brand amber on white = 2.05:1 */
.cart-widget-side .quantity .amount,
.cart-widget-side .cart_list .amount,
.cart-widget-side .woocommerce-Price-amount,
.widget_shopping_cart .amount{
  color:var(--ppl-amber-ink,#A06600) !important;
  font-weight:700;
}
.cart-widget-side .cart_list .quantity{ font-size:13.5px; color:#5B6673; }
.cart-widget-side .remove{
  min-width:32px; min-height:32px;
  display:inline-flex; align-items:center; justify-content:center;
}
/* quantity stepper: match the 8px system instead of a pill */
.cart-widget-side .quantity input,
.cart-widget-side .wd-buttons,
.cart-widget-side .quantity{
  border-radius:8px !important;
}

/* subtotal + actions */
.cart-widget-side .woocommerce-mini-cart__total,
.cart-widget-side .wd-cart-subtotal{
  padding:16px 20px !important;
  border-top:1px solid var(--ppl-rule,#E4E7EC);
  background:#FAFBFC;
  font-size:15px;
}
.cart-widget-side .woocommerce-mini-cart__total strong{ color:var(--ppl-ink,#1C2430); }
.cart-widget-side .woocommerce-mini-cart__buttons{
  padding:0 20px 20px !important;
  display:grid; gap:10px;
}
.cart-widget-side .woocommerce-mini-cart__buttons a{
  border-radius:8px !important;
  min-height:50px !important;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:14.5px; font-weight:700; letter-spacing:.04em;
  margin:0 !important;
}
/* the checkout button was white on #F4A51C = 2.05:1, the worst offender in the
   drawer because it is the one button that matters */
.cart-widget-side .woocommerce-mini-cart__buttons .checkout,
.cart-widget-side .btn-checkout,
.widget_shopping_cart .buttons .checkout{
  background-color:var(--ppl-amber-ink,#A06600) !important;
  color:#fff !important;
  border-color:var(--ppl-amber-ink,#A06600) !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons a:not(.checkout){
  background:#fff !important;
  color:var(--ppl-navy,#092143) !important;
  border:1px solid #C6CEDA !important;
}
.cart-widget-side .woocommerce-mini-cart__buttons a:not(.checkout):hover{
  background:var(--ppl-navy,#092143) !important; color:#fff !important;
}
/* empty state */
.cart-widget-side .wd-empty-mini-cart{ padding:40px 20px; text-align:center; color:#5B6673; }

/* Account / wishlist / compare are switched off site-wide. Anything the theme
   still prints from a cached template stays hidden. */
.wd-header-my-account,
.wd-header-wishlist,
.wd-header-compare,
.wd-toolbar-wishlist,
.wd-toolbar-my-account,
.menu-item-account,
.wd-wishlist-btn,
.wd-compare-btn,
.wd-action-btn.wd-wishlist-icon,
.wd-action-btn.wd-compare-icon{
  display:none !important;
}

/* ==========================================================================
   FAQ - two column: support panel beside the questions
   ========================================================================== */
.ppl-faq{
  max-width:1200px; margin-inline:auto;
  display:grid; gap:40px;
  grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  align-items:start;
}
.ppl-faq__kicker{
  margin:0 0 10px; color:#A06600;
  font-size:12.6px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-faq__h{
  margin:0 0 12px; color:#1C2430;
  font-size:clamp(23px,2.6vw,32px); line-height:1.16; letter-spacing:-.018em;
  text-wrap:balance;
}
.ppl-faq__h::after{ content:none; }
.ppl-faq__lede{ margin:0 0 24px; color:#55606F; font-size:15.5px; line-height:1.7; max-width:44ch; }

.ppl-faq__help{
  border:1px solid #E4E7EC; border-left:3px solid #F4A51C;
  border-radius:12px; padding:22px 22px 24px; background:#FAFBFC;
}
.ppl-faq__help-t{ margin:0 0 6px; color:#1C2430; font-size:16px; font-weight:700; }
.ppl-faq__help-b{ margin:0 0 18px; color:#55606F; font-size:14.5px; line-height:1.65; }
.ppl-faq__call{
  display:block; margin-top:14px;
  color:#092143; font-size:15px; font-weight:700; text-decoration:none;
  min-height:44px; display:inline-flex; align-items:center;
}
.ppl-faq__call:hover{ color:#A06600; }

.ppl-faq__list{ display:grid; gap:10px; }
.ppl-faq__item{
  border:1px solid #E4E7EC; border-radius:12px; background:#fff;
  overflow:hidden; transition:border-color .18s, box-shadow .18s;
}
.ppl-faq__item[open]{ border-color:#D3D9E2; box-shadow:0 4px 16px rgba(9,33,67,.07); }
.ppl-faq__item:hover{ border-color:#D3D9E2; }
.ppl-faq__q{
  display:flex; align-items:center; gap:14px;
  padding:17px 20px; min-height:56px;
  cursor:pointer; list-style:none;
  font-size:15.5px; font-weight:600; color:#1C2430;
}
.ppl-faq__q::-webkit-details-marker{ display:none; }
.ppl-faq__n{
  flex:0 0 auto;
  color:#A06600; font-size:12.6px; font-weight:700; letter-spacing:.06em;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-faq__qt{ flex:1; }
/* plus / minus drawn in CSS so there is no icon font dependency */
.ppl-faq__icon{
  flex:0 0 auto; position:relative; width:18px; height:18px;
  border:1px solid #C6CEDA; border-radius:5px; transition:.18s;
}
.ppl-faq__icon::before,.ppl-faq__icon::after{
  content:""; position:absolute; inset:50% 4px auto 4px;
  height:1.5px; background:#55606F; transform:translateY(-50%); transition:.18s;
}
.ppl-faq__icon::after{ transform:translateY(-50%) rotate(90deg); }
.ppl-faq__item[open] .ppl-faq__icon{ background:#F4A51C; border-color:#F4A51C; }
.ppl-faq__item[open] .ppl-faq__icon::before,
.ppl-faq__item[open] .ppl-faq__icon::after{ background:#1a1205; }
.ppl-faq__item[open] .ppl-faq__icon::after{ transform:translateY(-50%) rotate(0deg); }
.ppl-faq__a{ padding:0 20px 20px 54px; }
.ppl-faq__a p{ margin:0; color:#55606F; font-size:15px; line-height:1.72; max-width:64ch; }

@media (max-width:900px){
  .ppl-faq{ grid-template-columns:1fr; gap:26px; }
  .ppl-faq__lede{ max-width:none; }
  .ppl-faq__a{ padding-left:20px; }
}

/* ==========================================================================
   CLOSING CTA - full bleed navy band
   ========================================================================== */
.ppl-cta{
  position:relative; left:50%; width:100vw; max-width:100vw;
  margin-left:-50vw; margin-right:-50vw;
  background:
    radial-gradient(90% 140% at 12% 0%, rgba(244,165,28,.16) 0%, rgba(244,165,28,0) 55%),
    linear-gradient(180deg,#0B2149 0%,#071A33 100%);
  border-top:3px solid #F4A51C;
}
.ppl-cta__inner{
  max-width:820px; margin-inline:auto;
  padding:clamp(44px,5vw,70px) max(20px,5vw);
  text-align:center;
}
.ppl-cta__kicker{
  display:inline-block; margin:0 0 16px; padding:6px 14px;
  border:1px solid rgba(255,198,97,.5); border-radius:999px;
  color:#FFC661; font-size:12.6px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ppl-cta__h{
  margin:0 0 14px; color:#fff;
  font-size:clamp(26px,3.4vw,42px); line-height:1.12; letter-spacing:-.02em;
  text-wrap:balance;
}
.ppl-cta__h::after{ content:none; }
.ppl-cta__b{
  margin:0 auto 26px; color:#F7F5F0; font-size:16px; line-height:1.68; max-width:54ch;
}
.ppl-cta__actions{ margin:0; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ==========================================================================
   SHOP BY CATEGORY - uniform tiles, images that actually fill
   ========================================================================== */
.home .wd-cat.cat-design-default,
.home .wd-cat{
  border:1px solid #E4E7EC; border-radius:12px; overflow:hidden; background:#fff;
  transition:border-color .18s, box-shadow .18s, transform .18s;
  height:100%;
}
.home .wd-cat:hover{
  border-color:#D3D9E2; box-shadow:0 8px 24px rgba(9,33,67,.10); transform:translateY(-2px);
}
.home .wd-cat .wd-cat-image,
.home .wd-cat .category-image{
  aspect-ratio:4/3; overflow:hidden; background:#F2F4F7; margin:0;
}
.home .wd-cat .wd-cat-image img,
.home .wd-cat .category-image img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .4s ease;
}
.home .wd-cat:hover .wd-cat-image img{ transform:scale(1.045); }
.home .wd-cat .wd-cat-content,
.home .wd-cat .hover-mask{
  padding:15px 16px 17px; text-align:left;
}
.home .wd-cat .wd-entities-title,
.home .wd-cat .category-title{
  font-size:14.5px !important; line-height:1.35; font-weight:600; letter-spacing:0;
  text-transform:none !important; color:#1C2430; margin:0 0 3px;
}
.home .wd-cat .wd-cat-count,
.home .wd-cat .more-products{
  font-size:12.6px; color:#5B6673;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em;
}
.home .wd-cat .wd-cat-count a{ color:#5B6673; }

/* ==========================================================================
   WHY CHOOSE - 5 items were leaving one orphan on a second row
   ========================================================================== */
.ppl-why__grid{ grid-template-columns:repeat(auto-fit,minmax(216px,1fr)); gap:16px; }
@media (min-width:1100px){
  /* five across on wide screens so nothing is stranded */
  .ppl-why__grid{ grid-template-columns:repeat(5,1fr); }
}
@media (min-width:700px) and (max-width:1099px){
  /* 3 + 2, both rows centred, instead of 4 + 1 */
  .ppl-why__grid{ grid-template-columns:repeat(6,1fr); }
  .ppl-why__item{ grid-column:span 2; }
  .ppl-why__item:nth-child(4){ grid-column:2 / span 2; }
  .ppl-why__item:nth-child(5){ grid-column:4 / span 2; }
}
.ppl-why__item{
  border-radius:12px; border-top-width:3px;
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.ppl-why__item:hover{
  box-shadow:0 8px 24px rgba(9,33,67,.09); transform:translateY(-2px);
}
.ppl-why__ico{ border-radius:10px; }
.ppl-why__t{ font-size:15.5px; }
.ppl-why__b{ font-size:14px; }


/* The ppl-* components own their own type colours, at a specificity the
   page-level rules cannot beat. */
.ppl-cta .ppl-cta__h{ color:#fff; }
.ppl-cta .ppl-cta__b{ color:#F7F5F0; }
.ppl-cta .ppl-cta__kicker{ color:#FFC661; }
.ppl-faq .ppl-faq__h{ color:#1C2430; }
.ppl-why .ppl-why__h{ color:#1C2430; }
.ppl-arts .ppl-arts__h{ color:#1C2430; }
.ppl-about .ppl-about__h{ color:#1C2430; }

/* The product-card add-to-cart renders through a different class path at some
   widths (.wd-add-btn > a.button.product_type_simple) than the archive button
   fixed earlier, and shipped white-on-#F4A51C at 2.05:1 there. */
.wd-add-btn > a.button,
.wd-add-btn > a.button.product_type_simple,
.wd-product .wd-add-btn a,
a.button.product_type_simple{
  background-color:var(--ppl-amber-ink,#A06600) !important;
  color:#fff !important;
}
.wd-add-btn > a.button .wd-action-text,
a.button.product_type_simple .wd-action-text{ color:#fff !important; }


/* Woodmart's own copyrights row is the single source of the copyright line.
   Styled here to sit flush with the footer above it. */
.wd-copyrights{
  background:var(--navy,#092143);
  border-top:1px solid rgba(255,255,255,.18);
  padding-block:18px;
}
.wd-copyrights,
.wd-copyrights a{ color:rgba(247,245,240,.68); font-size:13px; }
.wd-copyrights a:hover{ color:#FFC661; }
