/* Puff's existing palette and local type; shared non-commercial accessibility. */
body.puff-site { --wd-otl-color:#1c4319; --wd-otl-style:solid; --wd-otl-width:3px; --wd-otl-offset:3px; }
.pf-skip-link { position:fixed; top:-10000px; left:12px; z-index:1000001; padding:12px 16px; background:#fff; color:#1c4319!important; border:2px solid #1c4319; border-radius:5px; font-size:16px; font-weight:600; line-height:1.5; }
.pf-skip-link:focus { top:calc(var(--wp-admin--admin-bar--height,0px) + 12px); outline:3px solid #1c4319; outline-offset:3px; }
#pf-main { scroll-margin-top:110px; }
.pf-nav a[aria-current],.pf-header-account[aria-current] { background:var(--pf-surface-sub); color:var(--pf-accent); }
.pf-nav a { display:inline-flex; align-items:center; min-height:44px; }
.pf-brand,.pf-tool-btn { min-height:44px; }
body.puff-site .pf-tools .pf-tool-btn { min-height:44px; }
body.puff-site .pf-tools .pf-menu-btn { display:none; }
@media(max-width:1024px) {
  body.puff-site .pf-tools .pf-menu-btn { display:inline-flex; }
}
/* Keep price variants from changing card action sizes or baselines. */
body.puff-site .pf-card__foot {
  display:grid;
  grid-template-columns:minmax(0,1fr) 128px;
  align-items:end;
  gap:10px;
}
body.puff-site .pf-card__foot .pf-price {
  display:flex;
  flex-wrap:wrap;
  align-content:flex-end;
  align-items:baseline;
  gap:0 6px;
  min-width:0;
  min-height:58px;
}
body.puff-site .pf-card__foot > .pf-btn {
  width:128px;
  height:44px;
  min-height:44px;
  padding:8px 10px!important;
  line-height:1.25;
  white-space:nowrap;
}
@media(min-width:1025px) and (max-width:1279px),(max-width:359px) {
  body.puff-site .pf-card__foot { grid-template-columns:minmax(0,1fr); }
  body.puff-site .pf-card__foot > .pf-btn { width:100%; }
}
.pf-footer a { overflow-wrap:anywhere; }
.pf-footer ul a { display:inline-flex; align-items:center; min-height:36px; }
.pf-page { padding:0 0 48px; color:var(--pf-text); font-size:16px; line-height:1.75; }
.pf-page__wrap { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.pf-page__breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding-top:22px; color:var(--pf-muted); font-size:13px; }
.pf-page__breadcrumb a { display:inline-flex; align-items:center; min-height:36px; text-decoration:underline; text-underline-offset:3px; }
.pf-page__heading { padding:28px 0 34px; }
.pf-page__heading h1 { max-width:28ch; margin:0; color:var(--pf-accent); font:700 clamp(32px,3.6vw,44px)/1.2 'LibreFranklin','Segoe UI',system-ui,sans-serif; letter-spacing:-.035em; text-transform:none; overflow-wrap:anywhere; }
.pf-page__heading > p { max-width:72ch; margin:14px 0 0; color:var(--pf-muted); font-size:16px; line-height:1.65; }
.pf-page__layout { display:grid; grid-template-columns:225px minmax(0,1fr); align-items:start; gap:34px; }
.pf-page__aside { position:sticky; top:110px; min-width:0; }
.pf-page__related { margin:0; border:1px solid var(--pf-border); border-radius:10px; background:var(--pf-surface-sub); }
.pf-page__related summary { position:relative; padding:14px 35px 14px 16px; min-height:48px; color:var(--pf-accent); font-size:14px; font-weight:700; cursor:pointer; list-style:none; }
.pf-page__related summary::-webkit-details-marker { display:none; }
.pf-page__related summary::after { content:''; position:absolute; right:17px; top:20px; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.pf-page__related[open] summary::after { top:23px; transform:rotate(225deg); }
.pf-page__related nav { padding:0 8px 9px; }
.pf-page__related ul { display:grid; gap:3px; margin:0; padding:0; list-style:none; }
.pf-page__related a { display:flex; align-items:center; min-height:44px; padding:9px 10px; color:var(--pf-text); border-radius:5px; font-size:14px; line-height:1.45; }
.pf-page__related a:hover { background:#dbe9d9; }
.pf-page__related a[aria-current] { background:var(--pf-accent); color:#fff; font-weight:600; }
.pf-page__content { min-width:0; padding:30px 34px; border:1px solid var(--pf-border); border-radius:13px; background:#fff; }
.pf-prose { overflow-wrap:anywhere; }
.pf-prose > :first-child { margin-top:0; }
.pf-prose > :last-child { margin-bottom:0; }
.pf-prose h2,.pf-prose h3 { color:var(--pf-accent); line-height:1.35; text-transform:none; letter-spacing:-.02em; }
.pf-prose h2 { margin:32px 0 14px; font-size:24px; scroll-margin-top:120px; }
.pf-prose h3 { margin:24px 0 12px; font-size:19px; }
.pf-prose p { max-width:76ch; margin:0 0 18px; color:#344f38; font-size:16px; line-height:1.8; }
.pf-prose ul,.pf-prose ol { margin:0 0 20px; padding-left:23px; }
.pf-prose li { margin-bottom:9px; padding-left:3px; }
.pf-prose a { color:var(--pf-accent); text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.pf-prose table { width:100%; margin:0; border-collapse:collapse; font-size:14px; line-height:1.6; }
.pf-prose th,.pf-prose td { padding:13px 14px; vertical-align:top; text-align:left; border-bottom:1px solid var(--pf-border); overflow-wrap:anywhere; }
.pf-prose th { background:var(--pf-surface-sub); color:var(--pf-accent); font-weight:600; text-transform:none; }
.pf-prose tr:last-child td { border-bottom:0; }
.pf-table-scroll { max-width:100%; overflow-x:auto; margin:24px 0; border:1px solid var(--pf-border); border-radius:7px; overscroll-behavior-inline:contain; }
.pf-table-scroll table { min-width:440px; }
.pf-page--commerce .pf-page__wrap { max-width:1240px; }
.pf-page--commerce .pf-page__layout { display:block; }
.pf-page--commerce .pf-page__content { padding:28px; }
.pf-page--commerce .form-row .input-text,.pf-page--commerce .form-row select { min-height:44px; font-size:16px; }
.pf-page--error { min-height:55vh; }
.pf-page--error .pf-page__content,.pf-page--search .pf-page__content { max-width:850px; }
.pf-page__actions { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.pf-page__actions a { display:inline-flex; align-items:center; min-height:44px; }
.pf-search-result + .pf-search-result { padding-top:24px; margin-top:24px; border-top:1px solid var(--pf-border); }
.pf-search-result h2 { margin:0 0 10px; font-size:22px; }
.pf-search-result p { margin:0; color:var(--pf-muted); font-size:15px; }
.pf-search-form { max-width:580px; margin-top:30px; }
.pf-search-form input[type="text"],.pf-search-form input[type="search"] { min-height:46px; font-size:16px; }
.pf-page .page-links,.pf-page .pagination { margin-top:28px; }
@media(max-width:850px) {
  .pf-page__layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .pf-page__aside { position:static; }
  .pf-page__related ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .pf-page { padding-bottom:30px; }
  .pf-page__wrap { width:calc(100% - 32px); }
  .pf-page__breadcrumb { padding-top:12px; font-size:12px; }
  .pf-page__heading { padding:20px 0 25px; }
  .pf-page__heading h1 { font-size:32px; }
  .pf-page__heading > p { font-size:15px; }
  .pf-page__content { padding:23px 20px; border-radius:10px; }
  .pf-prose h2 { font-size:22px; }
  .pf-prose p { font-size:15px; line-height:1.8; }
  .pf-prose th,.pf-prose td { padding:11px 12px; }
  .pf-page--commerce .pf-page__content { padding:20px 14px; }
  .pf-footer ul a { min-height:44px; }
}
/* Constrain existing long native labels, not the page or its content. */
body.puff-site.single-product form.variations_form .variable-item[data-wvstooltip]::before {
  box-sizing:border-box;
  width:max-content!important;
  max-width:min(260px,calc(100vw - 32px))!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  left:var(--pf-tip-left,-999px)!important;
  right:var(--pf-tip-right,-999px)!important;
  transition-property:opacity,visibility;
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .pf-header *,.pf-btn,.pf-card,.pf-buybar { transition:none!important; animation:none!important; }
}
body.puff-site .pf-footer__tg-label,body.puff-site .pf-footer__quick { display:none; }
@media(max-width:600px) {
  body.puff-site .pf-footer { padding:30px 0 20px; }
  body.puff-site .pf-footer__grid { grid-template-columns:minmax(0,1fr); gap:18px; padding-bottom:18px; }
  body.puff-site .pf-footer__grid > div:first-child p,body.puff-site .pf-footer__tg img,body.puff-site .pf-fcol { display:none!important; }
  body.puff-site .pf-footer__quick { display:flex; flex-wrap:wrap; gap:8px 20px; padding-block:12px; border-block:1px solid rgba(255,255,255,.1); }
  body.puff-site .pf-footer__quick a { display:inline-flex; align-items:center; min-height:44px; color:#4ade80; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
  body.puff-site .pf-footer p { font-size:13px!important; line-height:1.6!important; }
  body.puff-site .pf-footer__grid > div:last-child .pf-footer__tg { display:inline-flex!important; align-items:center; min-height:44px; margin-top:8px; color:#4ade80; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
  body.puff-site .pf-footer__tg-label { display:inline; }
  body.puff-site .pf-footer__bottom { gap:8px; padding-top:16px; font-size:11px; line-height:1.55; }
}
