:root {
  --np-container: 1200px;
  --np-logo-width: 180px;
  --np-accent: #2563eb;
  --np-secondary: #12140f;
  --np-body-color: #334155;
  --np-body-bg: #fff;
  --np-header-bg: #fff;
  --np-header-text: #172033;
  --np-menu-active: #12140f;
  --np-footer-bg: #0f172a;
  --np-footer-text: #cbd5e1;
  --np-body-font: Inter, system-ui, sans-serif;
  --np-heading-font: "Plus Jakarta Sans", system-ui, sans-serif;
  --np-body-size: 16px;
  --np-border: #e2e8f0;
  --np-muted: #64748b;
  --np-radius: 14px;
  --np-shadow: 0 12px 35px rgba(15, 23, 42, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--np-body-bg); color: var(--np-body-color); font: var(--np-body-weight, 400) var(--np-body-size)/1.7 var(--np-body-font); overflow-wrap: break-word; }
body.np-menu-active { overflow: hidden; }
body.admin-bar .site-header.is-sticky { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: var(--np-accent); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
a:hover { opacity: .82; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .65em; color: var(--np-header-text); font-family: var(--np-heading-font); font-weight: var(--np-heading-weight, 600); line-height: 1.2; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 5vw, var(--np-h1, 64px)); }
h2 { font-size: clamp(1.55rem, 4vw, var(--np-h2, 48px)); }
h3 { font-size: clamp(1.25rem, 3vw, var(--np-h3, 32px)); }
h4 { font-size: var(--np-h4, 24px); }
h5 { font-size: var(--np-h5, 20px); }
h6 { font-size: var(--np-h6, 16px); }
p { margin: 0 0 1.3em; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="password"], input[type="number"], textarea, select { width: 100%; min-height: 46px; padding: 10px 14px; color: var(--np-body-color); background: #fff; border: 1px solid var(--np-border); border-radius: var(--np-radius); }
input:focus, textarea:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid color-mix(in srgb, var(--np-accent) 35%, transparent); outline-offset: 2px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; border: 1px solid var(--np-border); text-align: left; }
blockquote { margin: 2em 0; padding: .5em 0 .5em 1.5em; border-left: 4px solid var(--np-accent); font-size: 1.1em; }

.np-container { width: min(calc(100% - 40px), var(--np-container)); margin-inline: auto; }
.np-layout-wide { --np-container: var(--np-layout-width); }
.np-layout-narrow { --np-container: 960px; }
.np-layout-full { --np-container: 100%; }
.np-layout-full .np-container { width: 100%; max-width: none; padding-inline: clamp(20px, 4vw, 72px); }
.np-layout-boxed { padding: 28px; background: color-mix(in srgb, var(--np-body-color) 12%, #eef0e9); }
.np-layout-boxed .site { width: 100%; max-width: var(--np-layout-width); min-height: 100vh; margin-inline: auto; overflow: clip; background: var(--np-body-bg); box-shadow: 0 18px 70px rgba(15, 23, 42, .16); }
.np-layout-boxed .alignfull, .np-layout-boxed .alignwide { width: 100%; max-width: 100% !important; margin-left: 0; transform: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 5px; left: 5px; display: block; width: auto; height: auto; padding: 15px 23px; clip: auto !important; background: #fff; color: #111; font-weight: 700; }
.skip-link:focus { position: fixed !important; }
.np-button, button[type="submit"], input[type="submit"], .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--np-accent); border-radius: var(--np-radius); background: var(--np-accent); color: var(--np-secondary); font: var(--np-button-weight, 700) var(--np-button-size, 11px)/1.2 var(--np-button-font); }
.np-button:hover, button[type="submit"]:hover, input[type="submit"]:hover { color: #fff; opacity: .88; }
.np-button-square .np-button, .np-button-square button[type="submit"], .np-button-square input[type="submit"], .np-button-square .wp-block-button__link { border-radius: 0; }
.np-button-rounded .np-button, .np-button-rounded button[type="submit"], .np-button-rounded input[type="submit"], .np-button-rounded .wp-block-button__link { border-radius: max(8px, var(--np-radius)); }
.np-button-pill .np-button, .np-button-pill button[type="submit"], .np-button-pill input[type="submit"], .np-button-pill .wp-block-button__link { border-radius: 999px; }
.np-button-outline .np-button, .np-button-outline button[type="submit"], .np-button-outline input[type="submit"], .np-button-outline .wp-block-button__link { background: transparent; color: var(--np-accent); }
.np-button-outline .np-button:hover, .np-button-outline button[type="submit"]:hover, .np-button-outline input[type="submit"]:hover, .np-button-outline .wp-block-button__link:hover { background: var(--np-accent); color: var(--np-secondary); opacity: 1; }

/* Header */
.site-header { position: relative; z-index: 90; width: 100%; background: var(--np-header-bg); color: var(--np-header-text); border-bottom: 1px solid color-mix(in srgb, var(--np-header-text) 10%, transparent); }
.site-header.is-sticky { position: sticky; top: 0; }
.site-header.is-transparent { position: absolute; background: transparent; border-color: transparent; }
.site-header.is-sticky.is-transparent { position: sticky; }
.site-header.is-transparent.is-scrolled { background: var(--np-header-bg); border-color: color-mix(in srgb, var(--np-header-text) 10%, transparent); box-shadow: 0 8px 28px rgba(15, 23, 42, .08); }
.header-inner { min-height: var(--np-header-height, 76px); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.custom-logo-link { display: block; }
.custom-logo { width: var(--np-logo-width); max-height: 64px; object-fit: contain; }
.site-title { color: var(--np-header-text); font: 800 1.45rem/1 var(--np-heading-font); letter-spacing: -.04em; }
.site-description { margin: 5px 0 0; color: var(--np-header-text); font-size: .72rem; opacity: .65; }
.main-navigation { justify-self: center; }
.main-navigation ul { display: flex; align-items: center; gap: var(--np-menu-gap, 24px); margin: 0; padding: 0; list-style: none; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; padding-block: 27px; color: var(--np-header-text); font: var(--np-menu-weight, 600) var(--np-menu-size, 14px)/var(--np-menu-line-height, 1.3) var(--np-menu-font); }
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_item > a,
.main-navigation .current_page_ancestor > a { color: var(--np-menu-active, #12140f); opacity: 1; }
.main-navigation a:hover { color: var(--np-accent); opacity: 1; }
.main-navigation ul ul { position: absolute; top: calc(100% - 8px); left: -16px; min-width: 220px; display: block; padding: 8px; visibility: hidden; opacity: 0; transform: translateY(6px); background: var(--np-header-bg); border: 1px solid var(--np-border); border-radius: var(--np-radius); box-shadow: var(--np-shadow); transition: .2s ease; }
.main-navigation ul ul a { padding: var(--np-submenu-padding-y, 8px) 12px; line-height: var(--np-submenu-line-height, 1.35); }
.main-navigation li:hover > ul, .main-navigation li:focus-within > ul { visibility: visible; opacity: 1; transform: none; }
.logo-center .header-inner { grid-template-columns: 1fr auto 1fr; }
.logo-center .site-branding { grid-column: 2; }
.logo-center .main-navigation { grid-column: 1; grid-row: 1; justify-self: start; }
.logo-center .header-actions { grid-column: 3; justify-self: end; }
.logo-right .site-branding { grid-column: 3; grid-row: 1; }
.logo-right .main-navigation { grid-column: 2; grid-row: 1; }
.logo-right .header-actions { grid-column: 1; grid-row: 1; justify-self: start; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-icon { position: relative; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; background: transparent; border: 0; color: var(--np-header-text); }
.header-icon svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.np-cart-count { position: absolute; top: 0; right: 0; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; background: var(--np-cart-badge-bg, var(--np-accent)); color: var(--np-cart-badge-text, #fff); border-radius: 20px; font-size: 10px; font-weight: 700; }
.header-cta { white-space: nowrap; }
.header-search { padding: 18px 0; background: var(--np-header-bg); border-top: 1px solid var(--np-border); }
.header-search .search-form { max-width: 720px; margin: auto; }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.header-action-label { display: none; }
.announcement-bar { display: flex; min-height: 36px; align-items: center; justify-content: center; padding: 8px 20px; background: #11130f; color: #f7f8f2; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-align: center; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--np-header-text); transition: .2s; }

/* Main layout */
.site-main { padding-block: clamp(44px, 7vw, 88px); }
.full-width-main { padding-block: 0; }
/* Pages whose first content is a NusaPress Slider sit directly below the header. */
body.np-slider-flush-top .site-main { padding-top: 0; }
body.np-slider-flush-top .entry-content { margin-top: 0; }
body.np-slider-flush-top .entry-content > .nps-slider:first-child,
body.np-slider-flush-top .entry-content > :first-child .nps-slider:first-child { margin-top: 0 !important; }
body.np-slider-flush-top .entry-content > .elementor:first-child > .elementor-element:first-child,
body.np-slider-flush-top .entry-content > .elementor:first-child > .elementor-section-wrap > .elementor-section:first-child,
body.np-slider-flush-top .entry-content > .elementor:first-child > .elementor-element:first-child > .e-con-inner { margin-top: 0 !important; padding-top: 0 !important; }
.page-header { max-width: 850px; margin-bottom: 44px; }
.archive-description { color: var(--np-muted); }
.content-layout { display: grid; gap: clamp(32px, 5vw, 64px); align-items: start; }
.layout-sidebar-right { grid-template-columns: minmax(0, 1fr) var(--np-sidebar-width, 300px); }
.layout-sidebar-left { grid-template-columns: var(--np-sidebar-width, 300px) minmax(0, 1fr); }
.layout-sidebar-left .widget-area { grid-column: 1; grid-row: 1; }
.layout-full { grid-template-columns: minmax(0, 1fr); }
.post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.post-grid.columns-1 { grid-template-columns: 1fr; }
.post-grid.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.post-grid.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-grid.blog-list { grid-template-columns: 1fr; }
.blog-list .post-card { display: grid; grid-template-columns: minmax(220px, 34%) minmax(0, 1fr); }
.blog-list .post-thumbnail { height: 100%; aspect-ratio: auto; }
.post-card { overflow: hidden; background: #fff; border: 1px solid var(--np-border); border-radius: var(--np-radius); transition: transform .2s ease, box-shadow .2s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: var(--np-shadow); }
.post-thumbnail { display: block; aspect-ratio: 16/9; overflow: hidden; }
.post-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-thumbnail img { transform: scale(1.025); }
.post-card-content { padding: 26px; }
.entry-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 12px; color: var(--np-muted); font-size: .82rem; }
.post-card .entry-title { margin-bottom: 14px; font-size: 1.45rem; }
.post-card .entry-title a { color: inherit; }
.entry-summary { color: var(--np-muted); }
.read-more { font-weight: 700; font-size: .92rem; }
.entry-single { max-width: var(--np-single-width, 850px); }
.layout-full .entry-single { margin-inline: auto; }
.entry-single .entry-header { margin-bottom: 32px; }
.single-thumbnail { margin: 0 0 42px; }
.single-thumbnail img { width: 100%; border-radius: var(--np-radius); }
.entry-content > * { max-width: 100%; }
.entry-content::after { display: table; clear: both; content: ""; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content pre { overflow-x: auto; padding: 20px; background: #0f172a; color: #e2e8f0; border-radius: 10px; }
.entry-footer { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--np-border); }
.tag-links a { display: inline-block; margin: 3px; padding: 5px 11px; background: color-mix(in srgb, var(--np-accent) 8%, white); border-radius: 20px; font-size: .82rem; }
.widget-area { position: sticky; top: 110px; }
.widget { margin-bottom: 28px; padding: 24px; border: 1px solid var(--np-border); border-radius: var(--np-radius); }
.widget-title { font-size: 1.12rem; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li { padding: 7px 0; border-bottom: 1px solid var(--np-border); }
.widget li:last-child { border: 0; }
.pagination { margin-top: 44px; }
.np-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin: -20px 0 38px; color: var(--np-muted); font-size: .78rem; }
.np-breadcrumb a { color: var(--np-body-color); }
.np-breadcrumb .separator { opacity: .55; }
.post-navigation-single { max-width: var(--np-single-width, 850px); margin-top: 50px; padding-top: 28px; border-top: 1px solid var(--np-border); }
.post-navigation-single .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.post-navigation-single .nav-next { text-align: right; }
.post-navigation-single a { color: var(--np-header-text); font-family: var(--np-heading-font); font-size: 1.05rem; }
.post-navigation-single a span { display: block; margin-bottom: 5px; color: var(--np-muted); font-family: var(--np-body-font); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: 6px 10px; border: 1px solid var(--np-border); border-radius: 8px; }
.page-numbers.current { background: var(--np-accent); color: #fff; border-color: var(--np-accent); }
.error-404 { max-width: 720px; text-align: center; }
.error-404 .error-code { margin: 0; color: var(--np-accent); font: 800 clamp(5rem, 18vw, 10rem)/.9 var(--np-heading-font); opacity: .18; }
.error-404 .search-form { margin: 28px 0; }
.no-results { padding: 50px; text-align: center; border: 1px dashed var(--np-border); border-radius: var(--np-radius); }

/* Comments */
.comments-area { max-width: var(--np-single-width, 850px); margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--np-border); }
.layout-full .comments-area, .layout-full .post-navigation-single { margin-right: auto; margin-left: auto; }
.comment-list { padding: 0; list-style: none; }
.comment-list .children { list-style: none; }
.comment-body { margin: 22px 0; padding: 22px; background: color-mix(in srgb, var(--np-accent) 3%, white); border-radius: 12px; }
.comment-author img { float: left; margin-right: 12px; border-radius: 50%; }

/* Footer */
.site-footer { background: var(--np-footer-bg); color: var(--np-footer-text); }
.site-footer a, .site-footer h2, .site-footer h3 { color: inherit; }
.footer-brand { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; padding-top: 58px; }
.footer-brand > div { max-width: 600px; }
.footer-brand p { margin: 18px 0 0; }
.footer-brand address { max-width: 380px; font-style: normal; text-align: right; white-space: pre-line; }
.footer-logo { width: min(var(--np-logo-width), 220px); max-height: 76px; object-fit: contain; object-position: left center; }
.footer-brand + .footer-widgets { padding-top: 35px; }
.footer-widgets { display: grid; gap: 36px; padding-block: 70px 42px; }
.footer-widgets.columns-1 { grid-template-columns: 1fr; }
.footer-widgets.columns-2 { grid-template-columns: repeat(2, 1fr); }
.footer-widgets.columns-3 { grid-template-columns: repeat(3, 1fr); }
.footer-widgets.columns-4 { grid-template-columns: repeat(4, 1fr); }
.site-footer .widget { padding: 0; border: 0; }
.site-footer .widget li { border-color: color-mix(in srgb, var(--np-footer-text) 15%, transparent); }
.footer-bottom { width: 100%; border-top: 1px solid color-mix(in srgb, var(--np-footer-text) 18%, transparent); }
.footer-bottom-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 20px; font-size: .88rem; }
.footer-align-left .footer-bottom-inner { align-items: flex-start; flex-direction: column; justify-content: flex-start; }
.footer-align-center .footer-bottom-inner { align-items: center; flex-direction: column; justify-content: center; text-align: center; }
.footer-align-center .footer-navigation ul, .footer-align-center .social-links { justify-content: center; }
.footer-bottom p { margin: 0; }
.footer-copyright { line-height: 1.55; }
.footer-navigation ul, .social-links { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.back-to-top { position: fixed; right: 22px; bottom: 22px; z-index: 80; width: 44px; height: 44px; padding: 0; border-radius: 50%; box-shadow: var(--np-shadow); }

/* WordPress alignments */
.alignleft { float: left; margin: .5em 1.5em 1em 0; }
.alignright { float: right; margin: .5em 0 1em 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide { width: min(1100px, 100vw - 40px); max-width: none !important; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none !important; margin-left: 50%; transform: translateX(-50%); }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: var(--np-muted); font-size: .85rem; }
.sticky { position: relative; }
.bypostauthor { display: block; }

/* Editorial collector homepage */
.np-editorial-active .site-header { border-bottom-color: color-mix(in srgb, var(--np-header-text) 14%, transparent); }
.np-editorial-active .header-inner { min-height: var(--np-header-height, 96px); }
.np-editorial-active .site-title { font-size: 1.75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.np-editorial-active .site-description { text-align: center; font-size: .56rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; }
.np-editorial-active .main-navigation { justify-self: start; }
.np-editorial-active .main-navigation ul { gap: var(--np-menu-gap, 24px); }
.np-editorial-active .main-navigation a { padding-block: 38px; font-family: var(--np-menu-font); font-size: var(--np-menu-size, 11px); font-weight: var(--np-menu-weight, 700); letter-spacing: .16em; text-transform: uppercase; }
.np-editorial-active .main-navigation ul ul { gap: 0; }
.np-editorial-active .main-navigation ul ul a { padding: var(--np-submenu-padding-y, 8px) 12px; line-height: var(--np-submenu-line-height, 1.35); }
.np-editorial-active .header-actions { gap: 26px; }
.np-editorial-active .header-icon { width: auto; height: 42px; display: flex; gap: 8px; font-size: .7rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.np-editorial-active .header-icon svg { display: none; }
.np-editorial-active .header-action-label { display: inline; }
.np-editorial-active .np-cart-count { position: static; min-width: 19px; height: 19px; background: var(--np-cart-badge-bg, var(--np-accent)); color: var(--np-cart-badge-text, var(--np-secondary)); font-size: 9px; }
.np-editorial-home { background: var(--np-body-bg); color: var(--np-body-color); }
.np-editorial-home h1, .np-editorial-home h2 { font-family: var(--np-heading-font); color: var(--np-secondary); font-weight: var(--np-heading-weight, 500); letter-spacing: -.04em; }
.np-editorial-hero { display: grid; grid-template-columns: var(--np-hero-copy-column, 40%) minmax(0, 1fr); min-height: var(--np-hero-height-desktop, 670px); border-bottom: 1px solid color-mix(in srgb, var(--np-body-color) 16%, transparent); }
.np-hero-layout-split.np-hero-visual-left { grid-template-columns: minmax(0, 1fr) var(--np-hero-copy-column, 40%); }
.np-hero-layout-split.np-hero-visual-left .np-hero-visual { grid-column: 1; grid-row: 1; }
.np-hero-layout-split.np-hero-visual-left .np-hero-copy { grid-column: 2; grid-row: 1; }
.np-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 72px clamp(42px, 6vw, 92px); background: color-mix(in srgb, var(--np-body-bg) 94%, var(--np-body-color) 6%); }
.np-hero-copy-align-center .np-hero-copy { align-items: center; text-align: center; }
.np-hero-copy-align-center .np-eyebrow, .np-hero-copy-align-center .np-slide-marks { justify-content: center; }
.np-hero-copy-align-right .np-hero-copy { align-items: flex-end; text-align: right; }
.np-hero-copy-align-right .np-eyebrow, .np-hero-copy-align-right .np-slide-marks { justify-content: flex-end; }
.np-eyebrow { display: flex; align-items: center; gap: 13px; margin: 0 0 35px; color: inherit; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.np-eyebrow i { width: 9px; height: 9px; flex: 0 0 9px; background: var(--np-accent); }
.np-hero-copy h1 { max-width: 560px; margin-bottom: 34px; font-size: clamp(4rem, 6vw, 6.6rem); line-height: .84; }
.np-hero-text { max-width: 460px; margin-bottom: 42px; color: var(--np-body-color); font-size: .96rem; line-height: 1.8; opacity: .8; }
.np-editorial-button { display: inline-flex; width: fit-content; min-height: 58px; align-items: center; justify-content: space-between; gap: 48px; padding: 16px 24px; font: var(--np-button-weight, 700) var(--np-button-size, 11px)/1.2 var(--np-button-font); letter-spacing: .16em; text-transform: uppercase; }
.np-button-dark { min-width: 280px; background: var(--np-secondary); color: var(--np-body-bg); }
.np-button-dark:hover { color: var(--np-body-bg); }
.np-button-light { min-width: 190px; background: var(--np-body-bg); color: var(--np-secondary); }
.np-button-light:hover { color: var(--np-secondary); }
.np-slide-marks { display: flex; align-items: center; gap: 10px; margin-top: 58px; }
.np-slide-marks > button { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 42px; padding: 0; border: 1px solid color-mix(in srgb, var(--np-body-color) 25%, transparent); border-radius: 50%; background: transparent; color: var(--np-secondary); font-size: 14px; }
.np-slide-marks > button:hover { border-color: var(--np-accent); background: var(--np-accent); color: var(--np-secondary); }
.np-slider-dots { display: flex; align-items: center; gap: 7px; }
.np-slider-dots button { width: 24px; height: 3px; min-height: 3px; padding: 0; border: 0; background: color-mix(in srgb, var(--np-body-color) 24%, transparent); transition: width .2s ease, background .2s ease; }
.np-slider-dots button[aria-current="true"] { width: 48px; background: var(--np-secondary); }
.np-hero-visual { position: relative; min-width: 0; min-height: var(--np-hero-height-desktop, 670px); overflow: hidden; background: #8e9798; }
.np-slider-track { position: relative; min-height: var(--np-hero-height-desktop, 670px); height: 100%; }
.np-hero-slide { position: absolute; inset: 0; margin: 0; visibility: hidden; opacity: 0; transition: opacity .45s ease, visibility .45s ease; }
.np-hero-slide.is-active { visibility: visible; opacity: 1; }
.np-hero-slide img { width: 100%; height: 100%; min-height: var(--np-hero-height-desktop, 670px); object-fit: var(--np-hero-image-fit, cover); object-position: var(--np-hero-image-position, center); }
.np-showcase-card { position: absolute; bottom: 44px; left: 42px; z-index: 4; min-width: 164px; padding: 22px 25px; background: color-mix(in srgb, var(--np-header-bg) 94%, transparent); color: var(--np-secondary); }
.np-showcase-card span { display: block; margin-bottom: 8px; font-size: .54rem; font-weight: 700; letter-spacing: .18em; }
.np-showcase-card strong { display: block; font: 500 1.55rem/1.1 "Cormorant Garamond", Georgia, serif; }
.np-slide-count { position: absolute; right: 34px; bottom: 34px; z-index: 4; color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: .13em; }
.np-hero-layout-full { position: relative; grid-template-columns: 1fr; }
.np-hero-layout-full .np-hero-copy, .np-hero-layout-full .np-hero-visual { grid-area: 1 / 1; }
.np-hero-layout-full .np-hero-visual { z-index: 1; }
.np-hero-layout-full .np-hero-copy { position: relative; z-index: 3; width: 100%; background: linear-gradient(90deg, color-mix(in srgb, var(--np-hero-overlay-color, #000) var(--np-hero-overlay-opacity, 45%), transparent) 0%, color-mix(in srgb, var(--np-hero-overlay-color, #000) var(--np-hero-overlay-soft-opacity, 25%), transparent) 46%, transparent 85%); color: var(--np-hero-full-text, #fff); pointer-events: none; }
.np-hero-layout-full .np-hero-copy > * { pointer-events: auto; }
.np-hero-layout-full .np-hero-copy h1, .np-hero-layout-full .np-hero-text { color: var(--np-hero-full-text, #fff); }
.np-hero-layout-full .np-slider-dots button[aria-current="true"] { background: var(--np-hero-full-text, #fff); }
.np-hero-layout-full .np-slide-marks > button { border-color: color-mix(in srgb, var(--np-hero-full-text, #fff) 45%, transparent); color: var(--np-hero-full-text, #fff); }
.np-hero-layout-full.np-hero-copy-align-center .np-hero-copy { background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--np-hero-overlay-color, #000) var(--np-hero-overlay-opacity, 45%), transparent), transparent); }
.np-hero-layout-full.np-hero-copy-align-right .np-hero-copy { background: linear-gradient(270deg, color-mix(in srgb, var(--np-hero-overlay-color, #000) var(--np-hero-overlay-opacity, 45%), transparent) 0%, color-mix(in srgb, var(--np-hero-overlay-color, #000) var(--np-hero-overlay-soft-opacity, 25%), transparent) 46%, transparent 85%); }
.np-benefits { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 112px; align-items: center; background: var(--np-header-bg); border-bottom: 1px solid color-mix(in srgb, var(--np-body-color) 14%, transparent); }
.np-benefits > div { display: flex; min-height: 62px; flex-direction: column; align-items: center; justify-content: center; padding: 12px 26px; border-right: 1px solid #dedfd8; text-align: center; }
.np-benefits > div:last-child { border: 0; }
.np-benefits strong { color: var(--np-secondary); font-size: .68rem; letter-spacing: .18em; }
.np-benefits span { margin-top: 7px; color: var(--np-body-color); font-size: .73rem; opacity: .65; }
.np-arrivals { padding-block: clamp(74px, 8vw, 118px); }
.np-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.np-section-heading .np-eyebrow { margin-bottom: 15px; }
.np-section-heading h2 { margin: 0; font-size: var(--np-section-title-size-desktop, 88px); line-height: .9; }
.np-section-heading > a { margin-bottom: 10px; padding-bottom: 7px; color: var(--np-secondary); border-bottom: 1px solid var(--np-secondary); font-size: .66rem; font-weight: 700; letter-spacing: .16em; }
.np-product-grid { display: grid; grid-template-columns: repeat(var(--np-product-columns-desktop, 4), minmax(0, 1fr)); gap: var(--np-product-card-gap, 28px); }
.np-product-card { margin: 0; overflow: hidden; background: var(--np-product-card-bg, var(--np-header-bg)); border-width: var(--np-product-card-border-width, 1px); border-style: var(--np-product-card-border-style, solid); border-color: var(--np-product-card-border, transparent); border-radius: var(--np-product-card-radius, 0); transition: transform .3s ease, box-shadow .3s ease; }
.np-product-image { position: relative; display: block; aspect-ratio: var(--np-product-image-ratio, 4 / 5); overflow: hidden; background: #dfe1dc; }
.np-product-image img { width: 100%; height: 100%; object-fit: var(--np-product-image-fit, cover); transition: transform .35s ease; }
.np-product-hover-zoom .np-product-card:hover .np-product-image img { transform: scale(1.04); }
.np-product-hover-lift .np-product-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(18,20,15,.14); }
.np-product-badge { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 5px 10px; background: var(--np-accent); color: var(--np-secondary); font-size: .56rem; font-weight: 800; letter-spacing: .08em; }
.np-product-info { min-height: 148px; padding: var(--np-product-card-padding, 23px); }
.np-product-info > span { display: block; margin-bottom: 10px; color: var(--np-product-card-muted, #9a9b94); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.np-product-info h3 { margin: 0 0 12px; font-family: var(--np-body-font); font-size: .84rem; font-weight: 700; letter-spacing: 0; }
.np-product-info h3 a { color: var(--np-product-card-text, var(--np-secondary)); }
.np-product-price { color: var(--np-product-card-price, var(--np-secondary)); font-size: .84rem; font-weight: 700; }
.np-product-action { display: flex; margin-top: 18px; }
.np-product-action-left { justify-content: flex-start; }
.np-product-action-center { justify-content: center; }
.np-product-action-right { justify-content: flex-end; }
.np-product-action.is-full .np-product-button { width: 100%; }
.np-product-button { display: inline-flex; min-height: 0; align-items: center; justify-content: center; padding: var(--np-product-button-padding-y, 11px) var(--np-product-button-padding-x, 18px); border: 1px solid var(--np-product-button-border, #12140f); border-radius: var(--np-product-button-radius, 0); font-family: var(--np-button-font); font-size: var(--np-product-button-font-size, 11px); font-weight: var(--np-button-weight, 700); line-height: 1.2; letter-spacing: .06em; text-align: center; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.np-product-button-button { background: var(--np-product-button-bg, #12140f); color: var(--np-product-button-color, #fff); }
.np-product-button-button:hover { border-color: var(--np-product-button-hover-bg, var(--np-accent)); background: var(--np-product-button-hover-bg, var(--np-accent)); color: var(--np-product-button-hover-color, #12140f); }
.np-product-button-text { padding: 0 0 3px; border-width: 0 0 1px; border-color: currentColor; border-radius: 0; background: transparent; color: var(--np-product-text-color, var(--np-secondary)); }
.np-product-button-text:hover { border-color: currentColor; background: transparent; color: var(--np-product-text-hover-color, var(--np-accent)); }
.np-products-empty { display: flex; min-height: 240px; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 40px; background: var(--np-header-bg); border: 1px dashed color-mix(in srgb, var(--np-body-color) 30%, transparent); text-align: center; }
.np-products-empty span { color: #7b7d75; }
.np-home-content { padding-bottom: 90px; }
.np-editorial-cta { display: flex; min-height: 320px; flex-direction: column; align-items: center; justify-content: center; padding: 55px 24px; background: var(--np-secondary); color: var(--np-body-bg); text-align: center; }
.np-editorial-cta .np-eyebrow { margin-bottom: 25px; }
.np-editorial-cta h2 { max-width: 900px; margin-bottom: 35px; color: var(--np-body-bg); font-size: clamp(3.2rem, 5.5vw, 5.2rem); line-height: .95; }
.np-editorial-active .site-footer { border-top: 0; }
.np-editorial-active .footer-widgets { border-bottom: 1px solid color-mix(in srgb, var(--np-footer-text) 16%, transparent); }
.np-editorial-active .footer-bottom { border-color: color-mix(in srgb, var(--np-footer-text) 16%, transparent); }

@media (max-width: 1024px) {
  body.admin-bar .site-header.is-sticky { top: 32px; }
  .header-inner, .logo-center .header-inner { grid-template-columns: auto 1fr auto; }
  .logo-center .site-branding, .logo-right .site-branding { grid-column: 1; grid-row: 1; }
  .logo-center .main-navigation, .logo-right .main-navigation { grid-column: auto; grid-row: auto; }
  .logo-center .header-actions, .logo-right .header-actions { grid-column: 3; grid-row: 1; justify-self: end; }
  .menu-toggle { display: block; grid-column: 2; grid-row: 1; justify-self: end; }
  .main-navigation { position: fixed; inset: 0 0 0 auto; z-index: 100; width: min(88vw, 380px); padding: 82px 26px 30px; overflow-y: auto; visibility: hidden; background: var(--np-header-bg); box-shadow: -15px 0 50px rgba(15,23,42,.18); transform: translateX(105%); transition: .25s ease; }
  .menu-open .main-navigation { visibility: visible; transform: translateX(0); }
  .menu-open .menu-toggle { position: fixed; top: 16px; right: 18px; z-index: 110; }
  .menu-open .menu-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle > span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .main-navigation ul { display: block; }
  .main-navigation a, .np-editorial-active .main-navigation a { padding: 10px 0; line-height: var(--np-menu-line-height, 1.3); border-bottom: 1px solid var(--np-border); }
  .main-navigation ul ul { position: static; min-width: 0; padding: 0 0 0 16px; visibility: visible; opacity: 1; transform: none; box-shadow: none; border: 0; }
  .main-navigation ul ul a, .np-editorial-active .main-navigation ul ul a { padding: var(--np-submenu-padding-y, 8px) 0; line-height: var(--np-submenu-line-height, 1.35); }
  .header-cta { display: none; }
  .layout-sidebar-right, .layout-sidebar-left { grid-template-columns: minmax(0, 1fr) 260px; }
  .post-grid.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-editorial-active .header-inner { min-height: 76px; }
  .np-editorial-active .header-actions { gap: 14px; }
  .np-editorial-active .header-icon svg { display: block; }
  .np-editorial-active .header-action-label { display: none; }
  .np-editorial-hero { min-height: var(--np-hero-height-tablet, 590px); }
  .np-hero-copy { padding: 55px 42px; }
  .np-hero-copy h1 { font-size: clamp(3.5rem, 7vw, 5.2rem); }
  .np-hero-visual, .np-slider-track, .np-hero-slide img { min-height: var(--np-hero-height-tablet, 590px); }
  .np-product-grid { grid-template-columns: repeat(var(--np-product-columns-tablet, 2), minmax(0, 1fr)); }
  .np-section-heading h2 { font-size: var(--np-section-title-size-tablet, 64px); }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.is-sticky { top: 46px; }
  .np-container { width: min(calc(100% - 28px), var(--np-container)); }
  .np-layout-full .np-container { width: 100%; padding-inline: 20px; }
  .np-layout-boxed { padding: 0; }
  .np-layout-boxed .site { max-width: none; box-shadow: none; }
  .header-inner { min-height: 68px; gap: 8px; }
  .custom-logo { max-width: min(var(--np-logo-width), 145px); }
  .header-actions { gap: 0; }
  .layout-sidebar-right, .layout-sidebar-left { grid-template-columns: 1fr; }
  .layout-sidebar-left .widget-area { grid-column: 1; grid-row: auto; }
  .widget-area { position: static; }
  .post-grid, .post-grid.columns-2, .post-grid.columns-3 { grid-template-columns: 1fr; }
  .blog-list .post-card { grid-template-columns: 1fr; }
  .blog-list .post-thumbnail { aspect-ratio: 16/9; }
  .footer-widgets.columns-3, .footer-widgets.columns-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-brand, .footer-bottom-inner { align-items: flex-start; flex-direction: column; }
  .footer-brand address { text-align: left; }
  .announcement-bar { min-height: 32px; font-size: 8px; letter-spacing: .17em; }
  .np-editorial-hero { grid-template-columns: 1fr; }
  .np-hero-copy { min-height: 0; padding: 56px 28px; }
  .np-hero-visual, .np-slider-track, .np-hero-slide img { min-height: var(--np-hero-height-mobile, 520px); }
  .np-hero-layout-split.np-hero-visual-left .np-hero-copy, .np-hero-layout-split.np-hero-visual-left .np-hero-visual { grid-column: 1; grid-row: auto; }
  .np-hero-layout-split.np-hero-mobile-visual-first .np-hero-visual { order: -1; }
  .np-hero-hide-copy-mobile .np-hero-copy { display: none; }
  .np-hero-layout-full { min-height: var(--np-hero-height-mobile, 520px); }
  .np-hero-layout-full .np-hero-copy, .np-hero-layout-full .np-hero-visual { grid-area: 1 / 1; }
  .np-hero-layout-full .np-hero-copy { min-height: var(--np-hero-height-mobile, 520px); padding: 42px 28px; }
  .np-hero-layout-full.np-hero-hide-copy-mobile .np-hero-visual { grid-area: 1 / 1; }
  .np-benefits { grid-template-columns: 1fr; padding-block: 12px; }
  .np-benefits > div { border-right: 0; border-bottom: 1px solid #dedfd8; }
  .np-section-heading { align-items: flex-start; flex-direction: column; }
  .np-section-heading h2 { font-size: var(--np-section-title-size-mobile, 48px); }
  .np-product-grid { grid-template-columns: repeat(var(--np-product-columns-mobile, 1), minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .site-description, .header-actions .search-toggle { display: none; }
  .site-main { padding-block: 42px; }
  .post-card-content { padding: 20px; }
  .footer-widgets, .footer-widgets.columns-2, .footer-widgets.columns-3, .footer-widgets.columns-4 { grid-template-columns: 1fr; }
  .footer-widgets { padding-block: 52px 26px; }
  .np-hero-copy { min-height: 0; }
  .np-hero-copy h1 { font-size: 3.7rem; }
  .np-showcase-card { bottom: 22px; left: 18px; }
  .np-slide-count { right: 18px; bottom: 22px; }
  .np-slide-marks { margin-top: 40px; }
  .np-arrivals { padding-block: 65px; }
  .np-editorial-cta { min-height: 290px; }
  .np-editorial-cta h2 { font-size: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Kios Store 1.7 visual header builder */
.np-builder-header .np-desktop-header-inner { min-height:var(--np-header-height,96px); display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; }
.np-builder-header .np-header-zone { min-width:0; display:flex; align-items:center; gap:24px; }
.np-builder-header .np-header-zone-left { justify-self:start; justify-content:flex-start; }
.np-builder-header .np-header-zone-center { justify-self:center; justify-content:center; }
.np-builder-header .np-header-zone-right { justify-self:end; justify-content:flex-end; }
.np-builder-header .np-header-element { min-width:0; display:flex; align-items:center; }
.np-builder-header .np-header-element-logo { flex:0 0 auto; }
.np-builder-header .site-branding { line-height:1; }
.np-builder-header .site-description { text-align:center; }
.np-builder-header .np-header-navigation > ul,
.np-builder-header .np-header-navigation .menu { display:flex; align-items:center; gap:var(--np-menu-gap,24px); margin:0; padding:0; list-style:none; }
.np-builder-header .np-header-navigation li { position:relative; margin:0; }
.np-builder-header .np-header-navigation a { display:block; padding:38px 0; color:var(--np-header-text); font-family:var(--np-menu-font); font-size:var(--np-menu-size,11px); font-weight:var(--np-menu-weight,700); line-height:var(--np-menu-line-height,1.3); letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }
.np-builder-header .np-header-navigation .current-menu-item > a,
.np-builder-header .np-header-navigation .current-menu-ancestor > a,
.np-builder-header .np-header-navigation .current_page_item > a,
.np-builder-header .np-header-navigation .current_page_ancestor > a { color:var(--np-menu-active,#12140f); }
.np-builder-header .np-header-navigation a:hover { color:var(--np-accent); opacity:1; }
.np-builder-header .np-header-navigation ul ul { position:absolute; top:calc(100% - 8px); left:-16px; z-index:120; min-width:220px; display:block; margin:0; padding:8px; visibility:hidden; opacity:0; transform:translateY(6px); background:var(--np-header-bg); border:1px solid var(--np-border); border-radius:var(--np-radius); box-shadow:var(--np-shadow); transition:.2s ease; }
.np-builder-header .np-header-navigation ul ul a { padding:var(--np-submenu-padding-y,8px) 12px; line-height:var(--np-submenu-line-height,1.35); letter-spacing:.05em; text-transform:none; }
.np-builder-header .np-header-navigation li:hover > ul,
.np-builder-header .np-header-navigation li:focus-within > ul { visibility:visible; opacity:1; transform:none; }
.np-builder-header .header-icon { width:40px; height:40px; flex:0 0 40px; }
.np-builder-header .header-icon svg { display:block !important; }
.np-builder-header .header-action-label { display:none !important; }
.np-builder-header .np-header-search-form { min-width:220px; }
.np-builder-header .np-header-search-form .search-form { gap:5px; }
.np-builder-header .np-header-search-form input[type="search"] { min-width:150px; height:38px; padding:7px 10px; background:transparent; border:1px solid color-mix(in srgb,var(--np-header-text) 24%,transparent); color:var(--np-header-text); }
.np-builder-header .np-header-search-form .search-submit { width:38px; height:38px; padding:0 8px; font-size:0; }
.np-builder-header .np-header-search-form .search-submit::after { content:"⌕"; font-size:18px; }
.np-builder-header .np-header-socials { display:flex; align-items:center; gap:7px; }
.np-builder-header .np-header-socials a { width:30px; height:30px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--np-header-text) 22%,transparent); border-radius:50%; color:var(--np-header-text); font-size:10px; font-weight:800; }
.np-builder-header .np-header-widget { margin:0; }
.np-builder-header .np-header-widget p { margin:0; }
.np-builder-header .np-header-widget-title { display:none; }
.np-builder-header .np-header-html { white-space:nowrap; }
.np-builder-header .np-mobile-header-inner,
.np-builder-header .np-mobile-navigation { display:none; }

@media (max-width:1024px) {
  .np-builder-header .np-desktop-header-inner { display:none; }
  .np-builder-header .np-mobile-header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .np-builder-header .np-mobile-header-actions { display:flex; align-items:center; gap:2px; }
  .np-builder-header .np-mobile-header-actions .np-header-element { display:flex; }
  .np-builder-header .menu-toggle { display:block; position:relative; width:42px; height:42px; padding:9px; }
  .np-builder-header.menu-open .menu-toggle { position:fixed; top:16px; right:18px; z-index:140; background:var(--np-header-bg); }
  .np-builder-header.menu-open .menu-toggle > span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .np-builder-header.menu-open .menu-toggle > span:nth-child(2) { opacity:0; }
  .np-builder-header.menu-open .menu-toggle > span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .np-builder-header .np-mobile-navigation { position:fixed; inset:0 0 0 auto; z-index:130; width:min(88vw,380px); display:block; padding:82px 26px 30px; overflow-y:auto; visibility:hidden; background:var(--np-header-bg); box-shadow:-15px 0 50px rgba(15,23,42,.18); transform:translateX(105%); transition:.25s ease; }
  .np-builder-header.menu-open .np-mobile-navigation { visibility:visible; transform:translateX(0); }
  .np-builder-header .np-mobile-navigation-inner > ul { margin:0 0 18px; padding:0; list-style:none; }
  .np-builder-header .np-mobile-navigation li { margin:0; list-style:none; }
  .np-builder-header .np-mobile-navigation a { display:block; padding:11px 0; color:var(--np-header-text); font-family:var(--np-menu-font); font-size:var(--np-mobile-menu-size,13px); font-weight:var(--np-mobile-menu-weight,600); line-height:1.45; letter-spacing:.02em; text-transform:none; border-bottom:1px solid var(--np-border); }
  .np-builder-header .np-mobile-navigation ul ul { margin:0; padding-left:16px; }
  .np-builder-header .np-mobile-navigation ul ul a { font-family:var(--np-menu-font); font-size:var(--np-mobile-menu-size,13px); font-weight:var(--np-mobile-menu-weight,600); line-height:1.45; letter-spacing:.02em; text-transform:none; }
  .np-builder-header .np-mobile-navigation ul ul ul { padding-left:14px; }
  .np-builder-header .np-mobile-navigation .current-menu-item > a,
  .np-builder-header .np-mobile-navigation .current-menu-ancestor > a { color:var(--np-menu-active,var(--np-accent)); }
  body.np-menu-active { overflow:hidden; }
}

@media (max-width:782px) {
  .np-builder-header .np-mobile-header-inner { min-height:68px; }
  .np-builder-header .custom-logo { max-width:min(var(--np-logo-width),145px); }
}

/* =========================================================
   Kios Store 1.8 - modern WooCommerce storefront homepage
   Inspired by the supplied warm furniture-shop mockup.
   ========================================================= */
.np-store-home { padding: 0; background: #fff; }
.np-store-home .np-container { width: min(calc(100% - 40px), var(--np-container)); }

/* Announcement + ecommerce header */
.announcement-bar { min-height: 32px; display: flex; align-items: center; padding: 0; background: var(--np-accent,#8b4d2d); color: #fff; font-size: 11px; letter-spacing: 0; text-transform: none; }
.np-announcement-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(calc(100% - 40px), var(--np-container)); margin-inline: auto; min-width: 0; }
.np-announcement-main { flex: 1 1 auto; min-width: 0; padding-block: 7px; white-space: normal; line-height: 1.35; text-align: left; }
.np-announcement-links { display: flex; flex: 0 0 auto; align-items: center; gap: 18px; white-space: nowrap; }
.np-announcement-links a, .np-announcement-links span { color: inherit; opacity: .94; }
.np-announcement-links a:hover { opacity: 1; text-decoration: underline; }
.np-builder-header { border-bottom: 1px solid rgba(15,23,42,.08); background: #fff; }
.np-builder-header .np-desktop-header-inner { min-height: 74px; }
.np-builder-header .np-header-navigation a { padding: 27px 0; letter-spacing: 0; text-transform: none; font-size: max(12px,var(--np-menu-size)); font-weight: 500; }
.np-builder-header .np-header-navigation a:hover,
.np-builder-header .np-header-navigation .current-menu-item > a { color: var(--np-accent,#8b4d2d); }
.np-builder-header .np-header-zone { gap: 16px; }
.np-builder-header .np-header-zone-right { gap: 8px; }
.np-builder-header .np-header-search-form .search-form { position: relative; min-width: 270px; }
.np-builder-header .np-header-search-form label { display: block; }
.np-builder-header .np-header-search-form .search-field { width: 100%; height: 40px; padding: 0 42px 0 14px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fafafa; font-size: 12px; }
.np-builder-header .np-header-search-form .search-submit { position: absolute; top: 4px; right: 4px; width: 32px; height: 32px; padding: 0; overflow: hidden; border: 0; background: transparent; color: #111827; font-size: 0; }
.np-builder-header .np-header-search-form .search-submit::before { content: "⌕"; font-size: 20px; line-height: 30px; }
.np-builder-header .header-icon { width: 38px; height: 38px; flex-basis: 38px; }
.np-builder-header .header-icon:hover { background: #f6f1ed; color: var(--np-accent,#8b4d2d); }

/* Hero */
.np-store-hero { position: relative; min-height: var(--np-hero-height-desktop, 560px); overflow: hidden; background: #f6f1ed; isolation: isolate; }
.np-store-hero-media, .np-store-hero-slide { position: absolute; inset: 0; margin: 0; }
.np-store-hero-slide { visibility: hidden; opacity: 0; transition: opacity .6s ease, visibility .6s ease; }
.np-store-hero-slide.is-active { visibility: visible; opacity: 1; }
.np-store-hero-slide img { width: 100%; height: 100%; object-fit: var(--np-hero-image-fit, cover); object-position: var(--np-hero-image-position, center); }
.np-store-hero::after { position: absolute; inset: 0; z-index: 1; content: ""; pointer-events: none; transition: background .25s ease; }
.np-store-hero.np-hero-gradient-light::after { background: linear-gradient(90deg, rgba(255,252,248,.96) 0%, rgba(255,252,248,.82) 29%, rgba(255,252,248,.22) 55%, rgba(255,252,248,0) 72%); }
.np-store-hero.np-hero-gradient-dark::after { background: linear-gradient(90deg, rgba(12,12,12,.88) 0%, rgba(12,12,12,.68) 30%, rgba(12,12,12,.24) 56%, rgba(12,12,12,0) 74%); }
.np-store-hero.np-hero-gradient-none::after { background: transparent; }
.np-store-hero.np-hero-copy-align-right.np-hero-gradient-light::after { background: linear-gradient(270deg, rgba(255,252,248,.96) 0%, rgba(255,252,248,.82) 29%, rgba(255,252,248,.22) 55%, rgba(255,252,248,0) 72%); }
.np-store-hero.np-hero-copy-align-right.np-hero-gradient-dark::after { background: linear-gradient(270deg, rgba(12,12,12,.88) 0%, rgba(12,12,12,.68) 30%, rgba(12,12,12,.24) 56%, rgba(12,12,12,0) 74%); }
.np-store-hero.np-hero-copy-align-center.np-hero-gradient-light::after { background: linear-gradient(90deg, rgba(255,252,248,0) 0%, rgba(255,252,248,.82) 30%, rgba(255,252,248,.9) 50%, rgba(255,252,248,.82) 70%, rgba(255,252,248,0) 100%); }
.np-store-hero.np-hero-copy-align-center.np-hero-gradient-dark::after { background: linear-gradient(90deg, rgba(12,12,12,0) 0%, rgba(12,12,12,.62) 30%, rgba(12,12,12,.78) 50%, rgba(12,12,12,.62) 70%, rgba(12,12,12,0) 100%); }
.np-store-hero.np-hero-gradient-dark .np-store-hero-copy,
.np-store-hero.np-hero-gradient-dark .np-store-kicker,
.np-store-hero.np-hero-gradient-dark .np-store-hero-copy h1 { color: #fff; }
.np-store-hero.np-hero-gradient-dark .np-store-hero-copy p { color: rgba(255,255,255,.9); }
.np-store-hero.np-hero-gradient-dark .np-store-slider-dots button { background: rgba(255,255,255,.38); }
.np-store-hero.np-hero-gradient-dark .np-store-slider-dots button[aria-current="true"] { background: #fff; }
.np-store-hero-content { position: relative; z-index: 2; display: flex; min-height: var(--np-hero-height-desktop, 560px); align-items: center; }
.np-store-hero-copy { max-width: 500px; padding: 50px 0; color: var(--np-secondary,#4c2a1c); }
.np-store-kicker { display: block; margin-bottom: 2px; font-family: var(--np-heading-font); font-size: clamp(30px,4.2vw,62px); font-weight: 600; line-height: 1; }
.np-store-hero-copy h1 { margin: 0 0 14px; color: var(--np-secondary,#4c2a1c); font-family: var(--np-heading-font); font-size: clamp(44px,5vw,76px); font-weight: 500; line-height: .98; letter-spacing: -.025em; }
.np-store-hero-copy p { max-width: 340px; margin: 0 0 24px; color: #4f3a31; font-size: 15px; line-height: 1.7; }
.np-store-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid var(--np-accent,#8b4d2d); border-radius: 5px; background: var(--np-accent,#8b4d2d); color: #fff; font-family: var(--np-button-font); font-size: 12px; font-weight: 600; text-decoration: none; transition: .2s ease; }
.np-store-button:hover { background: #6f391f; border-color: #6f391f; color: #fff; transform: translateY(-1px); }
.np-store-slider-dots { position: absolute; z-index: 3; left: 50%; bottom: 18px; display: flex; gap: 7px; transform: translateX(-50%); }
.np-store-slider-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(139,77,45,.28); cursor: pointer; }
.np-store-slider-dots button[aria-current="true"] { background: var(--np-accent,#8b4d2d); }

/* Common section */
.np-store-section { padding-block: 34px; }
.np-store-section + .np-store-section { padding-top: 14px; }
.np-store-section-head { margin-bottom: 20px; }
.np-store-section-head.is-centered { text-align: center; }
.np-store-section-head h2 { margin: 0 0 7px; color: var(--np-secondary,#4b2b1d); font-family: var(--np-heading-font); font-size: 25px; font-weight: 600; line-height: 1.2; }
.np-store-section-head p { margin: 0; color: #8a7c75; font-size: 12px; }

/* Categories */
.np-store-category-grid { display: grid; grid-template-columns: repeat(var(--np-category-columns-desktop,4), minmax(0,1fr)); gap: 18px; }
.np-store-category-card { position: relative; min-height: 128px; overflow: hidden; border-radius: 8px; background: #f6f1ed; color: #231f1d; text-decoration: none; }
.np-store-category-card::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(247,242,238,.98) 0%, rgba(247,242,238,.76) 38%, rgba(247,242,238,0) 70%); content: ""; }
.np-store-category-card img { position: absolute; inset: 0 0 0 auto; width: 70%; height: 100%; object-fit: contain; object-position: right center; transition: transform .35s ease; }
.np-store-category-card:hover img { transform: scale(1.04); }
.np-store-category-card strong { position: absolute; z-index: 2; left: 15px; bottom: 16px; max-width: 50%; color: #29221e; font-size: 14px; }
.np-store-category-count { position: absolute; z-index: 2; top: 12px; left: 12px; padding: 5px 10px; border-radius: 5px; background: #a55d33; color: #fff; font-size: 10px; font-weight: 600; }

/* Product cards */
.np-store-product-grid { display: grid; grid-template-columns: repeat(var(--np-product-columns-desktop,4), minmax(0,1fr)); gap: var(--np-product-card-gap,18px); }
.np-store-product-card { overflow: hidden; margin: 0; border: var(--np-product-card-border-width,1px) var(--np-product-card-border-style,solid) var(--np-product-card-border,#ebe5df); border-radius: var(--np-product-card-radius,8px); background: var(--np-product-card-bg,#fff); box-shadow: 0 2px 10px rgba(68,44,31,.035); transition: transform .2s ease, box-shadow .2s ease; }
.np-store-product-card:hover { transform: translateY(-2px); box-shadow: 0 9px 28px rgba(68,44,31,.08); }
.np-store-product-media { position: relative; overflow: hidden; background: #f7f3ef; }
.np-store-product-image { display: block; aspect-ratio: var(--np-product-image-ratio,1 / 1); }
.np-store-product-image img { width: 100%; height: 100%; object-fit: var(--np-product-image-fit,contain); transition: transform .35s ease; }
.np-store-product-card:hover .np-store-product-image img { transform: scale(1.035); }
.np-store-wishlist { position: absolute; top: 10px; right: 10px; z-index: 2; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.92); color: #554239; font-size: 20px; line-height: 1; text-decoration: none; box-shadow: 0 1px 5px rgba(0,0,0,.05); }
.np-store-wishlist:hover { color: var(--np-accent,#8b4d2d); }
.np-store-product-info { padding: 13px; }
.np-store-product-category { display: block; margin-bottom: 4px; color: var(--np-product-card-muted,#8a7c75); font-size: 10px; }
.np-store-product-info h3 { margin: 0 0 5px; font-family: var(--np-body-font); font-size: 12px; font-weight: 650; line-height: 1.4; }
.np-store-product-info h3 a { color: var(--np-product-card-text,#2b231f); text-decoration: none; }
.np-store-price { margin-bottom: 11px; color: var(--np-product-card-price,#4c403b); font-size: 11px; font-weight: 500; }
.np-store-price del { opacity: .5; }
.np-store-add-cart { display: flex; min-height: 34px; align-items: center; justify-content: center; padding: 6px 10px; border: 1px solid var(--np-product-button-border,#8b4d2d); border-radius: var(--np-product-button-radius,5px); background: var(--np-product-button-bg,#8b4d2d); color: var(--np-product-button-color,#fff); font-size: var(--np-product-button-font-size,10px); font-weight: 600; text-align: center; text-decoration: none; transition: .2s ease; }
.np-store-add-cart:hover { border-color: var(--np-product-button-hover-bg,#6f391f); background: var(--np-product-button-hover-bg,#6f391f); color: var(--np-product-button-hover-color,#fff); }
.np-store-product-actions { display:flex; align-items:stretch; gap:8px; margin-top:8px; }
.np-store-product-actions.np-product-action-left { justify-content:flex-start; }
.np-store-product-actions.np-product-action-center { justify-content:center; }
.np-store-product-actions.np-product-action-right { justify-content:flex-end; }
.np-store-product-actions.is-full .np-card-cta { flex:1 1 0; width:100%; }
.np-store-product-actions.is-both .np-card-cta { flex:1 1 0; min-width:0; }
.np-card-cta { display:inline-flex; min-height:34px; align-items:center; justify-content:center; padding:var(--np-product-button-padding-y,8px) var(--np-product-button-padding-x,12px); border:1px solid var(--np-product-button-border,#8b4d2d); border-radius:var(--np-product-button-radius,5px); font-family:var(--np-button-font); font-size:var(--np-product-button-font-size,10px); font-weight:var(--np-button-weight,700); line-height:1.25; text-align:center; text-decoration:none; }
.np-card-cta-buy { background:transparent; color:var(--np-product-button-bg,#8b4d2d); }
.np-card-cta-buy:hover { border-color:var(--np-product-button-hover-bg,#6f391f); background:var(--np-product-button-hover-bg,#6f391f); color:var(--np-product-button-hover-color,#fff); }
.np-button-mode-text .np-card-cta { min-height:0; padding:2px 0; border-width:0 0 1px; border-radius:0; background:transparent; color:var(--np-product-text-color,var(--np-accent)); }
.np-button-mode-text .np-card-cta:hover { background:transparent; color:var(--np-product-text-hover-color,var(--np-secondary)); }
.woocommerce ul.products li.product .np-store-product-actions { width:100%; margin-top:10px; }
.woocommerce ul.products li.product .np-store-product-actions .np-card-cta { margin:0; }

.np-store-more { padding-top: 25px; text-align: center; }
.np-store-more .np-store-button { min-height: 36px; padding-inline: 18px; font-size: 10px; }
.np-store-empty { padding: 40px; border: 1px dashed #d8cec6; border-radius: 8px; color: #7c6e67; text-align: center; }

/* Benefit bar */
.np-store-benefits { margin-top: 34px; padding: 25px 0; border-top: 1px solid #eee6df; border-bottom: 1px solid #eee6df; background: #fbf7f3; }
.np-store-benefit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.np-store-benefit { display: flex; align-items: center; gap: 13px; min-height: 66px; padding: 0 20px; border-right: 1px solid #e8ded6; }
.np-store-benefit:last-child { border-right: 0; }
.np-store-benefit-icon { color: var(--np-accent,#8b4d2d); font-size: 25px; }
.np-store-benefit strong, .np-store-benefit span { display: block; }
.np-store-benefit strong { margin-bottom: 3px; color: var(--np-secondary,#4b2b1d); font-size: 12px; }
.np-store-benefit div > span { color: #7b6e67; font-size: 10px; line-height: 1.5; }

/* Footer tune for ecommerce */
.np-store-home + .site-footer,
.np-store-home ~ .site-footer { background: #fffaf6; color: #4b403a; }
.site-footer { border-top: 0; }
.footer-brand { padding-block: 36px 24px; }
.footer-widgets { padding-block: 32px; }
.footer-bottom { width: 100%; background: var(--np-accent,#8b4d2d); color: #fff; }
.footer-bottom-inner { min-height: 60px; padding-block: 15px; }
.footer-copyright { font-size: 12px; font-weight: 500; letter-spacing: .005em; }
.footer-bottom a { color: inherit; }

/* Hybrid Elementor slot */
.np-home-builder-slot { width: 100%; }
.np-elementor-home { padding: 0; }

/* Floating WhatsApp */
.np-floating-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 999; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #25d366; color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.np-floating-whatsapp:hover { color: #fff; transform: translateY(-2px); }

@media (max-width: 1024px) {
  .np-announcement-inner { width: min(calc(100% - 32px), var(--np-container)); gap: 14px; }
  .np-announcement-links { gap: 12px; }
  .np-builder-header .np-header-search-form .search-form { min-width: 210px; }
  .np-store-hero, .np-store-hero-content { min-height: var(--np-hero-height-tablet,500px); }
  .np-store-category-grid { grid-template-columns: repeat(var(--np-category-columns-tablet,2), minmax(0,1fr)); }
  .np-store-product-grid { grid-template-columns: repeat(var(--np-product-columns-tablet,3), minmax(0,1fr)); }
  .np-store-benefit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .np-store-benefit:nth-child(2) { border-right: 0; }
  .np-store-benefit:nth-child(-n+2) { border-bottom: 1px solid #e8ded6; }
}

@media (max-width: 782px) {
  .np-announcement-inner { width: min(calc(100% - 28px), var(--np-container)); justify-content: flex-start; text-align: left; }
  .np-announcement-main { padding-block: 8px; }
  .np-announcement-links { display: none; }
  .np-store-home .np-container { width: min(calc(100% - 28px), var(--np-container)); }
  .np-store-hero, .np-store-hero-content { min-height: var(--np-hero-height-mobile,430px); }
  .np-store-hero.np-hero-gradient-light::after { background: linear-gradient(90deg, rgba(255,252,248,.94) 0%, rgba(255,252,248,.72) 56%, rgba(255,252,248,.08) 100%); }
  .np-store-hero.np-hero-gradient-dark::after { background: linear-gradient(90deg, rgba(12,12,12,.86) 0%, rgba(12,12,12,.62) 58%, rgba(12,12,12,.08) 100%); }
  .np-store-hero.np-hero-gradient-none::after { background: transparent; }
  .np-store-hero-copy { max-width: 72%; padding: 38px 0; }
  .np-store-kicker { font-size: 29px; }
  .np-store-hero-copy h1 { font-size: 42px; }
  .np-store-hero-copy p { font-size: 13px; }
  .np-store-section { padding-block: 28px; }
  .np-store-category-grid { grid-template-columns: repeat(var(--np-category-columns-mobile,2), minmax(0,1fr)); gap: 10px; }
  .np-store-category-card { min-height: 105px; }
  .np-store-category-count { top: 8px; left: 8px; padding: 4px 7px; font-size: 8px; }
  .np-store-category-card strong { left: 10px; bottom: 10px; font-size: 11px; }
  .np-store-product-grid { grid-template-columns: repeat(var(--np-product-columns-mobile,2), minmax(0,1fr)); gap: 10px; }
  .np-store-product-info { padding: 10px; }
  .np-store-product-info h3 { font-size: 11px; }
  .np-store-add-cart { min-height: 32px; font-size: 9px; }
  .np-store-product-actions { gap:6px; }
  .np-store-product-actions.is-both { flex-direction:column; }
  .np-store-product-actions.is-both .np-card-cta { width:100%; }
  .np-card-cta { min-height:32px; padding:7px 8px; font-size:max(9px,calc(var(--np-product-button-font-size,10px) - 1px)); }
  .np-store-benefit-grid { grid-template-columns: 1fr; }
  .np-store-benefit, .np-store-benefit:nth-child(2) { border-right: 0; border-bottom: 1px solid #e8ded6; }
  .np-store-benefit:last-child { border-bottom: 0; }
}

@media (max-width: 480px) {
  .np-store-hero-copy { max-width: 78%; }
  .np-store-hero-copy h1 { font-size: 36px; }
  .np-store-category-card { min-height: 92px; }
  .np-store-section-head h2 { font-size: 22px; }
  .np-floating-whatsapp { right: 14px; bottom: 14px; width: 48px; height: 48px; }
}

/* Preserve the legacy split-hero option inside the new storefront renderer. */
.np-store-hero-split::after { display: none; }
.np-store-hero-split .np-store-hero-media { left: var(--np-hero-copy-column,40%); }
.np-store-hero-split .np-store-hero-copy { width: calc(var(--np-hero-copy-column,40%) - 28px); max-width: none; }
.np-store-hero-split.np-hero-visual-left .np-store-hero-media { right: var(--np-hero-copy-column,40%); left: 0; }
.np-store-hero-split.np-hero-visual-left .np-store-hero-content { justify-content: flex-end; }
@media (max-width:782px) {
  .np-store-hero-split .np-store-hero-media,
  .np-store-hero-split.np-hero-visual-left .np-store-hero-media { inset: 0; }
  .np-store-hero-split::after { display: block; }
  .np-store-hero-split .np-store-hero-copy { width: auto; max-width: 78%; }
  .np-store-hero-split.np-hero-visual-left .np-store-hero-content { justify-content: flex-start; }
}

.np-store-footer-default { display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.95fr)); align-items:start; gap:48px; padding-block:44px; border-top:1px solid color-mix(in srgb,var(--np-footer-text) 12%,transparent); }
.np-store-footer-default h3 { margin:0 0 14px; font-family:var(--np-body-font); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.np-store-footer-default ul { margin:0; padding:0; list-style:none; }
.np-store-footer-default li { margin:0 0 8px; }
.np-store-footer-default a { color:inherit; font-size:11px; text-decoration:none; }
.np-store-footer-default a:hover { color:var(--np-accent); }
.np-store-footer-title { display:block; margin-bottom:12px; font-family:var(--np-heading-font); font-size:24px; color:inherit; }
.np-store-footer-brand p { width:100%; max-width:320px; margin:0; font-size:11.5px; line-height:1.8; text-align:justify; text-justify:inter-word; opacity:.82; }
.np-store-footer-socials { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:11px; }
.np-store-footer-socials span { opacity:.7; line-height:1.6; }
@media(max-width:782px){.np-store-footer-default{grid-template-columns:1fr 1fr;gap:28px}.np-store-footer-brand{grid-column:1/-1}}
@media(max-width:480px){.np-store-footer-default{grid-template-columns:1fr}.np-store-footer-brand{grid-column:auto}}

/* Kios Store 1.8.2: hero slider copy follows the active slide. */
.np-store-hero-copy-slide { display: none; }
.np-store-hero-copy-slide.is-active { display: block; }


/* Kios Store 1.8.4: cleaner WooCommerce fallback footer + editable photo/links/social icons. */
.np-store-footer-default.no-brand { grid-template-columns: repeat(3,minmax(0,1fr)); }
.np-footer-photo-link { display:block; margin:0 0 16px; }
.np-footer-photo { display:block; width:100%; max-width:300px; aspect-ratio:16/9; object-fit:cover; border-radius:8px; }
.np-store-footer-brand .footer-logo { display:block; max-width:var(--np-logo-width); width:auto; height:auto; margin:0 0 14px; }
.np-store-footer-contact { margin:14px 0 0; max-width:300px; font-size:11px; line-height:1.7; font-style:normal; opacity:.78; white-space:pre-line; }
.np-store-footer-socials { align-items:center; gap:10px; }
.np-social-icon { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb,currentColor 18%,transparent); border-radius:50%; color:inherit; transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease; }
.np-social-icon svg { display:block; width:17px; height:17px; fill:currentColor; }
.np-social-icon:hover { transform:translateY(-2px); color:var(--np-accent); border-color:currentColor; background:color-mix(in srgb,var(--np-accent) 8%,transparent); }
.footer-bottom .np-social-icon { width:30px; height:30px; border-color:color-mix(in srgb,currentColor 35%,transparent); }
.footer-bottom .np-social-icon:hover { color:#fff; background:color-mix(in srgb,#fff 12%,transparent); }
@media(max-width:782px){.np-store-footer-default.no-brand{grid-template-columns:1fr 1fr}.np-footer-photo{max-width:360px}}
@media(max-width:480px){.np-store-footer-default.no-brand{grid-template-columns:1fr}.np-store-footer-socials{gap:8px}}


/* Kios Store 1.8.5: refined storefront footer + justified brand description. */
.np-store-footer-default > div { min-width:0; }
.np-store-footer-brand { max-width:340px; }
.np-store-footer-brand p { letter-spacing:.002em; }
.np-store-footer-default h3 { line-height:1.35; }
.np-store-footer-default li { line-height:1.55; }
@media (max-width:1024px) {
  .np-store-footer-default { grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr)); gap:32px; }
  .np-store-footer-brand p { max-width:100%; }
}
@media (max-width:782px) {
  .np-store-footer-brand { max-width:none; }
  .np-store-footer-brand p { max-width:560px; font-size:11.5px; }
}
@media (max-width:480px) {
  .np-store-footer-default { gap:24px; padding-block:32px; }
  .np-store-footer-brand p { max-width:none; font-size:11px; line-height:1.75; text-align:justify; }
}

/* Kios Store 1.8.6: mobile footer layout refinement. */
@media (max-width: 600px) {
  .site-footer .np-store-footer-default,
  .site-footer .np-store-footer-default.no-brand {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 28px;
    padding-bottom: 20px;
  }

  .site-footer .np-store-footer-default > div {
    width: 100%;
    min-width: 0;
    padding: 20px 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  }

  .site-footer .np-store-footer-default > div:first-child {
    padding-top: 0;
  }

  .site-footer .np-store-footer-default > div:last-child {
    padding-bottom: 4px;
    border-bottom: 0;
  }

  .site-footer .np-store-footer-brand {
    grid-column: auto;
    max-width: none;
  }

  .site-footer .np-store-footer-brand .footer-logo {
    max-width: min(var(--np-logo-width), 180px);
    margin-bottom: 14px;
  }

  .site-footer .np-footer-photo-link,
  .site-footer .np-footer-photo {
    width: 100%;
    max-width: none;
  }

  .site-footer .np-footer-photo-link {
    margin-bottom: 16px;
  }

  .site-footer .np-footer-photo {
    aspect-ratio: 16 / 9;
    border-radius: 6px;
  }

  /* Justify works well on desktop, but produces large word gaps on narrow screens. */
  .site-footer .np-store-footer-brand p {
    max-width: none;
    margin: 0;
    font-size: 12.5px;
    line-height: 1.75;
    letter-spacing: 0;
    text-align: left;
    text-justify: auto;
  }

  .site-footer .np-store-footer-contact {
    max-width: none;
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.7;
  }

  .site-footer .np-store-footer-default h3 {
    margin-bottom: 12px;
    font-size: 12px;
    line-height: 1.35;
  }

  .site-footer .np-store-footer-default li {
    margin-bottom: 8px;
    line-height: 1.5;
  }

  .site-footer .np-store-footer-default a {
    font-size: 12.5px;
    line-height: 1.5;
  }

  .site-footer .np-store-footer-socials {
    gap: 10px;
  }

  .site-footer .np-social-icon {
    width: 36px;
    height: 36px;
  }

  .site-footer .np-social-icon svg {
    width: 17px;
    height: 17px;
  }

  .site-footer .footer-bottom-inner {
    min-height: 0;
    width: 100%;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    padding-bottom: 14px;
    text-align: center;
  }

  .site-footer .footer-copyright {
    width: 100%;
    font-size: 11px;
    line-height: 1.55;
    text-align: center;
  }

  .site-footer .footer-navigation ul,
  .site-footer .np-footer-bottom-socials {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 360px) {
  .site-footer .np-store-footer-default { padding-top: 24px; }
  .site-footer .np-store-footer-default > div { padding: 18px 0; }
  .site-footer .np-store-footer-brand p,
  .site-footer .np-store-footer-default a { font-size: 12px; }
}


/* =========================================================
   Kios Store 1.9.2 - Responsive layout hardening
   Desktop / tablet / mobile safeguards shared by all templates.
   ========================================================= */
.site,
.site-main,
.content-layout,
.content-area,
.widget-area,
.entry-content,
.np-header-zone,
.np-store-footer-default > div {
  min-width: 0;
}

.site {
  overflow: clip;
}

.entry-content > * {
  max-width: 100%;
}

/* Prevent generic tables/content from forcing the page wider than the viewport. */
.entry-content table:not(.shop_table) {
  max-width: 100%;
}

@media (max-width: 1024px) {
  .np-container {
    width: min(calc(100% - 32px), var(--np-container));
  }

  .content-layout.layout-sidebar-right,
  .content-layout.layout-sidebar-left {
    gap: 32px;
  }

  .np-builder-header .np-mobile-header-inner {
    width: min(calc(100% - 32px), var(--np-container));
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.is-sticky {
    top: 46px;
  }

  .np-container {
    width: min(calc(100% - 28px), var(--np-container));
  }

  .np-layout-boxed {
    padding: 0;
  }

  .np-layout-boxed .site {
    max-width: none;
    box-shadow: none;
  }

  .content-layout.layout-sidebar-right,
  .content-layout.layout-sidebar-left {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .np-builder-header .np-mobile-header-inner {
    width: min(calc(100% - 28px), var(--np-container));
  }

  .np-builder-header .custom-logo {
    width: auto;
    max-width: min(var(--np-logo-width), 150px);
    max-height: 56px;
  }

  .site-main {
    padding-block: 34px;
  }

  .page-header,
  .archive-header {
    margin-bottom: 24px;
  }
}

@media (max-width: 480px) {
  .np-container,
  .np-builder-header .np-mobile-header-inner {
    width: min(calc(100% - 24px), var(--np-container));
  }

  .announcement-bar {
    font-size: 10px;
  }

  .np-announcement-main {
    line-height: 1.4;
  }

  .np-builder-header .header-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .np-builder-header .menu-toggle {
    width: 38px;
    height: 38px;
    padding: 7px;
  }

  .site-main {
    padding-block: 28px;
  }
}

/* =========================================================
   Kios Store 1.9.4 - menu marker + footer viewport fix
   ========================================================= */
/* WordPress nested menus may inherit browser/theme list markers on submenu ULs. */
.np-builder-header .np-header-navigation ul,
.np-builder-header .np-header-navigation ul ul,
.np-builder-header .np-header-navigation li,
.main-navigation ul,
.main-navigation ul ul,
.main-navigation li,
.np-builder-header .np-mobile-navigation ul,
.np-builder-header .np-mobile-navigation ul ul,
.np-builder-header .np-mobile-navigation li {
  list-style: none !important;
}

.np-builder-header .np-header-navigation li::marker,
.main-navigation li::marker,
.np-builder-header .np-mobile-navigation li::marker {
  content: "";
  font-size: 0;
}

/* Keep the footer at the visual bottom of short pages instead of leaving a
   large empty block inside the boxed .site container. */
.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site > .site-main,
.site > main.site-main {
  flex: 1 0 auto;
}

.site-footer {
  flex: 0 0 auto;
  margin-top: auto;
}

/* Elementor can replace the normal main wrapper. This keeps short Elementor
   pages from exposing an empty boxed background below the footer. */
.site > .elementor-location-single,
.site > .elementor-location-archive {
  flex: 1 0 auto;
}

/* ==========================================================
   Kios Store 1.11.1 - single post typography refinement
   Keeps article headings proportional and comfortable to read.
   ========================================================== */
.single-post .entry-single .entry-content {
  color: var(--np-body-color, #4f5663);
  font-size: 16px;
  line-height: 1.82;
}
.single-post .entry-single .entry-content p {
  margin: 0 0 1.35em;
}
.single-post .entry-single .entry-content h2,
.single-post .entry-single .entry-content h3,
.single-post .entry-single .entry-content h4,
.single-post .entry-single .entry-content h5,
.single-post .entry-single .entry-content h6 {
  color: var(--np-header-text, #1f2937);
  line-height: 1.3;
  letter-spacing: -.015em;
}
.single-post .entry-single .entry-content h2 {
  margin: 1.7em 0 .65em;
  font-size: clamp(26px, 2.4vw, 32px);
}
.single-post .entry-single .entry-content h3 {
  margin: 1.55em 0 .6em;
  font-size: clamp(22px, 2vw, 26px);
}
.single-post .entry-single .entry-content h4 {
  margin: 1.45em 0 .55em;
  font-size: 20px;
}
.single-post .entry-single .entry-content h5 { font-size: 18px; }
.single-post .entry-single .entry-content h6 { font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }
.single-post .entry-single .entry-content ul,
.single-post .entry-single .entry-content ol {
  margin: 0 0 1.35em;
  padding-left: 1.35em;
}
.single-post .entry-single .entry-content li { margin-bottom: .45em; }
.single-post .entry-single .entry-content blockquote {
  margin: 1.6em 0;
  padding: 14px 20px;
  border-left: 3px solid var(--np-accent, #9a5530);
  background: #faf8f6;
  color: var(--np-muted, #6b7280);
}
@media (max-width: 782px) {
  .single-post .entry-single .entry-content { font-size: 15px; line-height: 1.78; }
  .single-post .entry-single .entry-content h2 { font-size: 25px; }
  .single-post .entry-single .entry-content h3 { font-size: 21px; }
}


/* ==========================================================
   Kios Store 1.11.2 - wider single post layout + cleaner title
   User request: single post should be wider and the post title
   should look tidy for long article titles.
   ========================================================== */
body.single-post .content-layout.layout-full .content-area {
  max-width: 1080px;
  margin-inline: auto;
}
body.single-post .entry-single,
body.single-post .post-navigation-single,
body.single-post .comments-area {
  max-width: 1020px;
}
body.single-post .entry-single .entry-header {
  margin-bottom: 26px;
}
body.single-post .entry-single .entry-title {
  max-width: 960px;
  margin: 0 0 14px;
  color: var(--np-header-text, #172033);
  font-family: var(--np-heading-font);
  font-size: clamp(36px, 4.3vw, 54px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.03em;
  text-align: left;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: normal;
}
body.single-post .entry-single .entry-meta {
  gap: 10px;
  margin-bottom: 0;
  color: var(--np-muted, #64748b);
  font-size: 13px;
}
body.single-post .entry-single .entry-content {
  max-width: 960px;
}
body.single-post .entry-single .entry-content p,
body.single-post .entry-single .entry-content ul,
body.single-post .entry-single .entry-content ol,
body.single-post .entry-single .entry-content blockquote,
body.single-post .entry-single .entry-content h2,
body.single-post .entry-single .entry-content h3,
body.single-post .entry-single .entry-content h4,
body.single-post .entry-single .entry-content h5,
body.single-post .entry-single .entry-content h6 {
  max-width: 100%;
}
@media (max-width: 1100px) {
  body.single-post .content-layout.layout-full .content-area {
    max-width: 100%;
  }
  body.single-post .entry-single,
  body.single-post .post-navigation-single,
  body.single-post .comments-area,
  body.single-post .entry-single .entry-content,
  body.single-post .entry-single .entry-title {
    max-width: 100%;
  }
}
@media (max-width: 782px) {
  body.single-post .entry-single .entry-header {
    margin-bottom: 20px;
  }
  body.single-post .entry-single .entry-title {
    margin-bottom: 10px;
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.12;
  }
  body.single-post .entry-single .entry-meta {
    gap: 8px;
    font-size: 12px;
  }
}
