/* The Fruit of the Spirit: page-specific styles (the shared design is css/product-page.css) */
.fs-cta { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .9rem; margin: 1rem 0 .6rem; }
.fs-cta .pp-shopify, .fs-cta .pp-shopify > *, .fs-cta .shopify-buy__product, .fs-cta .shopify-buy__btn-wrapper { margin: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; max-width: none !important; }
.fs-cta .shopify-buy__btn { margin: 0 !important; min-height: 3.1rem; }
.fs-cta .pp-btn { min-height: 3.1rem; display: inline-flex; align-items: center; margin: 0; }
.fs-hero-art { margin: 0; justify-self: center; }
.fs-hero-art img { display: block; width: 100%; max-width: 340px; height: auto; filter: drop-shadow(0 14px 26px rgba(0,0,0,.5)); }   /* the cards sit on the page, not on a panel */
.fs-two { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2.2rem; align-items: start; }
.fs-verse { border-left: 4px solid var(--pp-accent); margin: 0 0 1.2rem; padding: .2rem 0 .2rem 1rem; font-size: 1.15rem; font-style: italic; color: var(--pp-primary); }
.fs-verse cite { display: block; font-size: .95rem; font-style: normal; color: var(--pp-muted); margin-top: .2rem; }
.fs-fig { margin: 0 0 1rem; text-align: center; }
.fs-fig .pp-zoom { display: block; width: 100%; }
.fs-fig img { display: block; width: 100%; height: auto; filter: drop-shadow(0 6px 12px rgba(31,42,18,.3)); }
.fs-fig figcaption { margin-top: .4rem; color: var(--pp-muted); font-size: .92rem; }
.fs-fig.is-tree { max-width: 380px; margin: 1rem auto 0; }
.fs-types .pp-type img { border-radius: 0; box-shadow: none; filter: drop-shadow(0 6px 12px rgba(31,42,18,.3)); width: 80%; max-width: 280px; }
.fs-types .pp-zoom { display: block; margin: 0 auto; }
.fs-deck { max-width: 640px; margin: 2rem auto 0; }
.fs-deck h3 { font-size: 1.2rem; margin-bottom: .6rem; }
.pp-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.pp-table th, .pp-table td { padding: .4rem .6rem; border-bottom: 1px solid rgba(0,0,0,.12); text-align: left; }
.pp-table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--pp-muted); }
.pp-table tbody th { font-weight: 700; }
.pp-table td:nth-child(2) { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; width: 5rem; }
.pp-table .total th, .pp-table .total td { border-top: 2px solid currentColor; border-bottom: 0; }
.fs-instr { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin: 2rem 0 1rem; }
.fs-banner { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 0 .8rem; }
.fs-rule { font-weight: 700; }
.fs-acc summary { font-weight: 700; }
.pp-acc .body ol, .pp-acc .body ul { padding-left: 1.3rem; }
.pp-acc .body ol ul { margin-top: .3rem; }
.fs-buy-row .pp-shopify { margin: .5rem auto 0; }
@media (max-width: 860px) {
  .fs-two { grid-template-columns: 1fr; }
  .fs-instr { grid-template-columns: 1fr; }
}
