/* NiKKi sitewide dark mode — scoped to body.nk-site (every page that uses the NiKKi header/footer).
   Prototype validated on staging: /programs/, /shop/, /contact-us/, /science/, /my-account/, /cart/.
   Colors: bg #121214 · text #faf7f2 · accent clay #c17a52 · hover sage #a9bea3 · panel #1e1a17 */

html{color-scheme:dark;background:#121214}
body.nk-site{background:#121214!important;color:#faf7f2}

/* Elementor / theme wrappers: let the dark page background show through */
body.nk-site :is(.site-main,#content,main,.page-content,.elementor,.elementor-element,.elementor-widget,.elementor-section,.e-con,.e-con-inner,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget-container,article,.entry-content,.woocommerce):not(.nk-chrome *):not(.nk-cart *){background-color:transparent!important}

/* text */
body.nk-site :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,label,legend,blockquote,figcaption,address,.elementor-heading-title,.elementor-icon-list-text,.elementor-widget-text-editor,.elementor-tab-title,.elementor-tab-content,.elementor-accordion-title,.elementor-toggle-title,.elementor-flip-box__layer__title,.elementor-flip-box__layer__description,.woocommerce-Price-amount):not(.nk-chrome *):not(.nk-cart *):not(.cky-consent-container *):not(.cky-modal *){color:#faf7f2!important}
/* coloured/black spans inside headings and paragraphs inherit the white */
body.nk-site :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,.elementor-heading-title,.elementor-widget-text-editor) :is(span,strong,em,b,i,u,small,font,sub,sup):not(.elementor-button-text):not(.counter):not(.nk-chrome *):not(.nk-cart *){color:inherit!important}

/* links */
body.nk-site a:not(.elementor-button):not(.button):not(.btn-wide):not(.cta):not(.nk-chrome a):not(.nk-cart a):not(.ea11y-skip-to-content-link){color:#c17a52}
body.nk-site a:not(.elementor-button):not(.button):not(.btn-wide):not(.cta):not(.nk-chrome a):not(.nk-cart a):hover{color:#a9bea3}

/* form fields */
body.nk-site :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not(.nk-cart *){background:#16130f!important;color:#faf7f2!important;border-color:rgba(250,247,242,.14)!important}

/* panels, tables, accordions, flip boxes */
body.nk-site .elementor-flip-box__layer{background-color:#1e1a17!important}
body.nk-site :is(.elementor-tab-title,.elementor-tab-content,.elementor-accordion-item,.elementor-toggle-item){border-color:rgba(250,247,242,.14)!important}
body.nk-site table,body.nk-site :is(th,td){background-color:transparent!important;border-color:rgba(250,247,242,.14)!important}
body.nk-site :is(del,ins,mark){background:transparent!important}

/* cookie banner (CookieYes) */
body.nk-site :is(.cky-modal,.cky-preference-center,.cky-consent-container,.cky-notice-group,.cky-preference-header,.cky-preference-body-wrapper,.cky-preference-footer,.cky-accordion,.cky-accordion-item){background-color:#1e1a17!important;color:#faf7f2!important;border-color:rgba(250,247,242,.14)!important}
body.nk-site :is(.cky-modal,.cky-consent-container) :is(p,span,div,h1,h2,h3,h4,label,button,a,.cky-title,.cky-accordion-btn){color:#faf7f2!important}

/* podcast category filter buttons — NOT YET CONFIRMED: first attempt did not override Elementor's colour */
html body.nk-site.nk-site .elementor-widget-taxonomy-filter button.e-filter-item{color:#faf7f2!important;-webkit-text-fill-color:#faf7f2!important;background:transparent!important;border-color:rgba(250,247,242,.25)!important}
html body.nk-site.nk-site .elementor-widget-taxonomy-filter button.e-filter-item:is([aria-pressed=true],:hover){color:#121214!important;-webkit-text-fill-color:#121214!important;background:#faf7f2!important}

/* 404: keep the footer from floating mid-screen on a short page */
body.nk-site.error404 .site-main{min-height:55vh;padding-top:40px}

/* Checkout: the expanded "Ship to a different address?" form was a white card — match the other dark cards */
body.nk-site.woocommerce-checkout .shipping_address{background-color:#1e1a17!important;border-color:rgba(250,247,242,.14)!important}

/* CookieYes banner + preference centre -> dark.
   The banner is painted by .cky-consent-bar (not the container), and CookieYes sets button colours inline. */
html body.nk-site .cky-consent-container .cky-consent-bar{background:#1e1a17!important;border-color:rgba(250,247,242,.14)!important;box-shadow:0 -1px 10px 0 rgba(0,0,0,.55)!important}
html body.nk-site .cky-consent-container :is(.cky-title,.cky-notice-des,.cky-notice-des *,.cky-notice-group,p){color:#faf7f2!important}
html body.nk-site :is(.cky-consent-container,.cky-modal) a{color:#c17a52!important}
html body.nk-site :is(.cky-consent-container,.cky-modal) .cky-btn-accept{background-color:#faf7f2!important;color:#121214!important;border-color:#faf7f2!important}
html body.nk-site :is(.cky-consent-container,.cky-modal) :is(.cky-btn-reject,.cky-btn-customize,.cky-btn-preferences){background-color:transparent!important;color:#faf7f2!important;border-color:rgba(250,247,242,.4)!important}
html body.nk-site :is(.cky-consent-container,.cky-modal) .cky-btn:hover{background-color:#a9bea3!important;color:#121214!important;border-color:#a9bea3!important}
html body.nk-site .cky-modal .cky-preference-center{background-color:#1e1a17!important}
html body.nk-site :is(.cky-footer-wrapper,.cky-prefrence-btn-wrapper,.cky-preference-header,.cky-preference-body-wrapper,.cky-accordion-item){background-color:#1e1a17!important;border-color:rgba(250,247,242,.14)!important}
html body.nk-site .cky-footer-shadow{background:linear-gradient(180deg,rgba(30,26,23,0) 0%,#1e1a17 100%)!important}
html body.nk-site .cky-modal :is(.cky-preference-title,.cky-accordion-btn,.cky-always-active,.cky-accordion-header-des,.cky-accordion-header-des *,.cky-preference-content-wrapper,.cky-preference-content-wrapper *,.cky-empty-cookies-text){color:#faf7f2!important}
html body.nk-site .cky-modal .cky-btn-close img{filter:invert(1)}

/* Shop: Elementor product panels carry hard-coded #ddd borders (looked white on the dark page) -> dark-theme hairline.
   Scoped to the Shop pages (14968 = /shop/, 21217 = WooCommerce shop page) so coloured borders elsewhere are untouched. */
body.nk-site:is(.page-id-14968,.page-id-21217) .elementor-element{border-color:rgba(250,247,242,.14)!important}

/* Cart page: hide the Superhuman promo strip, and close the gap it leaves (nav + content are offset below it) */
body.nk-site.woocommerce-cart .nk-chrome .promo-strip{display:none!important}
body.nk-site.woocommerce-cart .nk-chrome{--promo-h:0px}
body.nk-site.woocommerce-cart{padding-top:76px}
@media (max-width:860px){body.nk-site.woocommerce-cart{padding-top:80px}}

/* Cart: the "x" remove button — proper round button, with breathing room before the thumbnail */
body.nk-site.woocommerce-cart table.shop_table td.product-remove{width:44px;padding:14px 16px 14px 0;vertical-align:middle;text-align:left}
body.nk-site.woocommerce-cart table.shop_table td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:28px;height:28px;min-width:28px;padding:0;margin:0;border:1px solid rgba(250,247,242,.28);border-radius:50%;background:transparent;color:#faf7f2!important;font-size:18px;line-height:1;font-weight:400;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
body.nk-site.woocommerce-cart table.shop_table td.product-remove a.remove:hover,
body.nk-site.woocommerce-cart table.shop_table td.product-remove a.remove:focus-visible{background:#c17a52!important;border-color:#c17a52;color:#fff!important}

/* Cart items table: horizontal padding on the columns (desktop; phones stack the table into rows).
   First column (remove) and last column (subtotal) stay flush with the card edges; totals table + coupon row untouched. */
@media (min-width:769px){
  body.nk-site.woocommerce-cart .woocommerce-cart-form table.shop_table :is(th,td):not(.product-remove):not(.actions){padding-left:16px;padding-right:16px}
  body.nk-site.woocommerce-cart .woocommerce-cart-form table.shop_table :is(th,td).product-subtotal{padding-right:0}
}

/* Cart table follow-up: subtotal column flush right (the earlier rule lost on specificity); tighten remove->thumbnail gap to 16px */
@media (min-width:769px){
  body.nk-site.woocommerce-cart .woocommerce-cart-form table.shop_table :is(th,td).product-subtotal:not(.product-remove):not(.actions){padding-right:0}
  body.nk-site.woocommerce-cart table.shop_table td.product-remove{width:28px;padding-right:0}
}

/* Cart table: thumbnail column must not be squeezed by the column padding — fixed width, explicit image size */
@media (min-width:769px){
  body.nk-site.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail:not(.product-remove):not(.actions){width:72px;min-width:72px;padding-left:16px;padding-right:0}
  body.nk-site.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail img{display:block;width:56px;max-width:none;height:auto}
  body.nk-site.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-thumbnail:not(.product-remove){width:72px;min-width:72px;padding-left:16px;padding-right:0}
}
