/*
 * NK Food Bank (post listing) — Elementor widget styles (hardened against theme / Elementor Kit CSS — generated, see notes below).
 *
 * 1. Scope :is(#nk-fdb,.nk-food-root): :is() takes the specificity of its strongest argument, so every rule
 *    gets ID-level specificity while still matching the root class (the #id never has to exist).
 * 2. !important on every declaration except custom properties. Typography is !important too; the
 *    widget's Typography controls also emit !important from a more specific selector, so they win.
 *    No font-family is ever set: the widget inherits the theme's font.
 * 3. The reset reverts theme styles inside the widget (except SVG internals and library icons).
 *
 * Elementor style controls set CSS variables (--nkf-*) that these rules read, so editor
 * settings always apply without a specificity fight. Typography controls use
 * "{{WRAPPER}} #id .x" + !important to outrank the font declarations here.
 */

:is(#nk-fdb,.nk-food-root) :where(:not(svg,svg *,img,.nk-ico *)),:is(#nk-fdb,.nk-food-root) :where(:not(svg,svg *,img,.nk-ico *))::before,:is(#nk-fdb,.nk-food-root) :where(:not(svg,svg *,img,.nk-ico *))::after{all:revert}
:is(#nk-fdb,.nk-food-root){direction:rtl!important;color:var(--nkf-text,#58585A)!important;line-height:1.95!important;text-align:start!important;display:block!important}
:is(#nk-fdb,.nk-food-root) *,:is(#nk-fdb,.nk-food-root) *::before,:is(#nk-fdb,.nk-food-root) *::after{box-sizing:border-box!important}
:is(#nk-fdb,.nk-food-root) a{color:inherit!important;text-decoration:none!important}
:is(#nk-fdb,.nk-food-root) svg{display:inline-block!important;flex:0 0 auto!important}
:is(#nk-fdb,.nk-food-root) :focus-visible{outline:2.5px solid var(--nkf-focus,#00AF9D)!important;outline-offset:2px!important}

/* Custom (Elementor library) icons */
:is(#nk-fdb,.nk-food-root) .nk-ico{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;flex:0 0 auto!important}
:is(#nk-fdb,.nk-food-root) .nk-ico svg{width:1em!important;height:1em!important;fill:currentColor!important}

/* Section */
:is(#nk-fdb,.nk-food-root) .nk-fb{display:block!important;position:relative!important;margin:0!important;padding:var(--nkf-pad,clamp(36px,6vw,60px) clamp(16px,4vw,20px))!important;background:var(--nkf-bg-img,none) var(--nkf-bg-pos,center center)/var(--nkf-bg-size,cover) no-repeat,linear-gradient(var(--nkf-bg-angle,180deg),var(--nkf-bg-a,#EAF7F4) 0%,var(--nkf-bg-b,var(--nkf-bg-a,#EAF7F4)) 100%)!important;border-radius:var(--nkf-radius,0px)!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-inner{display:block!important;max-width:var(--nkf-max,1240px)!important;margin:0 auto!important}

/* Heading row: intro + "view all" */
:is(#nk-fdb,.nk-food-root) .nk-fb-head{display:flex!important;flex-wrap:wrap!important;flex-direction:var(--nkf-head-dir,row)!important;gap:var(--nkf-head-gap,20px)!important;align-items:var(--nkf-head-valign,flex-end)!important;justify-content:space-between!important;margin:0 0 var(--nkf-head-mb,30px)!important;padding:0!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-intro{display:block!important;flex:1 1 var(--nkf-intro-basis,380px)!important;min-width:0!important;text-align:var(--nkf-head-align,start)!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-title{display:block!important;font-size:clamp(25px,3vw,36px)!important;font-weight:800!important;line-height:1.95!important;letter-spacing:normal!important;text-transform:none!important;color:var(--nkf-title-c,#3B3B3D)!important;margin:0 0 var(--nkf-title-mb,10px)!important;padding:0!important;border:0!important;background:none!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-desc{display:block!important;font-size:17px!important;font-weight:400!important;line-height:1.95!important;color:var(--nkf-desc-c,#58585A)!important;margin:0!important;margin-inline-start:var(--nkf-desc-ms,0px)!important;margin-inline-end:var(--nkf-desc-me,0px)!important;max-width:var(--nkf-desc-max,60ch)!important;padding:0!important;text-wrap:pretty!important}

/* "View all" button */
:is(#nk-fdb,.nk-food-root) .nk-fb-all{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex:0 0 auto!important;background:var(--nkf-all-bg,#FFFFFF)!important;color:var(--nkf-all-c,#019C8C)!important;border:var(--nkf-all-bw,1px) solid var(--nkf-all-bd,#FFFFFF)!important;padding:var(--nkf-all-pad,13px 22px)!important;border-radius:var(--nkf-all-r,16px)!important;box-shadow:var(--nkf-all-shadow,none)!important;font-size:16px!important;font-weight:700!important;line-height:1.95!important;text-decoration:none!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-all:hover{background:var(--nkf-all-hbg,#019C8C)!important;color:var(--nkf-all-hc,#FFFFFF)!important;border-color:var(--nkf-all-hbd,var(--nkf-all-bd,#FFFFFF))!important;box-shadow:var(--nkf-all-hshadow,var(--nkf-all-shadow,none))!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-all .nk-ico{font-size:1.05em!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-foot{display:flex!important;justify-content:var(--nkf-foot-justify,center)!important;margin:var(--nkf-foot-mt,26px) 0 0!important;padding:0!important}

/* Grid + cards */
:is(#nk-fdb,.nk-food-root) .nk-fb-grid{display:grid!important;grid-template-columns:var(--nkf-cols,repeat(auto-fit,minmax(min(var(--nkf-min,140px),100%),1fr)))!important;gap:var(--nkf-gap,14px)!important;margin:0!important;padding:0!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-card{min-width:0!important;display:flex!important;flex-direction:column!important;gap:var(--nkf-card-gap,10px)!important;position:relative!important;background:var(--nkf-card-bg,#FFFFFF)!important;border:var(--nkf-card-bw,0px) solid var(--nkf-card-bd,transparent)!important;border-radius:var(--nkf-card-r,20px)!important;padding:var(--nkf-card-pad,16px)!important;box-shadow:var(--nkf-card-shadow,none)!important;text-align:var(--nkf-card-align,start)!important;color:inherit!important;text-decoration:none!important;transition:transform .18s ease!important}
:is(#nk-fdb,.nk-food-root) a.nk-fb-card:hover{box-shadow:var(--nkf-card-hshadow,0 12px 28px rgba(0,140,120,.14))!important;background:var(--nkf-card-hbg,var(--nkf-card-bg,#FFFFFF))!important;border-color:var(--nkf-card-hbd,var(--nkf-card-bd,transparent))!important;transform:translateY(calc(-1 * var(--nkf-card-lift,0px)))!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-media{display:block!important;position:relative!important;overflow:hidden!important;aspect-ratio:var(--nkf-img-ratio,1/1)!important;border-radius:var(--nkf-img-r,14px)!important;background:var(--nkf-img-bg,#F0EEE9)!important;margin:0!important;padding:0!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-media img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:var(--nkf-img-fit,cover)!important;object-position:var(--nkf-img-pos,center center)!important;margin:0!important;padding:var(--nkf-img-pad,0px)!important;border:0!important;border-radius:0!important;box-shadow:none!important;transition:transform .4s ease!important}
:is(#nk-fdb,.nk-food-root) a.nk-fb-card:hover .nk-fb-media img{transform:scale(var(--nkf-img-zoom,1))!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-card-title{display:block!important;font-size:16px!important;font-weight:700!important;line-height:1.95!important;color:var(--nkf-ctitle-c,#3B3B3D)!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-card-title.is-clamped{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:var(--nkf-title-lines,2)!important;overflow:hidden!important}
:is(#nk-fdb,.nk-food-root) a.nk-fb-card:hover .nk-fb-card-title{color:var(--nkf-ctitle-hc,var(--nkf-ctitle-c,#3B3B3D))!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-meta{display:block!important;font-size:13px!important;font-weight:400!important;line-height:1.95!important;color:var(--nkf-meta-c,#8B8B8F)!important;margin:0!important;padding:0!important}
:is(#nk-fdb,.nk-food-root) .nk-fb-empty{display:block!important;padding:24px!important;text-align:center!important;font-size:15px!important;line-height:1.95!important;color:var(--nkf-meta-c,#8B8B8F)!important;background:var(--nkf-card-bg,#FFFFFF)!important;border-radius:var(--nkf-card-r,20px)!important}

@media (prefers-reduced-motion:reduce){:is(#nk-fdb,.nk-food-root) *{transition:none!important;animation:none!important}}
