/* ===========================================================================
   Floor Protect - chrome for the non-Elementor pages
   Cart, checkout, my account, wishlist, single products, single posts,
   archives, search and 404 are rendered by Woodmart. This file swaps Woodmart's
   header, hero and demo footer for Floor Protect's, and repoints Woodmart's own
   colour and type variables at the brand palette.
   =========================================================================== */

/* --- Woodmart design tokens -> Floor Protect ----------------------------- */
html:root, :root {
  --wd-primary-color: #B5502A !important;
  --wd-alternative-color: #B5502A !important;
  --wd-link-color: #22201C !important;
  --wd-text-color: #7A7266 !important;
  --wd-title-color: #22201C !important;
  --wd-text-font: 'Manrope', 'Helvetica Neue', Arial, sans-serif !important;
  --wd-title-font: 'Archivo', 'Helvetica Neue', Arial, sans-serif !important;
  --wd-entities-title-font: 'Archivo', 'Helvetica Neue', Arial, sans-serif !important;
  --btn-accented-bgcolor: #B5502A !important;
  --btn-accented-bgcolor-hover: #9A4423 !important;
  --btn-accented-color: #FFFFFF !important;
  --btn-accented-color-hover: #FFFFFF !important;
  --wd-form-brd-radius: 2px !important;
  --btn-default-brd-radius: 2px !important;
  --btn-accented-brd-radius: 2px !important;
}

/* --- retire Woodmart's own chrome ---------------------------------------- */
body.fp-shell .website-wrapper > header.whb-header,
body.fp-shell .whb-sticky-real,
body.fp-shell .wd-prefooter,
body.fp-shell .website-wrapper > footer.footer-container { display: none !important; }

/* the sticky-footer rule stretches the wrapper to the viewport and leaves a
   white gulf now that Woodmart's own footer is gone */
body.fp-shell .website-wrapper,
body.fp-shell .main-page-wrapper { min-height: 0 !important; }

/* --- page title band ----------------------------------------------------- */
body.fp-shell .page-title {
  background: var(--fp-stone) !important;
  background-image: none !important;
  border-bottom: 1px solid var(--fp-line);
  padding: 44px 0 40px !important;
  min-height: 0 !important;
  margin-bottom: 0;
}
body.fp-shell .page-title::before,
body.fp-shell .page-title::after { display: none !important; }
body.fp-shell .page-title .entry-title,
body.fp-shell .page-title h1 {
  color: var(--fp-ink) !important;
  font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  font-size: 42px; line-height: 1.06; letter-spacing: -1px; font-weight: 700;
  text-shadow: none !important; margin: 0 0 10px;
}
body.fp-shell .page-title .breadcrumbs,
body.fp-shell .page-title .breadcrumbs a,
body.fp-shell .page-title .wd-breadcrumbs,
body.fp-shell .page-title .wd-breadcrumbs a {
  color: var(--fp-muted) !important;
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  font-size: 12px; letter-spacing: 1.1px; text-shadow: none !important;
}
body.fp-shell .page-title .breadcrumbs a:hover,
body.fp-shell .page-title .wd-breadcrumbs a:hover { color: var(--fp-accent) !important; }
body.fp-shell .wd-checkout-steps li a,
body.fp-shell .wd-checkout-steps li span { color: var(--fp-muted) !important; text-shadow: none !important; }
body.fp-shell .wd-checkout-steps li.step-active a,
body.fp-shell .wd-checkout-steps li.step-active span { color: var(--fp-ink) !important; }

/* --- Floor Protect header ------------------------------------------------ */
.fp-shell-head {
  background: var(--fp-stone);
  border-bottom: 1px solid var(--fp-line);
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  position: relative; z-index: 20;
}
.fp-shell-inner {
  max-width: 1440px; margin: 0 auto; padding: 20px 32px;
  display: flex; align-items: center; gap: 24px;
}
.fp-shell-logo { flex: 0 0 auto; line-height: 0; }
.fp-shell-logo img { width: 208px; height: auto; display: block; }
.fp-shell-nav { flex: 1 1 auto; display: flex; align-items: center; justify-content: center; gap: 26px; flex-wrap: wrap; }
.fp-shell-link {
  color: var(--fp-ink); text-decoration: none; font-size: 15px; font-weight: 600;
  letter-spacing: -.1px; padding-bottom: 3px; border-bottom: 2px solid transparent;
  transition: color .18s ease, border-color .18s ease;
}
.fp-shell-link:hover, .fp-shell-link:focus-visible { color: var(--fp-accent); }
.fp-shell-link.is-active { color: var(--fp-accent); border-bottom-color: var(--fp-accent); }
.fp-shell-cta {
  flex: 0 0 auto; background: var(--fp-accent); color: #fff; text-decoration: none;
  padding: 15px 26px; border-radius: 2px; font-size: 15px; font-weight: 700;
  white-space: nowrap; transition: background .18s ease;
}
.fp-shell-cta:hover, .fp-shell-cta:focus-visible { background: var(--fp-accent-dark); color: #fff; }

/* --- Floor Protect footer ------------------------------------------------ */
.fp-shell-foot {
  background: var(--fp-deep); color: var(--fp-muted-deep);
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
  padding: 84px 0 44px; margin: 0;
}
.fp-shell-finner { max-width: 1440px; margin: 0 auto; padding: 0 32px; }
.fp-shell-fgrid { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr 1.2fr; gap: 40px; }
.fp-shell-foot .fp-fcol > p,
.fp-shell-foot .fp-fcol li { font-size: 15px; line-height: 1.8; margin: 0; }
.fp-shell-foot .fp-fcol > p { margin-bottom: 14px; color: var(--fp-muted-deep); }
.fp-shell-foot .fp-fhead {
  color: var(--fp-on-deep); font-size: 12px; font-weight: 600; letter-spacing: 1.4px;
  text-transform: uppercase; margin: 0 0 10px;
}
.fp-shell-foot .fp-fcol ul { list-style: none; margin: 0; padding: 0; }
.fp-shell-foot .fp-fcol a { color: var(--fp-muted-deep); text-decoration: none; transition: color .18s ease; }
.fp-shell-foot .fp-fcol a:hover { color: var(--fp-on-deep); }
.fp-shell-flogo { width: 196px; height: auto; display: block; margin: 0 0 14px; }
.fp-shell-fbtn {
  display: inline-block; background: var(--fp-accent); color: #fff; text-decoration: none;
  padding: 13px 22px; border-radius: 2px; font-size: 14.5px; font-weight: 700;
}
.fp-shell-fbtn:hover { background: var(--fp-accent-dark); color: #fff; }
.fp-shell-foot .fp-faddr { margin-bottom: 8px !important; }
.fp-shell-foot .fp-fphone a { color: var(--fp-on-deep); font-size: 20px; font-weight: 700; }
.fp-shell-foot .fp-fphone a:hover { color: var(--fp-accent); }
.fp-shell-fbase {
  display: flex; justify-content: space-between; align-items: center; gap: 20px;
  margin-top: 54px; padding-top: 22px; border-top: 1px solid var(--fp-line-deep);
}
.fp-shell-fbase p { margin: 0; font-size: 13.5px; color: var(--fp-muted-deep); }
.fp-shell-foot .fp-social { margin-top: 18px; }

/* social marks need to work outside the canvas pages too */
a.fp-soc {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; flex: 0 0 38px; border-radius: 2px;
  border: 1px solid var(--fp-line-deep); color: var(--fp-on-deep);
  background: transparent; text-decoration: none; line-height: 0;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
a.fp-soc:hover, a.fp-soc:focus-visible { background: var(--fp-accent); border-color: var(--fp-accent); color: #fff; }
a.fp-soc svg { width: 19px; height: 19px; display: block; fill: currentColor; }

/* --- shop and blog body copy --------------------------------------------- */
body.fp-shell .product_title,
body.fp-shell .entry-title,
body.fp-shell h1, body.fp-shell h2, body.fp-shell h3, body.fp-shell h4 {
  font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
}
body.fp-shell, body.fp-shell p, body.fp-shell li, body.fp-shell input, body.fp-shell textarea {
  font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}
body.fp-shell .price, body.fp-shell .amount, body.fp-shell .woocommerce-Price-amount { color: var(--fp-ink); }
body.fp-shell ins .woocommerce-Price-amount { color: var(--fp-accent); }

/* --- small screens -------------------------------------------------------- */
@media (max-width: 1024px) {
  body.fp-chrome .fp-shell-head { display: none; }
  .fp-shell-foot { padding: 56px 0 36px; }
  .fp-shell-finner { padding: 0 20px; }
  .fp-shell-fgrid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .fp-shell-fgrid .fp-fcol-brand { grid-column: 1 / -1; }
  .fp-shell-fbase { flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 40px; }
  body.fp-shell .page-title { padding: 30px 0 28px !important; }
  body.fp-shell .page-title .entry-title, body.fp-shell .page-title h1 { font-size: 30px; letter-spacing: -.6px; }
}

@media (max-width: 600px) {
  .fp-shell-fgrid { grid-template-columns: 1fr; }
}

/* product title + the shipping tab block */
body.fp-shell .product_title, body.fp-shell .entry-title, body.fp-shell .wd-entities-title { color: var(--fp-ink) !important; }
.fp-shipblock h4 { font-family:'Archivo','Helvetica Neue',Arial,sans-serif; font-size:17px; font-weight:700; color:var(--fp-ink); margin:0 0 6px; }
.fp-shipblock h4 + p { margin:0 0 20px; }
.fp-shipblock p { font-size:15.5px; line-height:1.75; color:var(--fp-muted); max-width:760px; }
.fp-shipblock a { color:var(--fp-accent); }

/* the social marks are icons, not footer links - keep them on-deep */
.fp-shell-foot .fp-fcol a.fp-soc { color: var(--fp-on-deep); }
.fp-shell-foot .fp-fcol a.fp-soc:hover { color: #fff; }

/* ===================== SHELL LAYOUT FIXES ===================== */

/* the footer sits at the bottom of the viewport on short pages */
body.fp-shell { display: flex; flex-direction: column; min-height: 100vh; }
body.fp-shell .website-wrapper { flex: 1 0 auto; }
body.fp-shell .fp-shell-foot { flex: 0 0 auto; }

/* breathing room between the title band (or the header) and the content */
body.fp-shell .main-page-wrapper > .container,
body.fp-shell .main-page-wrapper > .container-fluid,
body.fp-shell .main-page-wrapper > .wd-content-layout { padding-top: 46px; }
body.fp-shell .main-page-wrapper > .page-title + .container,
body.fp-shell .main-page-wrapper > .page-title + .container-fluid { padding-top: 40px; }

/* the shop category nav lives in the stone band now, not on a dark hero */
body.fp-shell .page-title .wd-nav-product-cat { margin-top: 20px; row-gap: 12px; }
body.fp-shell .page-title .wd-nav-product-cat a,
body.fp-shell .page-title .category-nav-link,
body.fp-shell .page-title .nav-link-text {
  color: var(--fp-ink) !important; text-shadow: none !important;
  font-family: 'Manrope','Helvetica Neue',Arial,sans-serif; font-weight: 600;
  font-size: 12.5px; letter-spacing: .6px;
}
body.fp-shell .page-title .nav-link-count { color: var(--fp-muted) !important; text-shadow: none !important; font-size: 11.5px; }
body.fp-shell .page-title .wd-nav-product-cat li.active > a,
body.fp-shell .page-title .wd-nav-product-cat li.active .nav-link-text,
body.fp-shell .page-title .wd-nav-product-cat a:hover,
body.fp-shell .page-title .wd-nav-product-cat a:hover .nav-link-text { color: var(--fp-accent) !important; }
body.fp-shell .page-title .wd-back-btn,
body.fp-shell .page-title .wd-btn-show-cat,
body.fp-shell .page-title .wd-back-btn a,
body.fp-shell .page-title .wd-btn-show-cat a { color: var(--fp-muted) !important; text-shadow: none !important; }
body.fp-shell .page-title .nav-link-img,
body.fp-shell .page-title .wd-nav-product-cat img { display: none !important; }

/* a blog sidebar has no business on a product archive */
body.fp-shell.woocommerce-shop .sidebar-container,
body.fp-shell.tax-product_cat .sidebar-container { display: none !important; }
body.fp-shell.woocommerce-shop .site-content,
body.fp-shell.tax-product_cat .site-content {
  flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
}

/* single product: the breadcrumb row needs to clear the header */
body.fp-shell .single-breadcrumbs { margin-bottom: 16px; }
body.fp-shell .single-breadcrumbs, body.fp-shell .wd-breadcrumbs,
body.fp-shell .woocommerce-breadcrumb { font-size: 13px; color: var(--fp-muted); }
body.fp-shell .wd-breadcrumbs a, body.fp-shell .woocommerce-breadcrumb a { color: var(--fp-muted); }
body.fp-shell .wd-breadcrumbs a:hover, body.fp-shell .woocommerce-breadcrumb a:hover { color: var(--fp-accent); }

@media (max-width: 1024px) {
  body.fp-shell .main-page-wrapper > .container,
  body.fp-shell .main-page-wrapper > .container-fluid,
  body.fp-shell .main-page-wrapper > .wd-content-layout { padding-top: 30px; }
  body.fp-shell .main-page-wrapper > .page-title + .container,
  body.fp-shell .main-page-wrapper > .page-title + .container-fluid { padding-top: 26px; }
}

/* Woodmart's own off-canvas drawer still carries the demo 'Categories' menu
   (Clocks, Cooking, Toys). Its trigger is gone with the Woodmart header, but
   keep the panel itself out of reach entirely. */
body.fp-chrome .mobile-nav { display: none !important; }

/* ===================== PAGE TITLE MARGIN =====================
   Woodmart pulls its title band up by 40px so it can tuck under a
   transparent header. Ours is opaque and in flow, so that negative margin
   slid the title straight over the logo on mobile. */
body.fp-shell .page-title { margin-top: 0 !important; }
body.fp-shell .main-page-wrapper > .page-title:first-child { margin-top: 0 !important; }

/* the sidebar is hidden on product archives, so its opener has nothing to open */
body.fp-shell.woocommerce-shop .wd-show-sidebar-btn,
body.fp-shell.tax-product_cat .wd-show-sidebar-btn { display: none !important; }
