/* =========================================================
   Storefront footer: orange benefit strip, black column
   footer, newsletter + badge tiles, payment marks bar.
   ========================================================= */

/* ---------- Benefit strip ---------- */
.ndk-benefit-strip { background: var(--ndk-primary); color: #fff; }
.ndk-benefit-strip__grid { display: grid; min-height: 80px; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 18px; padding-block: 18px; }
.ndk-benefit-strip__grid > div { display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 16px; font-weight: 400; }
.ndk-benefit-strip .ndk-icon { width: 24px; height: 24px; flex: 0 0 24px; stroke-width: 1.6; }

/* ---------- Footer shell ---------- */
.ndk-footer { background: #000; color: #fff; }
.ndk-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1.1fr 1.5fr; gap: 40px clamp(26px, 3.2vw, 56px); padding: clamp(52px, 6vw, 100px) 0 25px; }
.ndk-footer h2 { margin: 0 0 28px; color: #fff; font-size: 22px; font-weight: 400; letter-spacing: 0; }
.ndk-footer p { margin: 0 0 18px; font-size: 18px; line-height: 1.7; }
.ndk-footer a { color: #fff; }
.ndk-footer a:hover { color: var(--ndk-primary); }

.ndk-footer__brand img, .ndk-footer__brand .custom-logo { width: auto; max-width: 250px; max-height: 58px; margin-bottom: 22px; object-fit: contain; }
.ndk-footer__name { display: inline-block; margin-bottom: 20px; color: #fff; font-family: var(--ndk-heading); font-size: 28px; font-weight: 700; letter-spacing: -.03em; }
.ndk-footer__name:hover { color: var(--ndk-primary); }
.ndk-footer__company { display: grid; gap: 20px; margin-top: 22px; font-size: 18px; line-height: 1.5; }
.ndk-footer__company span { color: #fff; }
.ndk-footer__company strong { font-weight: 400; }

.ndk-footer-menu { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; font-size: 18px; }
.ndk-footer-menu li { margin: 0; }
.ndk-footer-menu .sub-menu { display: grid; gap: 12px; margin: 12px 0 0 12px; padding: 0; list-style: none; font-size: 14px; opacity: .8; }

/* ---------- Newsletter column ---------- */
.ndk-footer__newsletter h2 { max-width: 22ch; line-height: 1.35; }
.ndk-footer__newsletter p { max-width: 42ch; }
.ndk-footer__newsletter .ndk-newsletter-widget form, .ndk-footer__newsletter .ndk-newsletter-widget p { display: flex; align-items: stretch; gap: 0; margin: 0; }
.ndk-footer__newsletter .ndk-newsletter-widget input[type="email"], .ndk-footer__newsletter .ndk-newsletter-widget input[type="text"] { min-height: 50px; flex: 1 1 auto; border: 1px solid #fff; border-right: 0; border-radius: 0; background: #000; color: #fff; }
.ndk-footer__newsletter .ndk-newsletter-widget input::placeholder { color: rgba(255, 255, 255, .72); }
.ndk-footer__newsletter .ndk-newsletter-widget input[type="submit"], .ndk-footer__newsletter .ndk-newsletter-widget button { min-height: 50px; flex: 0 0 auto; padding-inline: 24px; border: 1px solid #fff; border-radius: 0; background: #fff; color: #000; font-weight: 600; }
.ndk-footer__newsletter .ndk-newsletter-widget input[type="submit"]:hover, .ndk-footer__newsletter .ndk-newsletter-widget button:hover { border-color: var(--ndk-primary); background: var(--ndk-primary); color: #fff; transform: none; }
.ndk-footer__newsletter label { color: #fff; }

.ndk-footer__badges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.ndk-footer__badge { display: grid; min-height: 56px; place-items: center; padding: 10px 12px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 6px; background: #111; transition: border-color var(--ndk-transition); }
.ndk-footer__badge:hover { border-color: var(--ndk-primary); }
.ndk-footer__badge-img { width: auto; max-width: 100%; max-height: 30px; }
.ndk-footer__badge-text { color: rgba(255, 255, 255, .8); font-size: 11px; font-weight: 700; letter-spacing: .05em; line-height: 1.3; text-align: center; text-transform: uppercase; }

/* ---------- Bottom bar ---------- */
.ndk-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .14); }
.ndk-footer-bottom__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 20px 0; font-size: 14px; }
.ndk-footer-bottom__inner > span { justify-self: start; }
.ndk-footer-bottom__marks { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.ndk-footer-bottom .ndk-pay-mark { width: 52px; height: auto; border-radius: 4px; }

/* ---------- GeneratePress copyright ---------- */
.site-info { border-top: 1px solid rgba(255, 255, 255, .14); background: #000; color: #9e9e9e; font-size: 13.5px; text-align: center; }
.site-info .inside-site-info { padding: 16px 0; }
.site-info a { color: #cfcfcf; }

.ndk-footer__logo { width: auto; max-width: 250px; max-height: 58px; margin-bottom: 22px; object-fit: contain; }

/* Higher-specificity guards: global.css heading/link rules must not dim the dark footer. */
body.ndk-storefront .ndk-footer h2 { color: #fff; }
body.ndk-storefront .ndk-footer a { color: #fff; }
body.ndk-storefront .ndk-footer a:hover { color: var(--ndk-primary); }
body.ndk-storefront .ndk-footer .ndk-footer-menu { display: grid; gap: 16px; }
body.ndk-storefront .ndk-footer .ndk-footer-menu li { display: block; float: none; }
body.ndk-storefront .ndk-footer .ndk-button--light { color: var(--ndk-dark); }
body.ndk-storefront .ndk-footer .ndk-button--light:hover { color: #fff; }
.ndk-newsletter-ok { margin-top: 12px; color: #7ce3a8; font-size: 14px; }
/* The theme prints its own copyright bar; hide the GeneratePress one to avoid a double row. */
.site-info { display: none; }

/* Footer link lists always stack vertically, whether a real menu or the fallback. */
body.ndk-storefront .ndk-footer .ndk-footer__column ul { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin: 0; padding: 0; list-style: none; }
body.ndk-storefront .ndk-footer .ndk-footer__column ul li { display: block; width: 100%; margin: 0; float: none; }

/* A light logo image sits badly on the black footer: invert it (hue-rotate keeps
   the orange accent close to the original). Upload a real white logo via
   Customize > Digital Storefront > Footer logo to replace this trick. */
.ndk-footer__brand .custom-logo, .ndk-footer__logo { filter: invert(1) hue-rotate(180deg); }
