/*
Theme Name: Woodwork Insights
Theme URI: https://woodworkinsights.com
Description: Child theme for Woodwork Insights. Workshop craftsman editorial. Parent SmartMag — do not edit parent.
Author: Evan Markham
Template: smart-mag
Version: 0.3.1
Text Domain: woodwork-insights
*/

:root {
  --wwi-ink: #1C1410;
  --wwi-ink-soft: #3A2E26;
  --wwi-paper: #F7F1E8;
  --wwi-surface: #FFFDF9;
  --wwi-line: #D9CBB8;
  --wwi-walnut: #3B2A1A;
  --wwi-oak: #8B5E34;
  --wwi-copper: #C47A3A;
  --wwi-copper-deep: #8a3c12;
  --wwi-cream: #F4E8D8;
  --wwi-wrap: 1120px;
  --wwi-read: 760px;
  --wwi-radius: 12px;
  --wwi-heading: "Source Serif 4", Georgia, "Times New Roman", serif;
  --wwi-body: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
  --c-main: #C47A3A;
  --c-main-rgb: 196, 122, 58;
}

html { background: var(--wwi-paper); font-size: 18px; overflow-x: clip; }
body, body.main, .main-body {
  background: var(--wwi-paper) !important;
  color: var(--wwi-ink) !important;
  font-family: var(--wwi-body);
  font-size: 18px;
  line-height: 1.65;
  overflow-x: clip;
  max-width: 100%;
}
/* Do NOT set overflow on .main-wrap — it contains the header and breaks sticky/fixed clones */
.main-wrap, #main-wrap {
  background: var(--wwi-paper) !important;
  max-width: 100%;
  overflow: visible !important;
}

h1, h2, h3, h4, h5, h6,
.heading, .post-title, .entry-title, .main-heading,
.wwi-hero h1, .wwi-section__title, .wwi-card__title, .wwi-resource__title,
.wwi-hub-intro h1, .the-post-header .post-title,
.elementor-heading-title, .archive-head h1 {
  font-family: var(--wwi-heading) !important;
  color: var(--wwi-ink) !important;
  font-weight: 700;
  line-height: 1.25;
}
a { color: var(--wwi-copper-deep); }
a:hover { color: var(--wwi-walnut); }
/* Content link contrast >=4.5:1 (~6.8:1) on cream/white cards */
.entry-content a,
.post-content a,
.wwi-more-floor a,
.wwi-resource__blurb a,
.wwi-card__link,
.wwi-resource__title a,
.the-post-content a,
.content-container a {
  color: #8a3c12 !important;
}
.entry-content a:hover,
.post-content a:hover,
.wwi-more-floor a:hover,
.wwi-resource__blurb a:hover,
.wwi-card__link:hover,
.the-post-content a:hover {
  color: #5c280c !important;
}

/* ===== HEADER: always walnut (incl sticky / is-light) ===== */
body.wwi-child .smart-head,
body.wwi-child .smart-head-main,
body.wwi-child .smart-head-mobile,
body.wwi-child .s-head-mid,
body.wwi-child .s-head-nav,
body.wwi-child .smart-head-row,
body.wwi-child .smart-head-mid,
body.wwi-child .main-head,
body.wwi-child .navigation.nav-dark,
body.wwi-child .s-head-base,
body.wwi-child .smart-head.is-sticky,
body.wwi-child .smart-head.sticky,
body.wwi-child .smart-head.smart-head-sticky,
body.wwi-child .smart-head.fixed,
body.wwi-child header.smart-head,
body.wwi-child .smart-head.is-light,
body.wwi-child .smart-head-row.is-light,
body.wwi-child .smart-head-mid.is-light,
body.wwi-child .s-head-mid.is-light {
  background: var(--wwi-walnut) !important;
  background-color: var(--wwi-walnut) !important;
  color: #F4E8D8 !important;
  border-bottom: 3px solid var(--wwi-copper);
  box-shadow: none !important;
}

/* Exactly ONE logo on walnut header: show dark mark; hide light sibling (SM scheme pair). */
body.wwi-child .smart-head-main a.logo-link img.logo-image-dark {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: 48px !important;
  width: auto !important;
  max-width: 260px !important;
  object-fit: contain !important;
  position: static !important;
}
body.wwi-child .smart-head-main a.logo-link img.logo-image-dark ~ img.logo-image,
body.wwi-child .smart-head-main .ts-logo img.logo-image-dark ~ img.logo-image,
body.wwi-child .smart-head-main.s-dark img.logo-image-dark ~ img.logo-image,
body.wwi-child .smart-head-main .s-dark img.logo-image-dark ~ img.logo-image {
  display: none !important;
}
body.wwi-child .smart-head-main a.logo-link img.logo-image:not(.logo-image-dark):first-child,
body.wwi-child .smart-head-main a.logo-link img.logo-image:not(.logo-image-dark):only-of-type {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  height: 48px !important;
  width: auto !important;
  max-width: 260px !important;
}
body.wwi-child .smart-head-mobile a.logo-link img.logo-mobile,
body.wwi-child .smart-head-mobile a.logo-link img.logo-image,
body.wwi-child .smart-head-mobile a.logo-link img.logo-image-dark {
  display: block !important;
  height: 38px !important;
  width: auto !important;
  max-width: 180px !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.wwi-child .smart-head-mobile a.logo-link img.logo-image-dark ~ img.logo-image {
  display: none !important;
}

body.wwi-child .smart-head-main img.logo-mobile {
  display: none !important;
}
body.wwi-child .smart-head-mobile img.logo-mobile:not(.logo-image-dark) {
  display: block !important;
  height: 40px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
}
body.wwi-child .smart-head-mobile img.logo-image:not(.logo-mobile) {
  display: none !important;
}
/* Kill injected duplicate logos in desktop header */
body.wwi-child .smart-head-main .wwi-offcanvas-logo,
body.wwi-child .smart-head-main a.logo-link::after {
  display: none !important;
  content: none !important;
}
body.wwi-child .main-logo h1,
body.wwi-child .ts-logo h1,
body.wwi-child .logo h1,
body.wwi-child .smart-head h1 {
  all: unset;
  display: contents !important;
}
body.wwi-child a.logo-link {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 280px;
  line-height: 0 !important;
}

body.wwi-child .navigation a,
body.wwi-child .menu > li > a,
body.wwi-child .smart-head a,
body.wwi-child .s-head-nav a,
body.wwi-child .smart-head.is-sticky a,
body.wwi-child .smart-head.is-light a {
  color: #F4E8D8 !important;
  font-family: var(--wwi-body) !important;
  font-weight: 600;
  font-size: 15px;
}
body.wwi-child .navigation a:hover,
body.wwi-child .menu > li > a:hover { color: #FFFFFF !important; }

body.wwi-child .hamburger-icon,
body.wwi-child .hamburger-icon:before,
body.wwi-child .hamburger-icon:after,
body.wwi-child .hamburger-icon-a,
body.wwi-child .hamburger-icon-a:before,
body.wwi-child .hamburger-icon-a:after,
body.wwi-child .hamburger span,
body.wwi-child .offcanvas-toggle,
body.wwi-child .tsi-bars {
  background: #F4E8D8 !important;
  background-color: #F4E8D8 !important;
  color: #F4E8D8 !important;
  border-color: #F4E8D8 !important;
}
body.wwi-child .offcanvas-toggle { background: transparent !important; color: #F4E8D8 !important; }
body.wwi-child .offcanvas-toggle .tsi { color: #F4E8D8 !important; background: transparent !important; }

/* Dropdowns — cream paper, walnut text, copper hover; align to parent (not viewport edge) */
/* 0.3.12: kill hover gap — previous margin-top:8px left an 8px dead zone that closed the menu */
body.wwi-child .navigation .sub-menu,
body.wwi-child .menu .sub-menu,
body.wwi-child .navigation ul ul {
  background: var(--wwi-paper) !important;
  border: 1px solid var(--wwi-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 32px rgba(28,20,16,0.2) !important;
  padding: 8px 0 !important;
  min-width: 220px;
  left: auto !important;
  right: 0 !important;
  margin-top: 0 !important;
  margin-right: 4px !important;
  top: 100% !important;
  /* tiny overlap so pointer never leaves the li while crossing into the panel */
  transform: translateY(-2px);
}
body.wwi-child .smart-head-main .navigation-main .menu > li.menu-item-has-children,
body.wwi-child .smart-head-sticky .navigation-main .menu > li.menu-item-has-children,
body.wwi-child .navigation .menu > li.menu-item-has-children {
  position: relative;
  padding-bottom: 0 !important;
}
/* Invisible bridge above the panel (covers any theme offset / border radius) */
body.wwi-child .navigation .menu > li.menu-item-has-children > .sub-menu::before,
body.wwi-child .smart-head-main .menu > li.menu-item-has-children > .sub-menu::before,
body.wwi-child .smart-head-sticky .menu > li.menu-item-has-children > .sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -16px;
  height: 16px;
  display: block;
  background: transparent;
  pointer-events: auto;
}
/* Keep submenu open while hovering parent OR submenu (CSS fallback if theme uses :hover) */
body.wwi-child .navigation .menu > li.menu-item-has-children:hover > .sub-menu,
body.wwi-child .navigation .menu > li.menu-item-has-children:focus-within > .sub-menu,
body.wwi-child .smart-head-main .menu > li.menu-item-has-children:hover > .sub-menu,
body.wwi-child .smart-head-main .menu > li.menu-item-has-children:focus-within > .sub-menu,
body.wwi-child .smart-head-sticky .menu > li.menu-item-has-children:hover > .sub-menu,
body.wwi-child .smart-head-sticky .menu > li.menu-item-has-children:focus-within > .sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  display: block !important;
}
body.wwi-child .navigation .sub-menu a,
body.wwi-child .menu .sub-menu a {
  color: var(--wwi-walnut) !important;
  background: transparent !important;
  font-size: 15px !important;
  padding: 10px 16px !important;
  white-space: nowrap;
}
body.wwi-child .navigation .sub-menu a:hover,
body.wwi-child .menu .sub-menu a:hover {
  background: var(--wwi-cream) !important;
  color: var(--wwi-copper-deep) !important;
}

/* Off-canvas */
body.wwi-child .off-canvas,
body.wwi-child .mobile-menu-container.off-canvas {
  background: var(--wwi-walnut) !important;
  color: #F4E8D8 !important;
}
body.wwi-child .off-canvas a { color: #F4E8D8 !important; }
body.wwi-child .off-canvas .spc-social,
body.wwi-child .off-canvas .smart-head-social { display: none !important; }
body.wwi-child .wwi-offcanvas-logo { display: block; padding: 16px 18px 8px; }
body.wwi-child .wwi-offcanvas-logo img { display: block !important; max-width: 220px; height: auto; }
body.wwi-child .off-canvas .ts-logo:empty { display: none !important; }

/* Footer kill + custom */
body.wwi-child .main-footer,
body.wwi-child footer.main-footer { display: none !important; height: 0 !important; overflow: hidden !important; visibility: hidden !important; }
.wwi-footer {
  display: block !important; visibility: visible !important;
  background: var(--wwi-walnut) !important; color: #F4E8D8 !important;
  padding: 48px 0 28px !important; margin-top: 0 !important; height: auto !important; overflow: visible !important;
}
.wwi-footer a { color: #F4E8D8 !important; text-decoration: underline; text-underline-offset: 3px; }
.wwi-footer a:hover { color: #FFF !important; }
.wwi-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 28px; max-width: var(--wwi-wrap); margin: 0 auto; padding: 0 20px; }
@media (max-width: 800px) { .wwi-footer__grid { grid-template-columns: 1fr; } }
.wwi-footer h3 { color: #FFF !important; font-size: 1rem; margin: 0 0 12px; font-family: var(--wwi-heading) !important; }
.wwi-footer ul { list-style: none; margin: 0; padding: 0; }
.wwi-footer li { margin: 0 0 8px; }
.wwi-footer__email { font-weight: 700; font-size: 1.05rem; color: #FFF !important; text-decoration: none !important; }
.wwi-footer__bottom { max-width: var(--wwi-wrap); margin: 28px auto 0; padding: 18px 20px 0; border-top: 1px solid rgba(244,232,216,0.25); font-size: 15px; color: #F4E8D8 !important; }

/* Meta / byline — high contrast, author always visible, no leading em-dash clutter */
body.wwi-child .post-meta,
body.wwi-child .post-meta .meta-item,
body.wwi-child .post-meta a,
body.wwi-child .post-meta span,
body.wwi-child .post-meta .by,
body.wwi-child .post-meta .post-author,
body.wwi-child .post-meta .post-author a,
body.wwi-child .breadcrumbs,
body.wwi-child .breadcrumbs a,
body.wwi-child .wp-caption-text,
body.wwi-child figcaption {
  color: var(--wwi-ink-soft) !important;
  font-size: 15px !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-style: normal !important;
}
body.wwi-child .post-meta .post-author,
body.wwi-child .post-meta .post-author a,
body.wwi-child .post-meta .by {
  display: inline !important;
  color: var(--wwi-ink) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
body.wwi-child .post-meta .meta-item + .meta-item::before,
body.wwi-child .post-meta-items .meta-item::before {
  content: "·" !important;
  color: var(--wwi-oak) !important;
  margin: 0 0.45em !important;
  opacity: 1 !important;
}
body.wwi-child .post-meta .meta-item:first-child::before,
body.wwi-child .post-meta-items .meta-item:first-child::before {
  content: none !important;
  margin: 0 !important;
}

/* Share bar: label then buttons, left-aligned together */
body.wwi-child .post-share-bot {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 10px 14px !important;
  width: 100% !important;
}
body.wwi-child .post-share-bot .info {
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  color: transparent !important;
  letter-spacing: 0.04em;
  text-transform: none;
  font-size: 0 !important;
  float: none !important;
  width: auto !important;
  flex: 0 0 auto !important;
  margin-right: 4px !important;
  position: relative;
}
body.wwi-child .post-share-bot .info::before {
  content: "Share";
  color: var(--wwi-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: none;
}
body.wwi-child .post-share-bot .share-links,
body.wwi-child .post-share-bot .spc-social {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  float: none !important;
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: auto !important;
  flex: 0 1 auto !important;
}
body.wwi-child .post-share-bot::after { content: none !important; display: none !important; clear: none !important; }

body.wwi-child .post-share a,
body.wwi-child .share-links a {
  background: var(--wwi-walnut) !important;
  color: #F4E8D8 !important;
  border-color: var(--wwi-walnut) !important;
}
body.wwi-child .post-share a:hover { background: var(--wwi-copper) !important; color: var(--wwi-ink) !important; }
body.wwi-child a[href*="pinterest.com"] { display: none !important; }

/* Single posts: full-width reading column, hide empty sidebar */
body.wwi-child.single-post .main-sidebar,
body.wwi-child.single.single-post aside.main-sidebar {
  display: none !important;
}
body.wwi-child.single-post .main .col-8,
body.wwi-child.single-post .content-col,
body.wwi-child.single-post .post-content-wrap,
body.wwi-child.single-post .the-post {
  width: 100% !important;
  max-width: var(--wwi-read) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}
body.wwi-child.single-post .ts-row,
body.wwi-child.single-post .main > .row {
  display: block !important;
}

/* Home / hub components */
.wwi-wrap { max-width: var(--wwi-wrap); margin: 0 auto; padding: 0 20px; box-sizing: border-box; width: 100%; }
.wwi-hero {
  position: relative; min-height: 420px; display: flex; align-items: flex-end;
  background: var(--wwi-walnut); overflow: hidden; margin-bottom: 48px;
}
.wwi-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center;
  display: block; z-index: 0;
}
.wwi-hero__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(28,20,16,0.28), rgba(28,20,16,0.8)); pointer-events: none; }
.wwi-hero__inner { z-index: 2; }
.wwi-hero__inner { position: relative; z-index: 2; padding: 48px 28px; max-width: 760px; color: #FFFDF9; }
.wwi-hero__inner h1 { color: #FFFDF9 !important; font-size: clamp(1.9rem, 4vw, 2.75rem); margin: 0 0 12px; }
.wwi-hero__inner p { color: #FFFDF9 !important; font-size: 1.125rem; margin: 0 0 20px; max-width: 38rem; }
.wwi-btn {
  display: inline-block; background: var(--wwi-copper); color: #1C1410 !important; font-weight: 700;
  padding: 12px 20px; border-radius: 8px; text-decoration: none !important; border: 2px solid var(--wwi-copper);
}
.wwi-btn:hover { background: #E08A45; }
.wwi-btn--ghost { background: transparent; color: #FFFDF9 !important; border-color: #FFFDF9; margin-left: 10px; }

.wwi-section { margin: 56px 0; }
.wwi-section__title { font-size: 1.75rem; margin: 0 0 8px; }
.wwi-section__lede { color: var(--wwi-ink-soft) !important; font-size: 1.05rem; margin: 0 0 28px; max-width: 42rem; }

.wwi-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.wwi-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 900px) { .wwi-grid-3, .wwi-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .wwi-grid-3, .wwi-grid-4 { grid-template-columns: 1fr; } }

.wwi-card {
  background: var(--wwi-surface); border: 1px solid var(--wwi-line); border-radius: var(--wwi-radius);
  overflow: hidden; display: flex; flex-direction: column;
}
.wwi-card__media { aspect-ratio: 16 / 10; background: var(--wwi-cream); overflow: hidden; position: relative; }
.wwi-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; position: absolute; inset: 0; }
.wwi-card__body { padding: 16px 16px 20px; display: flex; flex-direction: column; flex: 1; }
.wwi-card__kicker { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wwi-copper-deep) !important; margin: 0 0 6px; }
.wwi-card__title { font-size: 1.15rem; margin: 0 0 8px; }
.wwi-card__title a { color: var(--wwi-ink); text-decoration: none; }
.wwi-card__excerpt { font-size: 17px; color: var(--wwi-ink-soft) !important; margin: 0 0 12px; }
.wwi-card__link { margin-top: auto; font-weight: 700; color: var(--wwi-copper-deep) !important; text-decoration: none; }

/* Start Here feature — wide short band, not tall portrait */
.wwi-card-feature {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
}
.wwi-card-feature .wwi-card__media { aspect-ratio: 21 / 9; min-height: 160px; max-height: 220px; }
@media (max-width: 700px) {
  .wwi-card-feature { grid-template-columns: 1fr; }
  .wwi-card-feature .wwi-card__media { aspect-ratio: 16 / 7; max-height: 180px; }
}

.wwi-discover { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 800px) { .wwi-discover { grid-template-columns: 1fr 1fr; } }
.wwi-discover figure { margin: 0; border-radius: 10px; overflow: hidden; border: 1px solid var(--wwi-line); background: var(--wwi-surface); }
.wwi-discover .wwi-card__media { aspect-ratio: 1; display: block; position: relative; background: var(--wwi-cream); }
.wwi-discover img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
.wwi-discover figcaption { padding: 8px 10px; font-size: 14px; font-weight: 600; color: var(--wwi-ink) !important; }

/* Newsletter: hide whole section until Grow embed present inside slot */
.wwi-grow-section:not(:has(.wwi-grow-slot .grow-form, .wwi-grow-slot iframe, .wwi-grow-slot form, .wwi-grow-slot [class*="grow"])) {
  display: none !important;
}
.wwi-grow {
  background: var(--wwi-cream); border: 2px solid var(--wwi-oak); border-radius: var(--wwi-radius); padding: 28px 24px;
}
.wwi-grow h2 { margin: 0 0 8px; font-size: 1.5rem; }
.wwi-grow p { margin: 0; color: var(--wwi-ink-soft) !important; font-size: 17px; max-width: 36rem; }
.wwi-grow-slot { min-height: 0; margin-top: 12px; }

.wwi-trust {
  display: grid; grid-template-columns: 88px 1fr; gap: 20px; align-items: flex-start;
  background: var(--wwi-surface); border: 1px solid var(--wwi-line); border-radius: var(--wwi-radius); padding: 24px;
}
@media (max-width: 640px) { .wwi-trust { grid-template-columns: 1fr; } }
.wwi-trust__photo,
.wwi-author-box .avatar,
.wwi-author-box img.avatar {
  width: 80px !important; height: 80px !important; max-width: 80px !important;
  border-radius: 50%; object-fit: cover; border: 3px solid var(--wwi-copper);
  display: block; margin: 0 !important;
}
.wwi-author-box { align-items: flex-start !important; }
@media (max-width: 600px) {
  .wwi-trust, .wwi-author-box {
    grid-template-columns: 72px 1fr !important;
    gap: 14px !important;
  }
  .wwi-trust__photo,
  .wwi-author-box .avatar,
  .wwi-author-box img.avatar {
    width: 72px !important; height: 72px !important; max-width: 72px !important;
  }
}

/* Hub hero + resource cards (Floor standard) */
.wwi-hub-hero {
  position: relative; min-height: 260px; border-radius: var(--wwi-radius); overflow: hidden;
  background: var(--wwi-walnut); margin: 24px 0 28px;
}
.wwi-hub-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center;
  display: block; z-index: 0;
}
.wwi-hub-hero__overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  /* Strong left text side (~.88→.78), soft right so photo stays readable */
  background: linear-gradient(90deg,
    rgba(25,18,12,0.88) 0%,
    rgba(25,18,12,0.82) 22%,
    rgba(25,18,12,0.72) 40%,
    rgba(25,18,12,0.45) 58%,
    rgba(25,18,12,0.28) 75%,
    rgba(25,18,12,0.14) 100%);
}
.wwi-hub-hero__inner {
  position: relative; z-index: 2; padding: 36px 28px; max-width: 40rem;
  /* Solid-ish scrim behind copy only — guarantees >=4.5:1; photo stays clear outside this box */
  background: rgba(25,18,12,0.72);
  border-radius: 12px;
}
.wwi-hub-hero__inner h1 {
  color: #FFFDF9 !important; margin: 0 0 10px; font-size: clamp(1.8rem, 3vw, 2.4rem);
  text-shadow: 0 1px 2px rgba(0,0,0,0.65), 0 2px 14px rgba(0,0,0,0.4);
}
.wwi-hub-hero__inner p {
  color: #F4E8D8 !important; margin: 0; font-size: 1.05rem;
  text-shadow: 0 1px 2px rgba(0,0,0,0.6), 0 2px 10px rgba(0,0,0,0.35);
}
.wwi-hub-hero__inner a,
.wwi-hub-hero a,
.wwi-hero__inner a:not(.wwi-btn) {
  color: #fff7ea !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: #e8a25a !important;
  text-shadow: 0 0 2px rgba(25,18,12,0.9), 0 1px 3px rgba(0,0,0,0.75);
  /* Opaque chip so cream links stay >=4.5:1 on any hero photo */
  background: #1f1610 !important;
  padding: 0.08em 0.28em;
  border-radius: 3px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  box-shadow: 0 0 0 1px rgba(25,18,12,0.35);
}
.wwi-hub-hero__inner a:hover,
.wwi-hub-hero a:hover,
.wwi-hero__inner a:not(.wwi-btn):hover {
  color: #ffffff !important;
  text-decoration-color: #f0b56e !important;
}
@media (max-width: 720px) {
  .wwi-hub-hero__overlay {
    background: linear-gradient(180deg,
      rgba(25,18,12,0.45) 0%,
      rgba(25,18,12,0.72) 40%,
      rgba(25,18,12,0.88) 100%);
  }
  .wwi-hub-hero__inner {
    background: rgba(25,18,12,0.78);
  }
}
.wwi-resources { display: grid; gap: 20px; }
.wwi-resource {
  display: grid; grid-template-columns: 240px 1fr; gap: 18px;
  background: var(--wwi-surface); border: 1px solid var(--wwi-line); border-radius: var(--wwi-radius); overflow: hidden;
}
@media (max-width: 700px) { .wwi-resource { grid-template-columns: 1fr; } }
.wwi-resource__media { aspect-ratio: 16 / 10; background: var(--wwi-cream); position: relative; overflow: hidden; min-height: 140px; }
.wwi-resource__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; position: absolute; inset: 0; }
.wwi-resource__body { padding: 16px 18px 18px 0; }
@media (max-width: 700px) { .wwi-resource__body { padding: 0 16px 18px; } }
.wwi-resource__type { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wwi-copper-deep) !important; margin: 0 0 6px; }
.wwi-resource__title { margin: 0 0 8px; font-size: 1.25rem; }
.wwi-resource__title a { color: var(--wwi-ink); text-decoration: none; font-weight: 700; }
.wwi-resource__title a:hover { color: var(--wwi-copper-deep); }
.wwi-resource__blurb { margin: 0; color: var(--wwi-ink-soft) !important; font-size: 17px; }
.wwi-resource__blurb a { color: var(--wwi-copper-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* Author page */
.wwi-author-hero { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: start; margin: 32px 0 40px; }
@media (max-width: 700px) { .wwi-author-hero { grid-template-columns: 1fr; } }
.wwi-author-hero img { width: 200px; height: 200px; object-fit: cover; border-radius: 16px; border: 3px solid var(--wwi-copper); }

body.single .post-content, body.single .entry-content { font-size: 18px; color: var(--wwi-ink); line-height: 1.7; }
.wwi-more-floor {
  background: var(--wwi-surface); border: 1px solid var(--wwi-line); border-radius: var(--wwi-radius); padding: 20px; margin: 28px 0;
}
.wwi-more-floor h2 { margin: 0 0 12px; font-size: 1.25rem; }
body.wwi-child.wwi-has-author-box .author-box,
body.wwi-child.wwi-has-author-box .post-author.auth-box,
body.wwi-child.wwi-curated-related .block-related,
body.wwi-child.wwi-curated-related .related-posts { display: none !important; }
/* Keep byline .post-author visible — do not hide with author-box rules */
body.wwi-child.wwi-has-author-box .post-meta .post-author { display: inline !important; }

/* Contact / WPForms: one clean form; hide honeypot & noscript duplicate */
body.wwi-child .wpforms-container noscript,
body.wwi-child .wpforms-container .wpforms-form + .wpforms-form,
body.wwi-child .wpforms-container-full noscript { display: none !important; }
body.wwi-child .wpforms-field-hp,
body.wwi-child .wpforms-container .wpforms-field[style*="position: absolute"],
body.wwi-child #wpforms-6-field_4-container {
  position: absolute !important; left: -99999px !important; top: auto !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important;
  opacity: 0 !important; pointer-events: none !important; clip: rect(0,0,0,0) !important;
}
body.wwi-child .wpforms-submit-container { margin-top: 12px; }
body.wwi-child .wpforms-submit { background: var(--wwi-walnut) !important; color: #F4E8D8 !important; border: none !important; }

body.wwi-child .smart-head-social a[href="#"] { display: none !important; }

a:focus-visible, button:focus-visible { outline: 3px solid var(--wwi-ink); outline-offset: 2px; }

/* Contact: only one visible submit; hide WPForms noscript clone */
body.wwi-child .wpforms-container noscript { display: none !important; }
/* Only hide DUPLICATE submit containers (siblings), never the first/only one */
body.wwi-child .wpforms-container .wpforms-submit-container ~ .wpforms-submit-container { display: none !important; }
body.wwi-child .wpforms-submit-container {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  clip: auto !important;
  pointer-events: auto !important;
}
body.wwi-child button.wpforms-submit,
body.wwi-child .wpforms-submit {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: var(--wwi-walnut) !important;
  color: #F4E8D8 !important;
  border: none !important;
  padding: 12px 28px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border-radius: 4px !important;
}

/* Force-hide any WPForms antispam decoy labels that concatenate field names */
body.wwi-child .wpforms-field-label:not([for]):not([id]),
body.wwi-child label.wpforms-field-label[for*="field_4"],
body.wwi-child .wpforms-container .wpforms-field[style*="absolute"] label {
  position: absolute !important; left: -99999px !important; height: 1px !important; overflow: hidden !important;
}
body.wwi-child .wpforms-container noscript .wpforms-form { display: none !important; }
body.wwi-child .wpforms-container > .wpforms-container-full + .wpforms-container-full { display: none !important; }



/* Sticky header restore: pin main head; keep compact ~75px */
body.wwi-child .smart-head-main {
  position: sticky !important;
  top: 0 !important;
  z-index: 10050 !important;
}
/* 0.3.15: SmartMag does NOT clone the header — it adds .smart-head-sticky to the
   SAME .smart-head-mid row that holds logo+nav, then position:fixed.
   Hiding .smart-head-sticky (0.3.13) made that row display:none → empty brown bar
   on articles after scroll-up. Keep the row visible; CSS sticky is on .smart-head-main. */
body.wwi-child .smart-head-main .smart-head-row.smart-head-sticky,
body.wwi-child .smart-head-main .smart-head-mid.smart-head-sticky,
body.wwi-child .smart-head-main .smart-head-mid.smart-head-sticky.off,
body.wwi-child .smart-head-main .smart-head-row.smart-head-sticky.off {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin-left: 0 !important;
  transform: none !important;
  animation: none !important;
  z-index: auto !important;
}
body.admin-bar body.wwi-child .smart-head-main,
body.admin-bar body.wwi-child .smart-head-sticky {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar body.wwi-child .smart-head-main,
  body.admin-bar body.wwi-child .smart-head-sticky { top: 46px !important; }
}

/* 0.3.15: do not hide .off mid-row — CSS sticky keeps one header always visible */
body.wwi-child .smart-head-main .smart-head-sticky.off {
  pointer-events: auto !important;
  visibility: visible !important;
  transform: none !important;
}



/* Compact header height (~75px) on all templates; home h1-in-logo must not stretch nav */
body.wwi-child .smart-head-main a.logo-link h1 {
  all: unset; display: block; margin: 0; padding: 0; line-height: 0; font-size: 0;
}
body.wwi-child .smart-head-main .smart-head-mid > .inner.wrap,
body.wwi-child .smart-head-sticky .smart-head-mid > .inner.wrap {
  align-items: center !important;
  min-height: 72px !important;
  max-height: none !important;
}
body.wwi-child .smart-head-main .navigation-main .menu > li > a,
body.wwi-child .smart-head-sticky .navigation-main .menu > li > a {
  height: 72px !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}
body.wwi-child .smart-head-main .nav-wrap,
body.wwi-child .smart-head-main .navigation-main,
body.wwi-child .smart-head-main .navigation-main .menu {
  height: 72px !important;
  align-items: center !important;
}
body.wwi-child .smart-head-main img.logo-image:not(.logo-image-dark) {
  padding: 0 !important;
}

/* Logo left edge: force SAME header wrap on home (no-wrapper 1200) and singles (1140) */
body.wwi-child .smart-head-main .smart-head-row.smart-head-mid > .inner.wrap,
body.wwi-child .smart-head-main .smart-head-mid > .inner.wrap,
body.wwi-child .smart-head-main .inner.wrap,
body.wwi-child .smart-head-sticky .smart-head-row.smart-head-mid > .inner.wrap,
body.wwi-child .smart-head-sticky .smart-head-mid > .inner.wrap,
body.wwi-child .smart-head-sticky .inner.wrap,
body.wwi-child.wwi-front .smart-head-main .inner.wrap,
body.wwi-child.home .smart-head-main .inner.wrap,
body.wwi-child.single .smart-head-main .inner.wrap,
body.wwi-child.page .smart-head-main .inner.wrap {
  max-width: 1140px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.wwi-child .smart-head-main .items.items-left,
body.wwi-child .smart-head-sticky .items.items-left {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
body.wwi-child .smart-head-main a.logo-link,
body.wwi-child .smart-head-sticky a.logo-link {
  margin-left: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
}
body.wwi-child .smart-head-main .main-logo,
body.wwi-child .smart-head-sticky .main-logo,
body.wwi-child .smart-head-main .ts-logo {
  margin-left: 0 !important;
  padding-left: 0 !important;
}


/* ===== 0.3.6 mobile header + sticky + tap targets ===== */
/* Mobile header logo fallback (SmartMag often emits empty logo-link span) */
body.wwi-child .smart-head-mobile a.logo-link {
  min-width: 150px !important;
  min-height: 40px !important;
  background-image: url("logo-header.webp") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}
body.wwi-child .smart-head-mobile a.logo-link span:empty { display: none !important; }

body.wwi-child .smart-head-mobile {
  position: sticky !important;
  top: 0 !important;
  z-index: 10050 !important;
  background: var(--wwi-walnut) !important;
}
body.wwi-child .smart-head-mobile .smart-head-mid > .inner.wrap {
  min-height: 56px !important;
  align-items: center !important;
  max-height: none !important;
}
/* Show logo in mobile header bar (theme often emits empty logo-link) */
body.wwi-child .smart-head-mobile a.logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  max-width: 200px !important;
}
body.wwi-child .smart-head-mobile a.logo-link img,
body.wwi-child .smart-head-mobile img.logo-mobile,
body.wwi-child .smart-head-mobile img.logo-image:not(.logo-image-dark) {
  display: block !important;
  height: 38px !important;
  width: auto !important;
  max-width: 180px !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain !important;
}
/* Hamburger: high-contrast cream, >=44px tap target */
body.wwi-child .smart-head-mobile .offcanvas-toggle {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: #fff7ea !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.wwi-child .smart-head-mobile .hamburger-icon,
body.wwi-child .smart-head-mobile .hamburger-icon-a {
  width: 22px !important;
  height: 16px !important;
  display: inline-block !important;
  position: relative !important;
  background: transparent !important;
}
body.wwi-child .smart-head-mobile .hamburger-icon .inner,
body.wwi-child .smart-head-mobile .hamburger-icon-a .inner,
body.wwi-child .smart-head-mobile .hamburger-icon:before,
body.wwi-child .smart-head-mobile .hamburger-icon:after,
body.wwi-child .smart-head-mobile .hamburger-icon-a:before,
body.wwi-child .smart-head-mobile .hamburger-icon-a:after {
  background: #fff7ea !important;
  background-color: #fff7ea !important;
  border-color: #fff7ea !important;
  opacity: 1 !important;
}
body.wwi-child .smart-head-mobile .search-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff7ea !important;
  font-size: 18px !important;
}
body.wwi-child .smart-head-mobile .search-icon .tsi { color: #fff7ea !important; font-size: 18px !important; }

/* Off-canvas close: >=44px, high contrast */
body.wwi-child .off-canvas .close,
body.wwi-child #off-canvas .close,
body.wwi-child .mobile-menu-container .close {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff7ea !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  padding: 0 !important;
  opacity: 1 !important;
}
body.wwi-child .off-canvas .close .tsi,
body.wwi-child #off-canvas .close .tsi,
body.wwi-child .mobile-menu-container .close .tsi {
  color: #fff7ea !important;
  font-size: 22px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}



/* Off-canvas close visible when menu open */
html.off-canvas-active .off-canvas .close,
html.off-canvas-active #off-canvas .close,
body.off-canvas-active .off-canvas .close,
body.off-canvas-active #off-canvas .close {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* Off-canvas panel visible when active (SmartMag + delayed JS) */
html.off-canvas-active #off-canvas,
html.off-canvas-active .off-canvas,
body.off-canvas-active #off-canvas,
body.off-canvas-active .off-canvas,
html.off-canvas-active .mobile-menu-container.off-canvas {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  z-index: 100100 !important;
}
html.off-canvas-active #off-canvas .close,
html.off-canvas-active .off-canvas .close,
body.off-canvas-active #off-canvas .close,
body.off-canvas-active .off-canvas .close {
  visibility: visible !important;
  opacity: 1 !important;
  color: #fff7ea !important;
  pointer-events: auto !important;
  z-index: 100110 !important;
}



/* ===== 0.3.10: no floating share bar (top + bottom rows only) ===== */
body.wwi-child .post-share-float,
body.wwi-child .share-float-d,
body.wwi-child .post-share-float.share-float-d {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}
body.wwi-child .post-content-wrap.has-share-float {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
body.wwi-child .has-share-float {
  padding-left: 0 !important;
}


/* ===== 0.3.11: keep author/card images visible (LiteSpeed placeholder fix) ===== */
.wwi-author-box img.avatar,
.wwi-author-box img.skip-lazy,
.wwi-author-hero img.skip-lazy,
.wwi-card__media img.skip-lazy,
.wwi-card__media img.no-lazy {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}
.wwi-card__media img {
  opacity: 1 !important;
}


/* ===== 0.3.12: clickable card / resource images ===== */
.wwi-card__media > a,
.wwi-resource__media > a {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 1;
  text-decoration: none !important;
}
.wwi-card__media > a img,
.wwi-resource__media > a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* Gallery stays non-linked (span.wwi-card__media inside .wwi-discover) */
.wwi-discover .wwi-card__media > a { /* none expected */ }


/* ===== 0.3.13: one solid sticky header ===== */
body.wwi-child .smart-head-main {
  position: sticky !important;
  top: 0 !important;
  z-index: 10050 !important;
  background: #3B2A1A !important;
  background-color: #3B2A1A !important;
  min-height: 72px !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.15);
}
body.wwi-child .smart-head-main .smart-head-row,
body.wwi-child .smart-head-main .smart-head-mid {
  background: #3B2A1A !important;
}
/* Hide only LS SVG placeholders */
body.wwi-child .smart-head-main img[src*="data:image/svg"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
}

/* Floating share — fully gone */
body.wwi-child .post-share-float,
body.wwi-child .share-float-d,
body.wwi-child .post-share-float.share-float-d,
body.wwi-child .post-share-float.is-hidden,
body.wwi-child .post-share-float.is-active,
body.wwi-child .floating-share,
body.wwi-child .share-float,
body.wwi-child aside.post-share-float {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}
body.wwi-child .post-content-wrap.has-share-float,
body.wwi-child .has-share-float {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Kickers / small labels — darker copper for ≥4.5:1 on cream (#F7F1E8) */
body.wwi-child .wwi-card__kicker,
body.wwi-child .wwi-resource__type,
body.wwi-child .cat-labels a,
body.wwi-child .post-cat a,
body.wwi-child .s-cat,
body.wwi-child .term-badge {
  color: #6b2e0c !important;
}

/* Author / card images — durable against LiteSpeed lazy opacity */
.wwi-author-box img.avatar,
.wwi-author-hero img,
.wwi-card__media img,
.wwi-card__media img.lazyload,
.wwi-card__media img[data-lazyloaded],
.wwi-grid-3 .wwi-card img {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}



/* ===== 0.3.14: site-title wrap (logo H1 demoted) ===== */
body.wwi-child .smart-head a.logo-link .wwi-site-title,
body.wwi-child a.logo-link .wwi-site-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  border: 0 !important;
}

/* ===== 0.3.15/0.3.16: sticky never empties + one logo ===== */
body.wwi-child .smart-head-main {
  position: sticky !important;
  top: 0 !important;
  z-index: 10050 !important;
  background: #3B2A1A !important;
  min-height: 72px !important;
}
body.wwi-child .smart-head-main .smart-head-row.smart-head-sticky,
body.wwi-child .smart-head-main .smart-head-mid.smart-head-sticky,
body.wwi-child .smart-head-main .smart-head-mid.smart-head-sticky.off {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  margin-left: 0 !important;
  transform: none !important;
  animation: none !important;
  z-index: auto !important;
}
/* Final logo winner: dark mark visible; light sibling suppressed (beats SM .s-dark rules) */
body.wwi-child .smart-head-main a.logo-link img.logo-image-dark {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 48px !important;
  width: auto !important;
  max-width: 260px !important;
}
body.wwi-child .smart-head-main a.logo-link img.logo-image-dark ~ .logo-image,
body.wwi-child .smart-head-main .s-dark .logo-image-dark ~ .logo-image,
body.wwi-child .s-dark .smart-head-main .logo-image-dark ~ .logo-image,
body.wwi-child .smart-head-main .ts-logo .logo-image-dark ~ .logo-image {
  display: none !important;
}
body.wwi-child .smart-head-main .navigation-main,
body.wwi-child .smart-head-main .navigation-main .menu,
body.wwi-child .smart-head-main .nav-wrap {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* 0.3.17: beat SmartMag .ts-logo dark/light swap with !important + inline styles from PHP */
body.wwi-child .smart-head-main a.logo-link.ts-logo img.logo-image-dark,
body.wwi-child .smart-head-main .s-dark a.logo-link img.logo-image-dark,
body.wwi-child .s-dark .smart-head-main a.logo-link img.logo-image-dark,
body.wwi-child .smart-head-main a.logo-link img.logo-image.logo-image-dark {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 48px !important;
  width: auto !important;
  max-width: 260px !important;
}
body.wwi-child .smart-head-main a.logo-link.ts-logo img.logo-image-dark ~ img.logo-image,
body.wwi-child .s-dark .smart-head-main a.logo-link img.logo-image-dark ~ img.logo-image {
  display: none !important;
}
