/*
Theme Name: Nortechna
Description: Nortechna custom technology storefront child theme. Brand system v1.0.
Author: Nortechna
Version: 0.5.3
Template: twentytwentyfive
Requires at least: 6.6
Text Domain: nortechna
*/
/* Shop/category/brand archive grids. Cart, product details and carousels are excluded. */
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products,
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main .wp-block-woocommerce-product-collection:not(.is-product-collection-layout-carousel) .wc-block-product-template {
  display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px; list-style:none; padding:0;
}
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products::before,
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products::after { display:none; }
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products>li.product,
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main .wp-block-woocommerce-product-collection:not(.is-product-collection-layout-carousel) .wc-block-product-template>li {
  float:none; clear:none; width:auto!important; max-width:100%; min-width:0; margin:0!important; box-sizing:border-box;
}
@media(max-width:1279px) {
  :is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products,
  :is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main .wp-block-woocommerce-product-collection:not(.is-product-collection-layout-carousel) .wc-block-product-template { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media(max-width:999px) {
  :is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products,
  :is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main .wp-block-woocommerce-product-collection:not(.is-product-collection-layout-carousel) .wc-block-product-template { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:600px) {
  :is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main ul.products,
  :is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main .wp-block-woocommerce-product-collection:not(.is-product-collection-layout-carousel) .wc-block-product-template { grid-template-columns:minmax(0,1fr)!important; }
}
:root{--nt-navy:#102a43;--nt-action:#1555b5;--nt-cyan:#26d3e8;--nt-canvas:#f3f6fa;--nt-white:#fff;--nt-muted:#42576a;--nt-border:#c9d5e0}
/* Classic product summary only; retain native gallery, tabs and commerce behaviour. */
body.single-product main .wp-block-post-title,
body.single-product div.product .summary .product_title {
  font-size:clamp(28px,3vw,42px);line-height:1.18;letter-spacing:-.025em;
  overflow-wrap:anywhere;margin:0 0 24px;
}
body.single-product .nt-product-summary,
body.single-product div.product .woocommerce-product-details__short-description {
  font-size:18px;line-height:1.65;overflow-wrap:anywhere;
}
body.single-product .nt-product-summary p,
body.single-product div.product .woocommerce-product-details__short-description p {
  display:block;margin:0 0 16px;
}
body.single-product .nt-product-summary p:last-child,
body.single-product div.product .woocommerce-product-details__short-description p:last-child {margin-bottom:0}
body{background:var(--nt-white);color:var(--nt-navy);font-family:Arial,Helvetica,sans-serif}
.wp-site-blocks{padding-top:0;padding-bottom:0}.wp-site-blocks>header,.wp-site-blocks>footer{margin-block-start:0}
.wp-site-blocks>main,.nt-commerce-content{padding:44px 24px 64px;min-height:50vh}
.wp-block-post-title,.woocommerce-products-header__title{font-size:clamp(34px,4vw,56px);letter-spacing:-.035em;line-height:1.15}
.woocommerce-breadcrumb{font-size:14px;color:var(--nt-muted)}.woocommerce a,.wp-block-woocommerce-cart a{color:var(--nt-action)}
.woocommerce-result-count,.woocommerce-ordering{font-size:14px}
.woocommerce select,.woocommerce input:not([type=checkbox]):not([type=radio]):not([type=submit]),.woocommerce textarea{background:var(--nt-white);color:var(--nt-navy);border:1px solid #667c91;border-radius:5px;padding:10px;max-width:100%}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--nt-action);color:var(--nt-white);border:1px solid var(--nt-action);border-radius:5px;padding:12px 20px;font-weight:700}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--nt-navy);color:var(--nt-white)}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--nt-canvas);color:var(--nt-navy);border-top-color:var(--nt-action)}.woocommerce-error{border-top-color:#a82525}
.woocommerce ul.products li.product{background:var(--nt-white);border:1px solid var(--nt-border);border-radius:8px;padding:18px}.woocommerce ul.products li.product .price{color:var(--nt-navy)}
.wp-block-woocommerce-cart,.wp-block-woocommerce-empty-cart-block,.wp-block-woocommerce-filled-cart-block{color:var(--nt-navy);background:transparent}
.wp-block-woocommerce-cart .wp-element-button{color:var(--nt-white);background:var(--nt-action)}.wp-block-woocommerce-cart .wp-element-button:hover{background:var(--nt-navy)}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--nt-white);color:var(--nt-navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--nt-action);outline-offset:4px}
/* Shared shell: cyan is decorative; informative text uses navy or blue. */
.nt-home{background:var(--nt-white);color:var(--nt-navy);font-family:Arial,Helvetica,sans-serif;line-height:1.55;margin:0;overflow-wrap:anywhere}
.nt-home *{box-sizing:border-box}.nt-home a{color:inherit}.nt-home a:focus-visible,.nt-home summary:focus-visible{outline:3px solid var(--nt-action);outline-offset:5px}
.nt-home .nt-wrap{max-width:1280px;margin:auto;padding:0 40px}
.nt-home .nt-skip{position:absolute;left:12px;top:-120px;z-index:100000;background:var(--nt-white);color:var(--nt-navy);border:2px solid var(--nt-action);padding:12px}.nt-home .nt-skip:focus{top:12px}.admin-bar .nt-home .nt-skip:focus{top:44px}
.nt-home .nt-notice{background:var(--nt-navy);color:var(--nt-white);text-align:center;font-size:12px;letter-spacing:.06em;padding:9px 16px;font-weight:700}
.nt-home .nt-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--nt-border)}
.nt-home .nt-logo{display:inline-block;flex:0 1 auto;min-width:0;text-decoration:none}.nt-home .nt-logo picture{display:block}.nt-home .nt-logo img{display:block;width:360px;max-width:100%;height:auto}.nt-home .nt-logo-footer img{width:200px}
.nt-home .nt-nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap;font-size:14px}.nt-home .nt-nav a{text-decoration:none}.nt-home .nt-nav a:hover{color:var(--nt-action);text-decoration:underline}.nt-home .nt-nav .nt-cart{border:1px solid #667c91;padding:8px 16px;border-radius:5px}
.nt-home .nt-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;padding-top:64px;padding-bottom:76px}
.nt-home .nt-eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--nt-action);margin:0 0 20px}
.nt-home h1{font-size:clamp(40px,5vw,64px);letter-spacing:-.045em;line-height:1.08;font-weight:700;margin:0 0 24px;color:var(--nt-navy)}.nt-home h1 em{font-style:normal;color:var(--nt-action)}
.nt-home .nt-intro{font-size:18px;color:var(--nt-muted);max-width:490px;margin:0 0 30px}.nt-home .nt-actions{display:flex;gap:14px;flex-wrap:wrap}
.nt-home .nt-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:5px;padding:14px 22px;text-decoration:none;font-size:14px;font-weight:700;background:var(--nt-action);color:var(--nt-white);border:1px solid var(--nt-action)}.nt-home .nt-button:hover{background:var(--nt-navy);color:var(--nt-white)}
.nt-home .nt-button-secondary{background:var(--nt-white);color:var(--nt-navy);border-color:#667c91}.nt-home .nt-button-secondary:hover{background:var(--nt-canvas);color:var(--nt-navy)}.nt-home .nt-footnote{font-size:14px;color:var(--nt-muted);margin-top:22px}
.nt-home .nt-art{position:relative;min-height:380px;display:grid;place-items:center;background:var(--nt-navy);border-radius:12px;overflow:hidden;border-bottom:5px solid var(--nt-cyan)}.nt-home .nt-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:30px 30px}
.nt-home .nt-brand-symbol{position:relative;width:160px;height:160px}.nt-home .nt-art-label{position:absolute;bottom:24px;left:24px;right:24px;color:var(--nt-white);font-size:13px;text-align:center}.nt-home .nt-art-code{position:absolute;top:24px;left:24px;right:24px;color:var(--nt-white);font-size:12px;letter-spacing:.08em;text-align:center}
.nt-home .nt-section{padding-top:58px;padding-bottom:60px;border-top:1px solid var(--nt-border);scroll-margin-top:24px}.nt-home .nt-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.nt-home h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.035em;color:var(--nt-navy);margin:0}.nt-home .nt-section-head p{max-width:390px;font-size:14px;color:var(--nt-muted);margin:0}
.nt-home .nt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nt-home .nt-card{background:var(--nt-canvas);border:1px solid var(--nt-border);border-top:3px solid var(--nt-cyan);border-radius:8px;padding:26px;min-height:190px}
.nt-home .nt-index{display:block;color:var(--nt-action);font:12px Arial,Helvetica,sans-serif;font-weight:700;margin-bottom:24px}.nt-home .nt-card h3{font-size:21px;color:var(--nt-navy);margin:0 0 10px;letter-spacing:-.02em}.nt-home .nt-card p{font-size:16px;color:var(--nt-muted);margin:0}
.nt-home .nt-callout{display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--nt-canvas);border:1px solid var(--nt-border);padding:32px;border-radius:8px;margin-top:24px}.nt-home .nt-callout h3{font-size:24px;color:var(--nt-navy);margin:0 0 8px}.nt-home .nt-callout p{font-size:16px;color:var(--nt-muted);max-width:620px;margin:0}
.nt-home .nt-faq{max-width:900px;margin-top:28px}.nt-home details{border-bottom:1px solid var(--nt-border);padding:20px 0}.nt-home summary{cursor:pointer;font-size:17px;font-weight:600}.nt-home details p{font-size:16px;color:var(--nt-muted);margin:14px 0 0;max-width:760px}
.nt-home .nt-footer{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid var(--nt-border);padding-top:28px;padding-bottom:30px}.nt-home .nt-footer p{font-size:14px;color:var(--nt-muted);margin:0}.nt-home .nt-footer a:not(.nt-logo){font-size:14px;color:var(--nt-action)}
@media(max-width:782px){.admin-bar .nt-home .nt-skip:focus{top:58px}}
@media(max-width:900px){.nt-home .nt-wrap{padding-left:24px;padding-right:24px}.nt-home .nt-header{flex-wrap:wrap}.nt-home .nt-hero{gap:28px;padding-top:44px;padding-bottom:44px}.nt-home .nt-art{min-height:340px}.nt-home .nt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nt-home .nt-nav{gap:18px}}
@media(max-width:600px){.wp-site-blocks>main,.nt-commerce-content{padding:28px 20px 44px}.woocommerce-ordering,.woocommerce-result-count{float:none!important;width:100%}.woocommerce table.shop_table{font-size:14px}.nt-home .nt-wrap{padding-left:20px;padding-right:20px}.nt-home .nt-header{align-items:flex-start;flex-direction:column;gap:16px}.nt-home .nt-logo img{width:240px}.nt-home .nt-logo-footer img{width:200px}.nt-home .nt-nav{gap:18px;font-size:14px}.nt-home .nt-hero{grid-template-columns:1fr;padding-top:36px;gap:32px}.nt-home .nt-art{min-height:280px}.nt-home .nt-brand-symbol{width:128px;height:128px}.nt-home .nt-section{padding-top:36px;padding-bottom:36px}.nt-home .nt-section-head,.nt-home .nt-callout{align-items:flex-start;flex-direction:column}.nt-home .nt-grid{grid-template-columns:1fr}.nt-home .nt-card{min-height:0;padding:24px}.nt-home .nt-index{margin-bottom:14px}.nt-home .nt-callout{padding:24px}.nt-home .nt-button{padding:13px 18px}.nt-home .nt-footer{align-items:flex-start;flex-direction:column}.admin-bar .nt-home .nt-skip:focus{top:58px}}

/* Supplier-facing sections use the existing brand system and local contact links. */
.nt-home .nt-card h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.nt-home .nt-card h3 a:hover{color:var(--nt-action)}
.nt-home .nt-contact-note{font-size:14px;color:var(--nt-muted);max-width:760px}
.nt-home #nt-contact a{color:var(--nt-action);overflow-wrap:anywhere}

/* Keep block catalog button labels readable when global link colours cascade. */
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main a.wc-block-components-product-button__button {
  color:var(--nt-white)!important;background-color:var(--nt-action);
}
:is(body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand) main a.wc-block-components-product-button__button * {
  color:inherit!important;
}
