/* Library 1.3. Add once alongside Northcode Starter 1.4; do not replace tokens.css. */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600&display=swap');
.ncl-skin{--ncl-panel:var(--c-surface);font-family:var(--font-body);color:var(--c-text);background:var(--c-bg)}
.ncl-skin.ncl-north{--c-ink:#171717;--c-brand:#353535;--c-accent:#ff6418;--c-bg:#fff;--c-surface:#fff;--c-soft:#f4f4f2;--c-text:#444;--font-head:'Outfit',Arial,sans-serif;--font-body:'Outfit',Arial,sans-serif;--radius-btn:0px;--e-global-color-primary:#171717;--e-global-color-secondary:#353535;--e-global-color-text:#444;--e-global-color-accent:#ff6418;--e-global-typography-primary-font-family:'Outfit';--e-global-typography-text-font-family:'Outfit'}
.ncl-skin.ncl-forno{--c-ink:#17392e;--c-brand:#496448;--c-accent:#d34229;--c-bg:#fff8ec;--c-surface:#fff8ec;--c-soft:#f2e7d3;--c-text:#485348;--font-head:Georgia,'Times New Roman',serif;--font-body:'Outfit',Arial,sans-serif;--radius-btn:6px;--e-global-color-primary:#17392e;--e-global-color-secondary:#496448;--e-global-color-text:#485348;--e-global-color-accent:#d34229;--e-global-typography-primary-font-family:Georgia;--e-global-typography-text-font-family:'Outfit'}
.ncl-skin{--c-heading:var(--c-ink);--c-line:color-mix(in srgb,var(--c-ink) 15%,var(--c-bg));--c-muted:color-mix(in srgb,var(--c-ink) 65%,var(--c-bg));--c-link:var(--c-ink);--c-on-accent:#fff;--e-global-typography-primary-font-weight:600}
/* 1.5.1: system.css derives these on <body> from the SITE globals; a custom property resolves where it is declared,
   so inside a skin they kept the site's colours. Re-derive them here so each skin (or the site, without a brand class) is used. */
.ncl-skin{--c-eyebrow:var(--c-link);--c-field:color-mix(in srgb,var(--c-ink) 60%,var(--c-bg));--c-focus:var(--c-ink);--gradient:var(--gradient-custom,linear-gradient(160deg,var(--c-brand) 0%,var(--c-ink) 70%));--ghost-hover-text:var(--c-surface);--light-hover-fill:color-mix(in srgb,#fff 88%,var(--c-ink));--light-hover-text:var(--c-ink);--shadow:0 1px 2px color-mix(in srgb,var(--c-ink) 6%,transparent),0 8px 24px color-mix(in srgb,var(--c-ink) 8%,transparent)}
.ncl-skin .elementor-heading-title{font-family:var(--font-head);color:var(--c-heading)}.ncl-skin .elementor-widget-text-editor{font-family:var(--font-body);color:inherit}.ncl-skin .e-con{min-width:0}.ncl-skin .elementor-widget-button{width:auto}.ncl-skin .ncl-wordmark .elementor-heading-title{font-family:var(--font-body);font-size:1.5rem;letter-spacing:.16em}.ncl-forno .ncl-wordmark .elementor-heading-title{font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.04em}
.ncl-skin .ncl-header{justify-content:space-between;gap:var(--sp-m);padding-block:var(--sp-m)}.ncl-skin .ncl-header>.elementor-widget{width:auto;max-width:100%}.ncl-skin .ncl-header>.ncl-menu{flex:1}.ncl-skin .ncl-menu .elementor-nav-menu a{font-family:var(--font-body);color:inherit;font-size:var(--fs-small)}.ncl-skin .ncl-icons{gap:var(--sp-xs)}.ncl-skin .ncl-header-icon .elementor-icon{font-size:24px;color:inherit}.ncl-skin .ncl-search{min-width:0;max-width:320px}.ncl-skin .ncl-announcement{background:var(--c-accent);color:var(--c-ink);text-align:center;padding:var(--sp-2xs) var(--sp-s)}.ncl-forno .ncl-announcement{color:#fff8ec}
.ncl-skin .ncl-image img{display:block;width:100%;height:auto;object-fit:cover}.ncl-skin .ncl-split>.ncl-image img{height:clamp(250px,35vw,440px)}.ncl-skin .ncl-split-copy{padding:var(--sp-l)}.ncl-skin .ncl-photo-hero{color:#fff;justify-content:center}.ncl-skin .ncl-photo-hero .elementor-heading-title,.ncl-skin .ncl-photo-hero p{color:#fff}.ncl-skin .ncl-accent-panel{background:var(--c-accent);color:var(--c-ink)}.ncl-forno .ncl-accent-panel,.ncl-forno .ncl-accent-panel .elementor-heading-title{color:#fff8ec}
.ncl-skin .ncl-editorial-heading{justify-content:space-between;align-items:center}.ncl-skin .ncl-footer-main,.ncl-skin .ncl-contact-footer{padding-block:var(--sp-xl)}.ncl-skin .ncl-footer-bottom{justify-content:space-between;border-top:1px solid var(--c-line);padding-block:var(--sp-s)}.ncl-skin .ncl-footer-inline{justify-content:space-between;padding-block:var(--sp-l)}.ncl-skin .ncl-footer-subscribe{padding-block:var(--sp-l);border-bottom:1px solid var(--c-line)}.ncl-skin .ncl-word-strip{justify-content:space-around;flex-wrap:wrap;padding-block:var(--sp-l);border-block:1px solid var(--c-line)}.ncl-skin .ncl-feature-icon .elementor-icon{font-size:26px;color:var(--c-ink)}
.ncl-skin .ncl-shop-sidebar{display:grid;grid-template-columns:minmax(180px,24%) minmax(0,1fr);gap:var(--sp-xl)}.ncl-skin .ncl-filter-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-m)}.ncl-skin .ncl-shop-grid{min-width:0}.ncl-skin .ncl-products ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-m);margin:0}.ncl-skin .ncl-products ul.products::before,.ncl-skin .ncl-products ul.products::after{display:none}.ncl-skin .ncl-products ul.products li.product{float:none;width:auto!important;margin:0!important}.ncl-skin .nc-carousel-track .ncl-products ul.products{grid-template-columns:1fr}.ncl-skin .ncl-arrows .elementor-icon{font-size:20px;color:var(--c-ink);border:1px solid var(--c-line);border-radius:50%;padding:12px}
.ncl-skin .bg-ink,.ncl-skin .on-dark{--c-heading:var(--c-surface);--c-text:var(--c-surface);color:var(--c-surface)}.ncl-skin .bg-ink .elementor-heading-title,.ncl-skin .bg-ink .elementor-icon,.ncl-skin .bg-ink .elementor-nav-menu a{color:var(--c-surface)}
@media(max-width:767px){.ncl-skin .ncl-shop-sidebar{grid-template-columns:1fr}.ncl-skin .ncl-filter-toolbar{grid-template-columns:1fr 1fr}.ncl-skin .ncl-header{gap:var(--sp-s)}.ncl-skin .ncl-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.ncl-skin .ncl-split-copy{padding:var(--sp-m)}.ncl-skin .ncl-header>.ncl-search{width:100%;max-width:none;order:3}.ncl-skin .ncl-footer-main{grid-template-columns:1fr}.ncl-skin .ncl-shop-filters{padding-bottom:var(--sp-m);border-bottom:1px solid var(--c-line)}}
/* Editable cards and native WooCommerce galleries. */
.ncl-skin.shop-card{min-width:0;overflow-wrap:anywhere}
.ncl-skin .ncl-product-image img{aspect-ratio:3/4;object-fit:cover}
.ncl-skin.ncl-card-framed{padding:var(--sp-m);border:1px solid var(--c-line);background:var(--c-soft)}
.ncl-skin .ncl-card-heading{align-items:flex-start;justify-content:space-between;gap:var(--sp-s)}
.ncl-skin .ncl-card-price,.ncl-skin .ncl-card-price .price{font-family:var(--font-body);font-size:var(--fs-body);font-weight:500;color:var(--c-ink);margin:0}
.ncl-skin.shop-card.ncl-card-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;gap:var(--sp-m)}
.ncl-skin .card-body{min-width:0;height:100%}
.ncl-skin.ncl-service-card{padding:var(--sp-l);border:1px solid var(--c-line)}
.ncl-skin .ncl-service-number .elementor-heading-title{font-size:var(--fs-h2);color:var(--c-muted)}
.ncl-skin.ncl-service-card .ncl-image img{aspect-ratio:3/2}
.ncl-skin .ncl-gallery-framed,.ncl-skin.ncl-gallery-framed{padding:var(--sp-m);border:1px solid var(--c-line);background:var(--c-soft)}
.ncl-skin .ncl-native-product-gallery{min-width:0;max-width:100%}
.ncl-skin .ncl-native-product-gallery .woocommerce-product-gallery{float:none;width:100%;margin:0}
.ncl-skin .ncl-faq .elementor-accordion-item{border:0;border-bottom:1px solid var(--c-line)}
.ncl-skin .ncl-faq .elementor-tab-title{font-family:var(--font-head);color:var(--c-ink);padding:var(--sp-m) 0}
.ncl-skin .ncl-faq .elementor-tab-content{border:0;padding:0 0 var(--sp-m);color:var(--c-text)}
.ncl-skin .ncl-clean-arrow .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:12px;border:1px solid var(--c-line);border-radius:50%;font-size:18px;color:var(--c-ink);background:transparent;box-sizing:border-box;transition:background .2s,color .2s}
.ncl-skin .ncl-clean-arrow .elementor-icon:hover{background:var(--c-ink);color:var(--c-bg)}
.ncl-skin .ncl-clean-arrow .elementor-icon:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
@media(max-width:767px){.ncl-skin.ncl-service-card{padding:var(--sp-m)}.ncl-skin .ncl-card-heading{flex-wrap:wrap}}
.ncl-skin .ncl-product-title .elementor-heading-title{font-family:var(--font-head);font-weight:500}
.ncl-skin .ncl-product-link .elementor-button{padding:10px 0 5px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:var(--c-ink);font-size:var(--fs-small);box-shadow:none}
.ncl-skin .ncl-product-link .elementor-button:hover{color:var(--c-accent)}
.ncl-skin.ncl-card-framed{background:var(--c-bg)}
.ncl-skin .ncl-card-heading{flex-direction:column;align-items:flex-start;gap:var(--sp-xs)}
.ncl-skin.ncl-forno .ncl-product-image img{aspect-ratio:1}

/* Utility retail header correction. Native controls also set row/nowrap. */
.ncl-skin.ncl-utility-header{position:relative;gap:0;--gap:0;overflow:visible}
.ncl-skin.ncl-utility-header .ncl-utility.e-con{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:var(--sp-m);padding:var(--sp-s) var(--gutter);background:var(--c-soft)}
.ncl-skin.ncl-utility-header .ncl-utility>.elementor-widget{width:auto;flex:0 1 auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-utility p{margin:0}
.ncl-skin.ncl-utility-header .ncl-header.e-con{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-m);padding:var(--sp-l) var(--gutter)}
.ncl-skin.ncl-utility-header .ncl-header>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-header>.ncl-icons.e-con{display:flex;flex-direction:row;flex-wrap:nowrap;justify-self:end;justify-content:flex-end;align-items:center;width:auto;--width:auto;flex:0 0 auto;padding:0;gap:var(--sp-s)}
.ncl-skin.ncl-utility-header .ncl-icons>.elementor-widget{width:auto;--container-widget-width:auto;margin:0}
.ncl-skin.ncl-utility-header .ncl-menu .elementor-nav-menu--main>.elementor-nav-menu{justify-content:center}
.ncl-skin.ncl-utility-header .ncl-search-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:10px;background:transparent;color:var(--c-ink);border:0;border-radius:0;cursor:pointer;line-height:1}
.ncl-skin.ncl-utility-header .ncl-search-icon svg{display:block;flex:none}
.ncl-skin.ncl-utility-header .ncl-search-icon:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.ncl-skin.ncl-utility-header .ncl-cart .elementor-menu-cart__toggle_button{border:0;padding:10px;background:transparent;color:var(--c-ink);box-shadow:none}
.ncl-skin.ncl-utility-header .ncl-cart .elementor-button-icon{color:var(--c-ink)}
.ncl-skin.ncl-utility-header .ncl-search-panel.e-con{display:none;position:absolute;top:100%;right:var(--gutter);width:min(360px,calc(100% - 2 * var(--gutter)));padding:var(--sp-m);background:var(--c-bg);border:1px solid var(--c-line);z-index:100}
.ncl-skin.ncl-utility-header .ncl-search-panel.is-open.e-con{display:flex}
.ncl-skin.ncl-utility-header .ncl-search-panel .ncl-search{width:100%;max-width:none}
@media(max-width:767px){.ncl-skin.ncl-utility-header .ncl-header.e-con{grid-template-columns:minmax(0,1fr) auto auto;gap:var(--sp-xs);padding-block:var(--sp-m)}.ncl-skin.ncl-utility-header .ncl-utility{font-size:var(--fs-small)}.ncl-skin.ncl-utility-header .ncl-wordmark .elementor-heading-title{font-size:1.2rem}.ncl-skin.ncl-utility-header .ncl-header>.ncl-icons.e-con{gap:0}}
