/* Nordic Poultry – Category Navigation Cards. Scoped to .npf-cards to avoid Themify clashes. */
.npf-cards{--npf-text:#2f2a24;--npf-accent:#9a7b52;--npfc-bg:#fbf8f3;--npfc-radius:12px;--npfc-gap:24px;--npfc-cols:3;--npfc-ratio:4/3;display:grid;grid-template-columns:repeat(var(--npfc-cols),minmax(0,1fr));gap:var(--npfc-gap);list-style:none!important;margin:0!important;padding:0!important;width:100%;max-width:100%}
.npf-cards *,.npf-cards *::before,.npf-cards *::after{box-sizing:border-box}
.npf-cards .npf-cards__item{margin:0!important;padding:0!important;list-style:none!important;min-width:0;display:flex}
.npf-cards .npf-cards__item::before{display:none!important}
.npf-cards .npf-cards__card{display:flex;flex-direction:column;width:100%;background:var(--npfc-bg,#fbf8f3)!important;color:var(--npf-text,#2f2a24)!important;border:1px solid color-mix(in srgb,var(--npf-text) 12%,transparent);border-radius:var(--npfc-radius);overflow:hidden;text-decoration:none!important;box-shadow:0 1px 2px rgba(47,42,36,.04);transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}
.npf-cards .npf-cards__card:hover,.npf-cards .npf-cards__card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px -16px rgba(47,42,36,.3);border-color:color-mix(in srgb,var(--npf-accent) 40%,transparent)}
.npf-cards .npf-cards__card:focus-visible{outline:2px solid var(--npf-accent);outline-offset:3px}
.npf-cards .npf-cards__media{position:relative;aspect-ratio:var(--npfc-ratio);overflow:hidden;background:color-mix(in srgb,var(--npf-text) 6%,var(--npfc-bg))}
.npf-cards .npf-cards__media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;margin:0;transition:transform .7s ease}
.npf-cards.has-zoom .npf-cards__card:hover .npf-cards__media img{transform:scale(1.04)}
.npf-cards .npf-cards__body{flex:1 1 auto;display:flex;flex-direction:column;gap:.5rem;padding:1.15rem 1.25rem 1.25rem}
.npf-cards .npf-cards__title{margin:0!important;padding:0;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.3;font-weight:600;color:var(--npf-text,#2f2a24)!important;overflow-wrap:anywhere}
.npf-cards .npf-cards__desc{margin:0!important;font-size:.92rem;line-height:1.55;color:var(--npf-text,#2f2a24)!important;opacity:.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.npf-cards .npf-cards__more{margin-top:auto;padding-top:.4rem;font-size:.85rem;font-weight:600;color:var(--npf-accent,#9a7b52)!important}
.npf-cards .npf-cards__arrow{display:inline-block;transition:transform .25s ease}
.npf-cards .npf-cards__card:hover .npf-cards__arrow{transform:translateX(4px)}
/* Desktop: keep the complete thumbnail visible, including text near its edges. */
@media (min-width:601px){
	.npf-cards .npf-cards__media img{object-fit:contain!important}
	.npf-cards.has-zoom .npf-cards__card:hover .npf-cards__media img{transform:none}
}
/* Mobile: always 3 compact cards per row, no horizontal scrolling. */
@media (max-width:600px){
	.npf-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}
	.npf-cards .npf-cards__card{border-radius:min(var(--npfc-radius),10px)}
	.npf-cards .npf-cards__body{padding:.5rem .5rem .6rem;gap:.25rem}
	.npf-cards .npf-cards__title{font-size:clamp(.72rem,3.3vw,.9rem);line-height:1.25;hyphens:auto;-webkit-hyphens:auto}
	.npf-cards .npf-cards__desc{-webkit-line-clamp:2;font-size:clamp(.66rem,2.8vw,.78rem);line-height:1.4}
	.npf-cards .npf-cards__more{padding-top:.15rem;font-size:.85rem}
	.npf-cards .npf-cards__label{display:none}
}
@media (max-width:380px){
	.npf-cards{gap:6px}
	.npf-cards .npf-cards__desc{display:none}
}
.npf-explore{box-sizing:border-box;width:100%;max-width:1160px;margin:2rem auto!important;padding:0 1.5rem;clear:both}
.tb_text_wrap .npf-explore,.module .npf-explore{margin:0 auto!important;padding:0}
@media (max-width:600px){.npf-explore{padding:0 12px}.tb_text_wrap .npf-explore,.module .npf-explore{padding:0}}
.npf-explore .npf-explore__heading{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--npf-accent,#9a7b52)!important;margin:0 0 .85rem;padding:0;border:0;line-height:1.3}
@media (prefers-reduced-motion:reduce){.npf-cards *{transition:none!important}}
.npf-cards-note{padding:.75rem 1rem;border:1px dashed #9a7b52;border-radius:8px}

/* ---------- Botanical editorial style (opt-in per card group) ---------- */
.npf-bot{--npfb-gold:#b08d57;--npfb-ivory:#fbf6ec;--npfb-sage:#8a9a6e;gap:clamp(18px,3vw,40px);padding:clamp(10px,2vw,22px)!important;overflow:visible}
.npf-bot .npf-bot__item{position:relative;display:block}
.npf-bot .npf-bot__card{display:block;text-decoration:none!important;color:var(--npf-text,#2f2a24)!important;transition:transform .5s ease}
.npf-bot .npf-bot__card:hover,.npf-bot .npf-bot__card:focus-visible{transform:translateY(-4px)}
.npf-bot .npf-bot__card:focus-visible{outline:2px solid var(--npfb-gold);outline-offset:6px;border-radius:14px}
.npf-bot .npf-bot__frame{position:relative;display:block;border-radius:14px;background:var(--npfb-ivory);box-shadow:0 10px 28px -18px rgba(47,42,36,.45);transition:box-shadow .5s ease}
.npf-bot .npf-bot__card:hover .npf-bot__frame{box-shadow:0 18px 36px -18px rgba(47,42,36,.5)}
.npf-bot .npf-bot__media{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;border-radius:10px}
.npf-bot .npf-bot__media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover!important;margin:0;transition:transform .9s ease}
.npf-bot .npf-bot__card:hover .npf-bot__media img{transform:scale(1.035)}
.npf-bot .npf-bot__media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(30,26,20,.55),transparent);pointer-events:none}
.npf-bot .npf-bot__caption{position:absolute;left:0;right:0;bottom:clamp(10px,6%,26px);display:flex;justify-content:center;padding:0 10px;z-index:2;pointer-events:none}
.npf-bot .npf-bot__title{font-family:inherit;font-variant:small-caps;letter-spacing:.06em;line-height:1.2;text-align:center;color:var(--npf-text,#2f2a24)!important;background:var(--npfb-ivory);padding:.45em 1.1em;font-size:clamp(.8rem,1.15vw,1rem)}
.npf-bot .npf-bot__orn{position:absolute;z-index:3;height:auto!important;max-width:none;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(47,42,36,.18));transition:transform .6s ease}
.npf-bot .npf-bot__item:hover .npf-bot__orn{transform:rotate(-2deg)}
.npf-bot .npf-bot__orn.is-tl{top:2%;left:2%}.npf-bot .npf-bot__orn.is-tr{top:2%;right:2%;scale:-1 1}
.npf-bot .npf-bot__orn.is-bl{bottom:2%;left:2%;scale:1 -1}.npf-bot .npf-bot__orn.is-br{bottom:2%;right:2%;scale:-1 -1}
.npf-bot.is-overlap .npf-bot__orn.is-tl{top:-7%;left:-9%}.npf-bot.is-overlap .npf-bot__orn.is-tr{top:-7%;right:-9%}
.npf-bot.is-overlap .npf-bot__orn.is-bl{bottom:-6%;left:-9%}.npf-bot.is-overlap .npf-bot__orn.is-br{bottom:-6%;right:-9%}
/* A – Botanical minimalism: one thin antique-gold line, clean title. */
.npf-bot--a .npf-bot__frame{padding:0;border:1px solid color-mix(in srgb,var(--npfb-gold) 60%,transparent)}
.npf-bot--a .npf-bot__title{background:transparent;color:var(--npfb-ivory)!important;font-size:clamp(.85rem,1.6vw,1.45rem);padding:.2em .4em;border-bottom:1px solid var(--npfb-gold);text-shadow:0 1px 6px rgba(0,0,0,.35)}
/* B – Vintage ornithology: double gold frame and engraved label. */
.npf-bot--b .npf-bot__frame{padding:6px;border:1px solid color-mix(in srgb,var(--npfb-gold) 70%,transparent)}
.npf-bot--b .npf-bot__media{outline:1px solid color-mix(in srgb,var(--npfb-gold) 55%,transparent);outline-offset:3px;border-radius:8px}
.npf-bot--b .npf-bot__title{text-transform:uppercase;font-variant:normal;letter-spacing:.14em;font-size:clamp(.66rem,.95vw,.85rem);border-top:1px solid var(--npfb-gold);border-bottom:1px solid var(--npfb-gold);background:color-mix(in srgb,var(--npfb-ivory) 94%,transparent)}
/* C – Romantic natural history: soft ivory mat, italic title. */
.npf-bot--c .npf-bot__frame{padding:9px;border:2px solid var(--npfb-ivory);border-radius:18px;box-shadow:0 14px 34px -18px rgba(47,42,36,.45),inset 0 0 0 1px color-mix(in srgb,var(--npfb-sage) 35%,transparent)}
.npf-bot--c .npf-bot__media{border-radius:12px}
.npf-bot--c .npf-bot__title{font-style:italic;font-variant:normal;letter-spacing:.02em;background:transparent;color:var(--npfb-ivory)!important;font-size:clamp(.9rem,1.7vw,1.5rem);text-shadow:0 1px 6px rgba(0,0,0,.4)}
@media (max-width:600px){
	.npf-bot{gap:10px;padding:8px!important}
	.npf-bot .npf-bot__frame{border-radius:10px}
	.npf-bot--b .npf-bot__frame{padding:3px}.npf-bot--c .npf-bot__frame{padding:4px;border-radius:12px}
	.npf-bot--b .npf-bot__media{outline-offset:2px}
	.npf-bot .npf-bot__title{font-size:clamp(.55rem,2.6vw,.72rem)!important;padding:.3em .5em;letter-spacing:.04em;hyphens:auto;-webkit-hyphens:auto}
	.npf-bot .npf-bot__orn{scale:.8}
	.npf-bot .npf-bot__orn.is-desktop-only{display:none!important}
	.npf-bot.is-overlap .npf-bot__orn.is-tl,.npf-bot.is-overlap .npf-bot__orn.is-bl{left:-5%}
	.npf-bot.is-overlap .npf-bot__orn.is-tr,.npf-bot.is-overlap .npf-bot__orn.is-br{right:-5%}
}
@media (prefers-reduced-motion:reduce){.npf-bot *{transition:none!important}}
