/* NANROBOT storefront presentation layer */
:root{
  --nr-bg:#050608;
  --nr-surface:#0b0f14;
  --nr-surface-2:#10151c;
  --nr-line:#232a33;
  --nr-text:#f7f8fa;
  --nr-muted:#aeb6c1;
  --nr-red:#e31d2b;
  --nr-red-2:#f02a38;
  --nr-radius:18px;
  --nr-shadow:0 16px 44px rgba(0,0,0,.22);
}

html{scroll-behavior:smooth}
body,
button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{background:var(--nr-bg);color:var(--nr-text)}

/* Type hierarchy */
h1,h2,h3,h4,.nr-hero-title,.nr-page-title,.entry-title{
  letter-spacing:-.035em;
  text-wrap:balance;
}
h1,.nr-page-title,.nr-hero-title{font-weight:800}
h2{font-weight:760}
p,.nr-section-head p,.nr-page-hero p{color:var(--nr-muted)}

/* Header */
.nr-announcement{background:#0c1015;border-bottom:1px solid #1d232b}
.nr-announcement-inner{min-height:34px;gap:34px;font-size:13px;white-space:nowrap}
.nr-header{background:#000;border-bottom:1px solid #1d232b}
.nr-nav{min-height:70px}
.nr-logo-image img,.custom-logo{display:block;width:auto;max-width:210px;height:auto}
.nr-actions{gap:8px}
.nr-icon-btn{width:44px;height:44px;border-radius:14px}
.nr-header-order{min-height:44px;padding:0 18px}
.nr-cart-count{font-size:11px;min-width:19px;height:19px;line-height:19px}

/* Buttons */
.nr-btn,.button,button.button,input.button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  min-height:48px;
  border-radius:14px;
  font-weight:750;
  letter-spacing:-.01em;
}
.nr-btn-primary,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--nr-red)!important;
  border-color:var(--nr-red)!important;
  color:#fff!important;
}
.nr-btn-primary:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--nr-red-2)!important;
}

/* Sections */
.nr-section{padding-top:72px;padding-bottom:72px}
.nr-section-head{margin-bottom:28px}
.nr-section-head h2{line-height:1.02}
.nr-eyebrow{letter-spacing:.16em;font-size:12px}

/* Product cards */
.nr-product-grid{gap:18px}
.nr-product-card{
  overflow:hidden;
  border:1px solid var(--nr-line);
  border-radius:var(--nr-radius);
  background:var(--nr-surface);
  box-shadow:none;
}
.nr-product-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
  padding:18px;
  background:linear-gradient(180deg,#0e1319 0%,#090c10 100%);
}
.nr-product-media img{
  width:100%;
  height:290px;
  object-fit:contain;
  object-position:center;
  transform:none!important;
}
.nr-product-body{padding:20px}
.nr-product-title{font-size:19px;line-height:1.2;margin:0 0 10px}
.nr-product-price{font-size:24px;line-height:1.1;font-weight:800;margin:0 0 16px}
.nr-product-price del{opacity:.55;font-size:.72em;font-weight:600;margin-right:7px}
.nr-product-specs{gap:10px;margin-top:12px;margin-bottom:18px}
.nr-product-specs span{font-size:12px;color:#89929e}
.nr-product-specs b{font-size:14px;color:#f4f6f8;line-height:1.25}
.nr-card-cta{width:100%;justify-content:center}
.nr-stock-badge,.nr-badge{border-radius:999px;font-size:11px;letter-spacing:.02em}

/* WooCommerce product page */
.single-product div.product{align-items:start}
.single-product .product_title{line-height:1.06;margin-bottom:12px}
.single-product .summary .price{font-size:30px;font-weight:800}
.single-product .woocommerce-product-gallery{border-radius:20px;overflow:hidden}
.single-product form.cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.single-product form.cart .single_add_to_cart_button{flex:1;min-width:210px}
.woocommerce-product-details__short-description{font-size:16px;line-height:1.58}

/* Checkout */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout #order_review,
.woocommerce-cart .cart_totals{
  border-radius:20px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  min-height:50px;
  border-radius:12px;
}

/* Comparator: keep data usable on narrow screens */
body.page-template-page-compare,
body[class*="compare"]{overflow-x:hidden}
.nr-compare-wrap,.nr-comparison-wrap,.nr-table-wrap,.woocommerce .shop_table_responsive{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.nr-compare-table,.nr-comparison-table,body[class*="compare"] table{
  border-collapse:separate;
  border-spacing:0;
}
body[class*="compare"] table th,
body[class*="compare"] table td{min-width:180px}
body[class*="compare"] table th:first-child,
body[class*="compare"] table td:first-child{
  position:sticky;
  left:0;
  z-index:2;
  min-width:116px;
  background:#080b0f;
}

/* Direct-purchase mobile bar */
.nr-mobile-buybar{display:none}

@media (max-width: 900px){
  .nr-primary-nav{font-size:14px}
  .nr-section{padding-top:52px;padding-bottom:52px}
}

@media (max-width: 767px){
  body{font-size:16px}
  h1,.nr-page-title,.nr-hero-title{font-size:clamp(34px,9.4vw,42px)!important;line-height:.98!important}
  h2{font-size:clamp(27px,7.4vw,32px)!important;line-height:1.03!important}
  h3{font-size:19px}

  .nr-container{padding-left:18px;padding-right:18px}
  .nr-announcement{height:34px;overflow:hidden}
  .nr-announcement-inner{height:34px;min-height:34px;justify-content:center;position:relative;overflow:hidden}
  .nr-announcement-inner>span{display:none;font-size:12px;line-height:34px;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .nr-announcement-inner>span.is-active{display:block}
  .nr-header{position:sticky;top:0;z-index:90}
  .admin-bar .nr-header{top:46px}
  .nr-nav{min-height:64px;padding-top:7px;padding-bottom:7px}
  .nr-logo-image{display:flex;align-items:center;min-width:0}
  .nr-logo-image img,.custom-logo{max-width:168px;max-height:44px;object-fit:contain}
  .nr-actions{margin-left:auto;gap:7px}
  .nr-icon-btn{width:42px;height:42px;border-radius:13px}
  .nr-icon-btn svg{width:21px;height:21px}
  .nr-account-btn,.nr-header-order{display:none!important}

  .nr-page-hero,.nr-hero{padding-top:42px!important;padding-bottom:42px!important;min-height:auto!important}
  .nr-page-hero .nr-container,.nr-hero .nr-container{gap:18px!important}
  .nr-page-hero p,.nr-hero p{font-size:16px;line-height:1.52;max-width:34rem}
  .nr-eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:13px}
  .nr-section{padding-top:42px;padding-bottom:42px}
  .nr-section-head{display:block;margin-bottom:20px}
  .nr-section-head p{font-size:15px;line-height:1.5;margin-top:10px}

  .nr-product-grid{grid-template-columns:1fr!important;gap:14px}
  .nr-product-card{display:grid;grid-template-columns:41% 59%;min-height:184px;border-radius:18px}
  .nr-product-media{min-height:184px;padding:12px;border-radius:0;background:#0c1117}
  .nr-product-media img{height:160px;max-height:160px;width:100%;object-fit:contain}
  .nr-product-body{padding:16px 16px 15px 14px;display:flex;flex-direction:column;justify-content:center;min-width:0}
  .nr-product-title{font-size:16px;line-height:1.22;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .nr-product-price{font-size:21px;margin-bottom:10px;white-space:normal}
  .nr-product-specs{display:none!important}
  .nr-card-cta{min-height:auto;width:auto;align-self:flex-start;padding:0;background:transparent!important;border:0!important;color:#fff!important;text-decoration:underline;text-underline-offset:4px;font-size:13px}
  .nr-stock-badge,.nr-badge{top:10px!important;left:10px!important;font-size:9px;padding:5px 7px}

  /* Product pages become purchase-first */
  .single-product .site-main,.single-product main{padding-bottom:88px}
  .single-product div.product{display:block!important}
  .single-product .woocommerce-product-gallery{margin-bottom:18px!important}
  .single-product .product_title{font-size:28px!important;line-height:1.05!important}
  .single-product .summary .price{font-size:27px!important}
  .single-product form.cart{margin-bottom:16px}
  .single-product form.cart .quantity{min-width:78px}
  .single-product .woocommerce-tabs{margin-top:34px}

  .nr-mobile-buybar{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:9998;
    display:flex;
    gap:12px;
    align-items:center;
    padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
    background:rgba(5,6,8,.96);
    border-top:1px solid #242a32;
    backdrop-filter:blur(14px);
    box-shadow:0 -12px 34px rgba(0,0,0,.28);
  }
  .nr-mobile-buybar__price{font-weight:800;font-size:18px;line-height:1.05;white-space:nowrap}
  .nr-mobile-buybar__button{flex:1;display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:13px;background:var(--nr-red);color:#fff!important;text-decoration:none;font-weight:800;font-size:15px}

  /* Comparator gets compact top area and touch-friendly horizontal data */
  body[class*="compare"] .nr-page-hero,
  body.page-template-page-compare .nr-page-hero{padding-top:36px!important;padding-bottom:28px!important}
  body[class*="compare"] .nr-page-hero h1,
  body.page-template-page-compare .nr-page-hero h1{font-size:35px!important;max-width:12ch}
  body[class*="compare"] .nr-product-grid,
  body.page-template-page-compare .nr-product-grid{
    display:flex!important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    padding-bottom:6px;
  }
  body[class*="compare"] .nr-product-card,
  body.page-template-page-compare .nr-product-card{
    flex:0 0 82vw;
    scroll-snap-align:start;
  }
  body[class*="compare"] table,
  body.page-template-page-compare table{font-size:13px}
  body[class*="compare"] table th,
  body[class*="compare"] table td,
  body.page-template-page-compare table th,
  body.page-template-page-compare table td{padding:12px 10px;min-width:168px}
  body[class*="compare"] table th:first-child,
  body[class*="compare"] table td:first-child,
  body.page-template-page-compare table th:first-child,
  body.page-template-page-compare table td:first-child{min-width:108px;max-width:108px}

  .nr-footer{padding-bottom:84px}
}

@media (max-width: 390px){
  .nr-container{padding-left:14px;padding-right:14px}
  .nr-logo-image img,.custom-logo{max-width:154px}
  .nr-product-card{grid-template-columns:39% 61%}
  .nr-product-media img{height:148px}
  .nr-product-title{font-size:15px}
  .nr-product-price{font-size:19px}
}

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

/* NANROBOT — Professional Typography */
html,
body,
button,
input,
select,
textarea {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;
}

body {
    font-weight: 400 !important;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.nrgm-home-hero h1,
.nrgm-section h2,
.nr-section h2,
.nr-product-title {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-weight: 700 !important;
    letter-spacing: -0.035em !important;
}

.nrgm-home-hero h1 {
    font-size: clamp(34px, 8vw, 62px) !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -0.045em !important;
}

.nrgm-home-hero p,
.nr-product-specs,
.nr-product-body p,
.nr-section p,
.nrgm-section p {
    font-weight: 400 !important;
    line-height: 1.55 !important;
    letter-spacing: -0.012em !important;
}

.nr-product-title,
.nr-product-title a {
    font-weight: 650 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
}

.nr-product-price,
.price,
.woocommerce-Price-amount {
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
}

.nr-btn,
.nrgm-btn,
button,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Text",
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif !important;

    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

.nr-eyebrow,
.nrgm-eyebrow,
.kicker {
    font-weight: 650 !important;
    letter-spacing: 0.14em !important;
}

@media (max-width: 767px) {

    .nrgm-home-hero h1 {
        font-size: 34px !important;
        line-height: 1.04 !important;
        letter-spacing: -0.042em !important;
    }

    .nrgm-section h2,
    .nr-section h2 {
        font-size: 28px !important;
        line-height: 1.08 !important;
        letter-spacing: -0.035em !important;
    }

    .nr-product-title,
    .nr-product-title a {
        font-size: 17px !important;
        line-height: 1.2 !important;
    }

    body,
    p,
    .nr-product-specs {
        font-size: 16px;
    }
}

