/* KFH Product SEO Catalog v2.3.0 — three-color, container-responsive layout */
.single-product .kfh-seo-pilot,
.single-product .kfh-product-snapshot{
  --kfh-navy:#172A46;
  --kfh-teal:#2B8CA3;
  --kfh-white:#FFFFFF;
}
.single-product .kfh-seo-pilot{
  container-type:inline-size;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:30px 0 12px!important;
  color:var(--kfh-navy)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.single-product .kfh-seo-pilot,
.single-product .kfh-seo-pilot *{box-sizing:border-box!important;min-width:0}
.single-product .kfh-seo-pilot h2,
.single-product .kfh-seo-pilot h3{
  margin-top:0!important;
  color:var(--kfh-navy)!important;
  text-transform:none!important;
  letter-spacing:-.018em!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto;
}

/* 1. Specifications stay first. */
.single-product .kfh-spec-blueprint{
  width:100%!important;
  margin:0 0 22px!important;
  overflow:hidden!important;
  border:1px solid rgba(23,42,70,.16)!important;
  border-radius:18px!important;
  background:var(--kfh-white)!important;
  box-shadow:0 10px 28px rgba(23,42,70,.07)!important;
}
.single-product .kfh-spec-title{
  display:block!important;
  padding:20px 24px!important;
  background:var(--kfh-navy)!important;
  border-bottom:4px solid var(--kfh-teal)!important;
}
.single-product .kfh-spec-title h2{
  margin:0!important;
  color:var(--kfh-white)!important;
  font-size:clamp(20px,2.1vw,28px)!important;
  line-height:1.25!important;
  text-align:center!important;
}
.single-product .kfh-spec-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:16px!important;
  background:rgba(43,140,163,.055)!important;
}
.single-product .kfh-spec-item{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:96px!important;
  margin:0!important;
  padding:15px 16px!important;
  overflow:hidden!important;
  border:1px solid rgba(23,42,70,.14)!important;
  border-radius:12px!important;
  background:var(--kfh-white)!important;
}
.single-product .kfh-spec-item.kfh-spec-wide{grid-column:span 2!important}
.single-product .kfh-spec-item.kfh-spec-full{grid-column:1/-1!important;min-height:auto!important}
.single-product .kfh-spec-item dt{
  margin:0 0 7px!important;
  color:var(--kfh-teal)!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  overflow-wrap:anywhere!important;
}
.single-product .kfh-spec-item dd{
  margin:0!important;
  color:var(--kfh-navy)!important;
  font-size:clamp(14px,1.25vw,17px)!important;
  font-weight:700!important;
  line-height:1.52!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.single-product .kfh-spec-item.kfh-spec-wide dd,
.single-product .kfh-spec-item.kfh-spec-full dd{font-size:15px!important;font-weight:600!important;line-height:1.6!important}

/* 2. Product Brief. It remains one paragraph for Yoast, but the label is visual only. */
.single-product .kfh-seo-intro{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:112px!important;
  margin:0 0 20px!important;
  padding:24px 26px 22px 192px!important;
  overflow:hidden!important;
  border:1px solid rgba(23,42,70,.15)!important;
  border-top:4px solid var(--kfh-teal)!important;
  border-radius:17px!important;
  background:var(--kfh-white)!important;
  box-shadow:0 8px 22px rgba(23,42,70,.055)!important;
  color:var(--kfh-navy)!important;
  font-size:16px!important;
  font-weight:500!important;
  line-height:1.78!important;
  overflow-wrap:break-word!important;
}
.single-product .kfh-seo-intro:before{
  content:"Product Brief"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:166px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  background:var(--kfh-navy)!important;
  color:var(--kfh-white)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.11em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
.single-product .kfh-seo-intro .kfh-context-link{white-space:normal!important}

/* 3. Editorial sections: horizontal on roomy containers, stacked when the actual column gets narrow. */
.single-product .kfh-room-plan{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.single-product .kfh-plan-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(250px,34%) minmax(0,66%)!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(23,42,70,.15)!important;
  border-top:4px solid var(--kfh-teal)!important;
  border-radius:17px!important;
  background:var(--kfh-white)!important;
  box-shadow:0 9px 24px rgba(23,42,70,.055)!important;
}
.single-product .kfh-plan-heading{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:22px 20px!important;
  background:rgba(43,140,163,.07)!important;
  border-right:1px solid rgba(23,42,70,.11)!important;
}
.single-product .kfh-plan-eyebrow{
  display:inline-flex!important;
  align-self:flex-start!important;
  margin:0 0 9px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(43,140,163,.13)!important;
  color:var(--kfh-teal)!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.single-product .kfh-plan-heading h2,
.single-product .kfh-plan-heading h3{
  margin:0!important;
  font-size:clamp(19px,1.7vw,23px)!important;
  line-height:1.3!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.single-product .kfh-plan-copy{
  min-width:0!important;
  padding:22px 25px!important;
  background:var(--kfh-white)!important;
  overflow:hidden!important;
}
.single-product .kfh-plan-copy p{
  margin:0 0 12px!important;
  color:var(--kfh-navy)!important;
  font-size:15.2px!important;
  line-height:1.8!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.single-product .kfh-plan-copy p:last-child{margin-bottom:0!important}
.single-product .kfh-topic-note{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(23,42,70,.12)!important;
}

/* Final verification section: strong heading rail with a readable white content panel. */
.single-product .kfh-plan-row.kfh-decision-card{
  border-color:rgba(23,42,70,.20)!important;
  border-top-color:var(--kfh-teal)!important;
  background:var(--kfh-white)!important;
}
.single-product .kfh-decision-card .kfh-plan-heading{
  background:var(--kfh-navy)!important;
  border-right-color:rgba(23,42,70,.12)!important;
}
.single-product .kfh-decision-card .kfh-plan-eyebrow{
  background:rgba(43,140,163,.22)!important;
  color:var(--kfh-white)!important;
}
.single-product .kfh-decision-card .kfh-plan-heading h3{color:var(--kfh-white)!important}
.single-product .kfh-decision-card .kfh-plan-copy{background:var(--kfh-white)!important}
.single-product .kfh-decision-card .kfh-plan-copy p{color:var(--kfh-navy)!important}
.single-product .kfh-decision-card .kfh-topic-note{border-top-color:rgba(23,42,70,.12)!important}

/* Links and separate Amazon CTA */
.single-product .kfh-context-link{
  color:var(--kfh-teal)!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(43,140,163,.45)!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.single-product .kfh-context-link:hover{border-bottom-color:var(--kfh-teal)!important}
.single-product .kfh-decision-card .kfh-context-link{color:var(--kfh-teal)!important;border-bottom-color:rgba(43,140,163,.5)!important}
.single-product .kfh-cta-row{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  margin:18px 0 0!important;
  padding-top:17px!important;
  border-top:1px solid rgba(23,42,70,.12)!important;
}
.single-product .kfh-amazon-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  padding:11px 18px!important;
  border:1px solid var(--kfh-teal)!important;
  border-radius:10px!important;
  background:var(--kfh-teal)!important;
  color:var(--kfh-white)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:normal!important;
  text-align:center!important;
}
.single-product .kfh-amazon-link:after{content:" →"!important;margin-left:7px!important}
.single-product .kfh-amazon-link:hover{background:var(--kfh-white)!important;color:var(--kfh-navy)!important}

/* Short description / At A Glance */
.single-product .kfh-product-snapshot{
  container-type:inline-size;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:16px 0 22px!important;
  overflow:hidden!important;
  border:1px solid rgba(23,42,70,.15)!important;
  border-radius:15px!important;
  background:var(--kfh-white)!important;
  box-shadow:0 7px 20px rgba(23,42,70,.055)!important;
  color:var(--kfh-navy)!important;
}
.single-product .kfh-product-snapshot:before{
  content:"At A Glance"!important;
  display:block!important;
  padding:11px 16px!important;
  background:var(--kfh-navy)!important;
  border-bottom:4px solid var(--kfh-teal)!important;
  color:var(--kfh-white)!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.single-product .kfh-product-snapshot .kfh-glance-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.single-product .kfh-product-snapshot .kfh-glance-list li{
  position:relative!important;
  min-width:0!important;
  margin:0!important;
  padding:14px 16px 14px 31px!important;
  border-bottom:1px solid rgba(23,42,70,.1)!important;
  color:var(--kfh-navy)!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.58!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.single-product .kfh-product-snapshot .kfh-glance-list li:nth-child(odd){border-right:1px solid rgba(23,42,70,.1)!important}
.single-product .kfh-product-snapshot .kfh-glance-list li:before{
  content:""!important;
  position:absolute!important;
  left:16px!important;
  top:21px!important;
  width:6px!important;
  height:6px!important;
  border-radius:50%!important;
  background:var(--kfh-teal)!important;
}
.single-product .kfh-product-snapshot .kfh-glance-list li:nth-last-child(-n+2){border-bottom:0!important}

/* Long product names, spec values, and anchors must stay inside their cards. */
.single-product .kfh-plan-heading,
.single-product .kfh-plan-copy,
.single-product .kfh-product-snapshot,
.single-product .kfh-spec-item{overflow-wrap:anywhere!important;}
.single-product .kfh-plan-heading h2,
.single-product .kfh-plan-heading h3{max-width:100%!important;}
.single-product .kfh-plan-copy a{max-width:100%!important;word-break:normal!important;overflow-wrap:anywhere!important;}

/* Container query fixes narrow WooCommerce columns even on a wide desktop viewport. */
@container (max-width:860px){
  .single-product .kfh-seo-intro{
    min-height:0!important;
    padding:0 18px 18px!important;
  }
  .single-product .kfh-seo-intro:before{
    position:static!important;
    display:block!important;
    width:auto!important;
    margin:0 -18px 16px!important;
    padding:11px 16px!important;
    text-align:center!important;
  }
  .single-product .kfh-plan-row{display:block!important}
  .single-product .kfh-plan-heading{
    align-items:center!important;
    padding:18px 18px 16px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(23,42,70,.11)!important;
    text-align:center!important;
  }
  .single-product .kfh-plan-eyebrow{align-self:center!important}
  .single-product .kfh-plan-heading h2,
  .single-product .kfh-plan-heading h3{text-align:center!important;font-size:20px!important}
  .single-product .kfh-plan-copy{padding:18px!important}
  .single-product .kfh-decision-card .kfh-plan-heading{border-bottom-color:var(--kfh-teal)!important}
}
@container (max-width:680px){
  .single-product .kfh-spec-grid{grid-template-columns:1fr!important;padding:12px!important}
  .single-product .kfh-spec-item,
  .single-product .kfh-spec-item.kfh-spec-wide,
  .single-product .kfh-spec-item.kfh-spec-full{grid-column:1!important;min-height:auto!important}
  .single-product .kfh-spec-item dt,
  .single-product .kfh-spec-item dd{text-align:center!important}
}
@container (max-width:720px){
  .single-product .kfh-product-snapshot .kfh-glance-list{grid-template-columns:1fr!important}
  .single-product .kfh-product-snapshot .kfh-glance-list li,
  .single-product .kfh-product-snapshot .kfh-glance-list li:nth-child(odd){border-right:0!important;border-bottom:1px solid rgba(23,42,70,.1)!important}
  .single-product .kfh-product-snapshot .kfh-glance-list li:last-child{border-bottom:0!important}
}

/* Media-query fallback for browsers without container queries. */
@media(max-width:760px){
  .single-product .kfh-plan-row{display:block!important}
  .single-product .kfh-plan-heading{align-items:center!important;border-right:0!important;text-align:center!important}
  .single-product .kfh-plan-eyebrow{align-self:center!important}
  .single-product .kfh-plan-heading h2,.single-product .kfh-plan-heading h3{text-align:center!important}
  .single-product .kfh-spec-grid{grid-template-columns:1fr!important}
  .single-product .kfh-spec-item,.single-product .kfh-spec-item.kfh-spec-wide,.single-product .kfh-spec-item.kfh-spec-full{grid-column:1!important}
}
.single-product .kfh-spec-empty{
  margin:0!important;
  padding:20px 22px!important;
  background:var(--kfh-white)!important;
  color:var(--kfh-navy)!important;
  font-size:14.5px!important;
  line-height:1.65!important;
  text-align:center!important;
  overflow-wrap:break-word!important;
}
