/*
 * Nortei Solar Core · Frontend CSS module
 * File: 40-sections-cards-contact.css
 * Purpose: Secciones home, categorías, cards, servicios, contacto y refinamientos generales.
 * Note: module order is intentional; preserve enqueue order unless testing the full cascade.
 */

.nsrm-category-card {
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05) !important;
  transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow: hidden;
}

.nsrm-category-card__overlay {
  background: linear-gradient(180deg, rgba(8, 17, 31, 0) 0%, rgba(8, 17, 31, 0.85) 100%) !important;
  backdrop-filter: blur(2px);
  transition: background 0.6s ease;
}

.nsrm-category-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 30px 60px rgba(12, 79, 138, 0.2) !important;
  border-color: rgba(250, 181, 25, 0.4) !important;
}

.nsrm-category-card:hover .nsrm-category-card__overlay {
  background: linear-gradient(180deg, rgba(8, 17, 31, 0.2) 0%, rgba(8, 17, 31, 0.95) 100%) !important;
}

.nsrm-product-card,
.woocommerce ul.products li.product {
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(12, 79, 138, 0.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03) !important;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative;
  z-index: 1;
}

.nsrm-product-card:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 48px rgba(12, 79, 138, 0.12), 0 0 0 1px rgba(250, 181, 25, 0.2) inset !important;
  border-color: rgba(250, 181, 25, 0.3) !important;
  z-index: 2;
}

.nsrm-product-card__image-wrap {
  background: transparent !important;
}

.nsrm-btn--cart {
  background: linear-gradient(135deg, #f8fafc, #eef5fb) !important;
  border: 1px solid rgba(12, 79, 138, 0.12) !important;
  transition: all 0.4s ease !important;
}

.nsrm-btn--cart:hover {
  background: #fff !important;
  border-color: var(--nsrm-blue) !important;
  box-shadow: 0 8px 20px rgba(12, 79, 138, 0.1) !important;
}

.nsrm-service-card {
  background: #ffffff !important;
  border: 1px solid rgba(12, 79, 138, 0.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03) !important;
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.nsrm-service-card::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--nsrm-blue), var(--nsrm-gold)) !important;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.nsrm-service-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 48px rgba(12, 79, 138, 0.12) !important;
}

.nsrm-service-card:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.nsrm-contact-card {
  background: linear-gradient(135deg, #0b1727 0%, #16263a 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 24px 50px rgba(8, 17, 31, 0.4) !important;
  border-radius: 30px !important;
  position: relative;
  overflow: hidden;
}

.nsrm-contact-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.04), transparent);
  transform: skewX(-20deg);
  transition: left 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.nsrm-contact-card:hover::after {
  left: 200%;
}

.nsrm-contact-form-shell {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(12, 79, 138, 0.1) !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.06) !important;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.nsrm-contact-form-shell:hover {
  transform: translateY(-4px);
}

.nsrm-contact-form input,
.nsrm-contact-form textarea {
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.1) !important;
  border-radius: 16px !important;
  transition: all 0.3s ease !important;
}

.nsrm-contact-form input:focus,
.nsrm-contact-form textarea:focus {
  background: #ffffff !important;
  border-color: var(--nsrm-blue) !important;
  box-shadow: 0 0 0 4px rgba(12, 79, 138, 0.1) !important;
  outline: none !important;
}

:root{
  --nsrm156-blue: var(--nsrm-blue, #0c4f8a);
  --nsrm156-gold: var(--nsrm-gold, #fab519);
  --nsrm156-ink: #13314f;
  --nsrm156-muted: #5f7690;
  --nsrm156-line: #d9e5f1;
  --nsrm156-surface: #ffffff;
  --nsrm156-surface-soft: #f6fbff;
  --nsrm156-shadow: 0 18px 40px rgba(12,79,138,.10);
  --nsrm156-radius: 24px;
}

.nsrm-products-section,
.nsrm-category-section{
  max-width: 1280px;
  margin: clamp(28px, 4vw, 54px) auto !important;
  padding: 0 clamp(16px, 3vw, 24px) !important;
}

.nsrm-section-heading{
  margin-bottom: clamp(18px, 2vw, 28px) !important;
}

.nsrm-section-heading h2,
.nsrm-products-section .nsrm-section-heading h2,
.nsrm-category-section .nsrm-section-heading h2{
  color: var(--nsrm156-blue) !important;
  font-size: clamp(2rem, 3.4vw, 3.2rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

body.admin-bar .nsrm-custom-header__bottom,
.admin-bar .nsrm-custom-header__bottom{
  top: var(--nsrm-sticky-top, 32px) !important;
}

.nsrm-slider-frame{
  position: relative;
}

.nsrm-slider-shell--products,
.nsrm-slider-shell--categories{
  overflow: hidden !important;
}

.nsrm-products-grid[data-nsrm-slider-track],
.nsrm-category-grid[data-nsrm-slider-track]{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 24px !important;
  transition: transform 420ms cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

.nsrm-slider-nav{
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.nsrm-slider-arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(12,79,138,.14) !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--nsrm156-blue) !important;
  box-shadow: 0 10px 24px rgba(12,79,138,.14) !important;
  pointer-events: auto;
  transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease !important;
}

.nsrm-slider-arrow:hover,
.nsrm-slider-arrow:focus-visible{
  transform: translateY(-50%) scale(1.04);
  box-shadow: 0 16px 30px rgba(12,79,138,.18) !important;
}

.nsrm-slider-arrow--prev{ left: -14px; }
.nsrm-slider-arrow--next{ right: -14px; }
.nsrm-slider-arrow.is-hidden,
.nsrm-slider-shell.is-static + .nsrm-slider-nav .nsrm-slider-arrow,
.nsrm-slider-shell.is-static ~ .nsrm-slider-nav .nsrm-slider-arrow,
.nsrm-slider-shell.is-static .nsrm-slider-arrow{
  opacity: 0 !important;
  pointer-events: none !important;
}

.nsrm-slider-footer,
.nsrm-slider-arrows{
  display: none !important;
}

.nsrm-products-slide,
.nsrm-category-grid > .nsrm-category-card{
  flex: 0 0 auto;
}

.nsrm-product-card,
.woocommerce ul.products li.product .nsrm-product-card{
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
  background: linear-gradient(180deg, #fbfdff 0%, #f6fbff 100%) !important;
  border: 1px solid var(--nsrm156-line) !important;
  border-radius: var(--nsrm156-radius) !important;
  box-shadow: 0 12px 32px rgba(12,79,138,.08) !important;
  overflow: hidden !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.nsrm-product-card::before,
.nsrm-product-card::after,
.woocommerce ul.products li.product .nsrm-product-card::before,
.woocommerce ul.products li.product .nsrm-product-card::after,
.nsrm-product-card__image-wrap::before,
.nsrm-product-card__image-wrap::after{
  display: none !important;
  content: none !important;
}

.nsrm-product-card:hover,
.woocommerce ul.products li.product .nsrm-product-card:hover{
  transform: translateY(-4px);
  border-color: rgba(12,79,138,.22) !important;
  box-shadow: 0 20px 40px rgba(12,79,138,.14) !important;
}

.nsrm-product-card__image-wrap,
.woocommerce ul.products li.product .nsrm-product-card__image-wrap{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 220px !important;
  padding: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(217,229,241,.95) !important;
}

.nsrm-product-card__image-wrap img,
.nsrm-product-card__image,
.woocommerce ul.products li.product .nsrm-product-card__image,
.woocommerce ul.products li.product .nsrm-product-card__image-wrap img{
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: auto !important;
  max-width: 92% !important;
  height: auto !important;
  max-height: 188px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.nsrm-product-card__image.is-secondary,
.woocommerce ul.products li.product .nsrm-product-card__image.is-secondary{
  display: none !important;
}

.nsrm-product-card__discount{
  right: 14px !important;
  top: 14px !important;
  min-width: 74px !important;
  padding: 12px 8px !important;
  border-radius: 20px !important;
  background: var(--nsrm156-gold) !important;
  color: var(--nsrm156-blue) !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 26px rgba(250,181,25,.34) !important;
}

.nsrm-product-card__discount small{
  margin-top: 4px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

.nsrm-product-card__body{
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  flex: 1 1 auto !important;
  padding: 18px 18px 18px !important;
}

.nsrm-product-card__copy{
  display: grid;
  grid-template-rows: auto auto minmax(2.6em, auto) 34px minmax(50px, auto);
  row-gap: 10px;
}

.nsrm-product-card__eyebrow{
  display: block;
  margin: 0 !important;
  color: #3a6da5 !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.nsrm-product-card__price,
.nsrm-product-card__price .price,
.nsrm-product-card__price ins,
.nsrm-product-card__price .amount,
.nsrm-product-card__price bdi{
  margin: 0 !important;
  color: var(--nsrm156-blue) !important;
  font-size: clamp(1.85rem, 2.2vw, 2.5rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.nsrm-product-card__price del,
.nsrm-product-card__price del .amount,
.nsrm-product-card__price del bdi{
  display: block;
  margin-bottom: 4px !important;
  color: #98a9bc !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
}

.nsrm-product-card__name,
.woocommerce ul.products li.product .nsrm-product-card__name{
  margin: 0 !important;
  color: var(--nsrm156-ink) !important;
  font-size: 1.04rem !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  text-align: center !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.nsrm-product-card__name a{ color: inherit !important; text-decoration: none !important; }

.nsrm-product-card__badge-slot{
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nsrm-product-card__badge{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  background: #eaf3fb !important;
  color: var(--nsrm156-blue) !important;
  font-size: .9rem !important;
  font-weight: 800 !important;
}

.nsrm-product-card__badge--ghost{
  visibility: hidden;
}

.nsrm-product-card__meta{
  min-height: 50px;
  display: grid;
  align-content: start;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
}

.nsrm-product-card__meta-line{
  display: block;
  margin: 0 !important;
  text-align: center !important;
}

.nsrm-product-card__meta-line--installments{
  color: var(--nsrm156-muted) !important;
  font-size: .96rem !important;
  line-height: 1.45 !important;
}

.nsrm-product-card__meta-line--availability{
  color: var(--nsrm156-blue) !important;
  font-size: .98rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.nsrm-product-card__meta-line.is-empty{
  visibility: hidden;
}

.nsrm-card-actions{
  margin-top: auto !important;
  padding: 0 !important;
}

.nsrm-card-actions__grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px !important;
  margin-bottom: 10px;
}

.nsrm-btn,
.woocommerce ul.products li.product .button,
.woocommerce a.added_to_cart{
  min-height: 48px !important;
  border-radius: 16px !important;
  font-size: .92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.nsrm-btn--blue,
.nsrm-btn--cart,
.nsrm-card-actions .nsrm-btn{
  box-shadow: none !important;
}

.nsrm-btn--blue{ background: var(--nsrm156-blue) !important; color:#fff !important; }
.nsrm-btn--cart{ background: #fff !important; color: var(--nsrm156-blue) !important; border:1px solid #c4d8ea !important; }
.nsrm-btn--whatsapp{ background:#25d366 !important; color:#fff !important; }

.woocommerce ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.woocommerce ul.products li.product{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.nsrm-category-card{
  position: relative;
  display: block !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  min-height: 280px !important;
  border: 1px solid rgba(12,79,138,.12) !important;
  box-shadow: 0 16px 34px rgba(12,79,138,.08) !important;
}

.nsrm-category-card__image,
.nsrm-category-card__image--fallback{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.nsrm-category-card__overlay{
  background: linear-gradient(180deg, rgba(8, 21, 40, 0) 0%, rgba(8, 21, 40, .18) 58%, rgba(8, 21, 40, .62) 100%) !important;
}

.nsrm-category-card__content{
  inset: auto 18px 18px 18px !important;
  text-align: left !important;
}

.nsrm-category-card__content strong{
  margin: 0 !important;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.nsrm-contact-section{
  max-width: 1280px;
  margin: clamp(32px, 4vw, 56px) auto !important;
  padding: 0 clamp(16px, 3vw, 24px) !important;
}

.nsrm-contact-card{
  background: linear-gradient(180deg, #0c4f8a 0%, #0a3f70 100%) !important;
  color: #fff !important;
}

.nsrm-contact-card h2,
.nsrm-contact-card p,
.nsrm-contact-card__data a,
.nsrm-contact-card__branch-note,
.nsrm-contact-card__branch-note a{
  color: rgba(255,255,255,.96) !important;
}

.single-product div.product .summary{
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid var(--nsrm156-line);
  border-radius: 26px;
  box-shadow: var(--nsrm156-shadow);
  padding: clamp(24px, 3vw, 34px);
}

.single-product div.product .product_title{
  color: var(--nsrm156-ink) !important;
  font-size: clamp(2rem, 3vw, 3.2rem) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
}

.single-product div.product p.price,
.single-product div.product span.price{
  color: var(--nsrm156-blue) !important;
  font-size: clamp(1.9rem, 2.2vw, 2.6rem) !important;
  font-weight: 900 !important;
}

.single-product .quantity .qty,
.single-product .quantity button,
.single-product button.single_add_to_cart_button{
  min-height: 50px !important;
  border-radius: 14px !important;
}

.single-product button.single_add_to_cart_button{
  background: var(--nsrm156-blue) !important;
  color: #fff !important;
}

.nsrm-single-whatsapp-btn{
  min-height: 54px !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 28px rgba(37,211,102,.18) !important;
}

.nsrm-product-accordion{
  display: grid !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

.nsrm-product-accordion__item{
  border: 1px solid var(--nsrm156-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 8px 18px rgba(12,79,138,.06) !important;
}

.nsrm-product-accordion__button{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 18px 22px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  color: var(--nsrm156-blue) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  border: 0 !important;
}

.nsrm-product-accordion__button:hover,
.nsrm-product-accordion__button:focus-visible,
.nsrm-product-accordion__item.is-open .nsrm-product-accordion__button{
  background: linear-gradient(180deg, #f4f9ff 0%, #eef6ff 100%) !important;
}

.nsrm-product-accordion__icon{
  position: relative;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border-radius: 999px !important;
  background: rgba(12,79,138,.10) !important;
}

.nsrm-product-accordion__icon::before,
.nsrm-product-accordion__icon::after{
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--nsrm156-blue);
  border-radius: 99px;
  transform: translate(-50%, -50%);
}

.nsrm-product-accordion__icon::after{
  width: 2px;
  height: 14px;
}

.nsrm-product-accordion__item.is-open .nsrm-product-accordion__icon::after,
.nsrm-product-accordion__button[aria-expanded="true"] .nsrm-product-accordion__icon::after{
  transform: translate(-50%, -50%) scaleY(0);
}

.nsrm-product-accordion__content{
  padding: 0 22px 22px !important;
  color: var(--nsrm156-ink) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

.nsrm-product-accordion__content img,
.nsrm-product-accordion__content figure img{
  border-radius: 14px !important;
  background: #fff !important;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message,
.nsrm-contact-notice{
  border: 1px solid rgba(12,79,138,.16) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
  color: var(--nsrm156-ink) !important;
  box-shadow: 0 12px 28px rgba(12,79,138,.08) !important;
}

.woocommerce-message a,
.nsrm-contact-notice a{ color: var(--nsrm156-blue) !important; font-weight: 700 !important; }

@media (max-width: 1400px){
  .woocommerce ul.products{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1199px){
  .nsrm-slider-arrow{ width:48px !important; height:48px !important; min-width:48px !important; }
  .nsrm-slider-arrow--prev{ left: -8px; }
  .nsrm-slider-arrow--next{ right: -8px; }
  .woocommerce ul.products{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .nsrm-products-grid[data-nsrm-slider-track],
  .nsrm-category-grid[data-nsrm-slider-track]{ gap: 18px !important; }
}

@media (max-width: 991px){
  .nsrm-product-card__image-wrap,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap{ min-height: 190px !important; }
  .nsrm-product-card__image-wrap img,
  .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap img{ max-height: 160px !important; }
  .nsrm-product-card__body{ padding: 16px !important; }
  .woocommerce ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .single-product div.product .summary{ padding: 22px; }
}

@media (max-width: 767px){
  .nsrm-products-section,
  .nsrm-category-section,
  .nsrm-contact-section{ padding: 0 16px !important; }
  .nsrm-slider-nav{ display: none !important; }
  .nsrm-products-grid[data-nsrm-slider-track],
  .nsrm-category-grid[data-nsrm-slider-track]{ gap: 14px !important; }
  .nsrm-product-card__image-wrap,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap{ min-height: 164px !important; }
  .nsrm-product-card__image-wrap img,
  .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap img{ max-height: 138px !important; }
  .nsrm-product-card__body{ gap: 12px !important; padding: 14px !important; }
  .nsrm-product-card__copy{ row-gap: 8px; }
  .nsrm-btn,
  .woocommerce ul.products li.product .button,
  .woocommerce a.added_to_cart{ min-height: 44px !important; font-size: .88rem !important; }
  .woocommerce ul.products{ grid-template-columns: 1fr !important; gap: 16px !important; }
  .nsrm-category-card{ min-height: 220px !important; }
  .single-product div.product .summary{ padding: 18px; border-radius: 20px; }
  .nsrm-product-accordion__button{ padding: 16px 18px !important; }
  .nsrm-product-accordion__content{ padding: 0 18px 18px !important; }
}

:root{
  --nsrm157-card-radius: 22px;
  --nsrm157-card-line: #d8e4ef;
  --nsrm157-card-shadow: 0 10px 26px rgba(12,79,138,.08);
  --nsrm157-card-shadow-hover: 0 16px 32px rgba(12,79,138,.12);
}

.nsrm-products-section,
.nsrm-category-section,
.nsrm-contact-section{
  max-width: 1220px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.nsrm-products-slide,
.woocommerce ul.products li.product{
  display: flex !important;
  align-self: stretch !important;
  min-width: 0 !important;
}

.nsrm-products-slide > .nsrm-product-card,
.woocommerce ul.products li.product > .nsrm-product-card{
  width: 100% !important;
}

.nsrm-product-card,
.woocommerce ul.products li.product > .nsrm-product-card{
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 100% !important;
  background: linear-gradient(180deg, #fbfdff 0%, #f6fbff 100%) !important;
  border: 1px solid var(--nsrm157-card-line) !important;
  border-radius: var(--nsrm157-card-radius) !important;
  box-shadow: var(--nsrm157-card-shadow) !important;
  overflow: hidden !important;
  transform: none !important;
}

.nsrm-product-card:hover,
.woocommerce ul.products li.product > .nsrm-product-card:hover{
  transform: translateY(-2px) !important;
  box-shadow: var(--nsrm157-card-shadow-hover) !important;
}

.nsrm-product-card__image-wrap,
.woocommerce ul.products li.product .nsrm-product-card__image-wrap{
  min-height: 188px !important;
  padding: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(216,228,239,.95) !important;
}

.nsrm-product-card__image-wrap img,
.nsrm-product-card__image,
.woocommerce ul.products li.product .nsrm-product-card__image,
.woocommerce ul.products li.product .nsrm-product-card__image-wrap img{
  max-width: 100% !important;
  width: auto !important;
  max-height: 164px !important;
  object-fit: contain !important;
}

.nsrm-product-card__discount{
  top: 12px !important;
  right: 12px !important;
  min-width: 68px !important;
  padding: 10px 8px !important;
  border-radius: 18px !important;
  font-size: 1.2rem !important;
}

.nsrm-product-card__discount small{
  font-size: .68rem !important;
}

.nsrm-product-card__body{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 14px 14px 14px !important;
}

.nsrm-product-card__copy{
  display: grid !important;
  grid-template-rows: auto auto minmax(2.4em, auto) 30px minmax(34px, auto) !important;
  row-gap: 8px !important;
}

.nsrm-product-card__eyebrow{
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.nsrm-product-card__price,
.nsrm-product-card__price .price,
.nsrm-product-card__price ins,
.nsrm-product-card__price .amount,
.nsrm-product-card__price bdi{
  font-size: clamp(1.5rem, 1.6vw, 2rem) !important;
  line-height: 1.02 !important;
}

.nsrm-product-card__price del,
.nsrm-product-card__price del .amount,
.nsrm-product-card__price del bdi{
  font-size: .9rem !important;
  margin-bottom: 2px !important;
}

.nsrm-product-card__name,
.woocommerce ul.products li.product .nsrm-product-card__name{
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  min-height: 2.44em !important;
}

.nsrm-product-card__badge-slot{
  min-height: 30px !important;
}

.nsrm-product-card__badge{
  min-height: 30px !important;
  padding: 6px 12px !important;
  font-size: .84rem !important;
}

.nsrm-product-card__meta{
  min-height: 34px !important;
  gap: 4px !important;
}

.nsrm-product-card__meta-line--installments{
  font-size: .9rem !important;
  line-height: 1.3 !important;
}

.nsrm-product-card__meta-line--availability{
  font-size: .92rem !important;
  line-height: 1.15 !important;
}

.nsrm-card-actions{
  margin-top: auto !important;
  padding: 0 !important;
}

.nsrm-card-actions__grid{
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.nsrm-btn,
.woocommerce ul.products li.product .button,
.woocommerce a.added_to_cart{
  min-height: 42px !important;
  border-radius: 14px !important;
  padding: 0 12px !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.woocommerce ul.products{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.nsrm-products-grid[data-nsrm-slider-track]{
  gap: 20px !important;
}

.single-product div.product .summary{
  border-radius: 24px !important;
  padding: clamp(22px, 2.4vw, 30px) !important;
}

.single-product div.product .product_title{
  font-size: clamp(2rem, 2.8vw, 3rem) !important;
  font-weight: 800 !important;
}

.nsrm-product-accordion{
  gap: 12px !important;
}

.nsrm-product-accordion__item{
  border-radius: 18px !important;
  box-shadow: 0 8px 20px rgba(12,79,138,.06) !important;
}

.nsrm-product-accordion__button{
  padding: 16px 18px !important;
  font-size: 1rem !important;
}

.nsrm-product-accordion__icon{
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
}

.nsrm-product-accordion__content{
  padding: 0 18px 18px !important;
  font-size: .98rem !important;
  line-height: 1.68 !important;
}

@media (max-width: 1199px){
  .woocommerce ul.products{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .nsrm-product-card__image-wrap,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap{ min-height: 176px !important; }
  .nsrm-product-card__image-wrap img,
  .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap img{ max-height: 148px !important; }
}

@media (max-width: 991px){
  .woocommerce ul.products{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .nsrm-products-grid[data-nsrm-slider-track]{ gap: 16px !important; }
  .nsrm-product-card__body{ padding: 13px !important; gap: 10px !important; }
  .nsrm-product-card__price,
  .nsrm-product-card__price .price,
  .nsrm-product-card__price ins,
  .nsrm-product-card__price .amount,
  .nsrm-product-card__price bdi{ font-size: 1.55rem !important; }
}

@media (max-width: 767px){
  .nsrm-products-section,
  .nsrm-category-section,
  .nsrm-contact-section{ padding-left: 14px !important; padding-right: 14px !important; }
  .woocommerce ul.products{ grid-template-columns: 1fr !important; gap: 16px !important; }
  .nsrm-product-card__image-wrap,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap{ min-height: 168px !important; }
  .nsrm-product-card__image-wrap img,
  .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap img{ max-height: 138px !important; }
  .nsrm-product-card__copy{ row-gap: 7px !important; }
  .nsrm-btn,
  .woocommerce ul.products li.product .button,
  .woocommerce a.added_to_cart{ min-height: 42px !important; font-size: .84rem !important; }
}

:root{
  --nsrm158-blue:#0c4f8a;
  --nsrm158-blue-dark:#083a66;
  --nsrm158-gold:#f4bc1a;
}

.nsrm-products-section .nsrm-slider-frame,
.nsrm-category-section .nsrm-slider-frame{
  position:relative;
  padding-left:56px !important;
  padding-right:56px !important;
}

.nsrm-products-section .nsrm-slider-nav,
.nsrm-category-section .nsrm-slider-nav{
  inset:0 !important;
}

.nsrm-products-section .nsrm-slider-arrow,
.nsrm-category-section .nsrm-slider-arrow{
  top:50% !important;
  transform:translateY(-50%) !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(12,79,138,.14) !important;
  box-shadow:0 10px 24px rgba(12,79,138,.14) !important;
  z-index:6 !important;
}

.nsrm-products-section .nsrm-slider-arrow--prev,
.nsrm-category-section .nsrm-slider-arrow--prev{ left:8px !important; }
.nsrm-products-section .nsrm-slider-arrow--next,
.nsrm-category-section .nsrm-slider-arrow--next{ right:8px !important; }

.nsrm-products-section .nsrm-slider-arrow:hover,
.nsrm-products-section .nsrm-slider-arrow:focus-visible,
.nsrm-category-section .nsrm-slider-arrow:hover,
.nsrm-category-section .nsrm-slider-arrow:focus-visible{
  transform:translateY(-50%) scale(1.04) !important;
}

.nsrm-product-card,
.woocommerce ul.products li.product > .nsrm-product-card{
  border-radius:22px !important;
}

.nsrm-product-card__image-wrap,
.woocommerce ul.products li.product .nsrm-product-card__image-wrap{
  min-height:170px !important;
  background:#fff !important;
}

.nsrm-product-card__image-wrap img,
.nsrm-product-card__image,
.woocommerce ul.products li.product .nsrm-product-card__image,
.woocommerce ul.products li.product .nsrm-product-card__image-wrap img{
  max-height:148px !important;
  max-width:94% !important;
}

.nsrm-product-card__body{
  gap:10px !important;
  padding:14px 14px 14px !important;
}

.nsrm-product-card__copy{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

.nsrm-product-card__eyebrow{
  font-size:.9rem !important;
  font-weight:600 !important;
}

.nsrm-product-card__price,
.nsrm-product-card__price .price,
.nsrm-product-card__price ins,
.nsrm-product-card__price .amount,
.nsrm-product-card__price bdi{
  font-size:clamp(1.35rem, 1.8vw, 1.9rem) !important;
}

.nsrm-product-card__name,
.woocommerce ul.products li.product .nsrm-product-card__name{
  font-size:.96rem !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  min-height:2.35em !important;
}

.nsrm-product-card__badge-slot,
.nsrm-product-card__meta{
  min-height:0 !important;
}

.nsrm-product-card__meta-line.is-empty,
.nsrm-product-card__badge--ghost{
  display:none !important;
}

.nsrm-btn,
.woocommerce ul.products li.product .button,
.woocommerce a.added_to_cart{
  min-height:40px !important;
  border-radius:14px !important;
  font-size:.82rem !important;
  font-weight:700 !important;
}

.nsrm-card-actions__grid{
  gap:8px !important;
  margin-bottom:8px !important;
}

.nsrm-category-card{
  background:linear-gradient(180deg,#f7fbff 0%, #eef4fa 100%) !important;
}

.nsrm-category-card__image,
.nsrm-category-card__image--fallback{
  object-fit:contain !important;
  padding:10px !important;
  background:linear-gradient(180deg,#f9fcff 0%, #eff4f9 100%) !important;
  filter:none !important;
  backdrop-filter:none !important;
  image-rendering:auto !important;
}

.nsrm-category-card__overlay{
  background:linear-gradient(180deg, rgba(8,21,40,0) 0%, rgba(8,21,40,.06) 62%, rgba(8,21,40,.42) 100%) !important;
  backdrop-filter:none !important;
}

.nsrm-category-card:hover .nsrm-category-card__image{
  transform:none !important;
}

.nsrm-values-grid{
  position:relative !important;
  isolation:isolate;
  width:min(1280px, calc(100vw - 32px)) !important;
  margin:40px auto !important;
  padding:26px !important;
  border-radius:32px !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.12) 0, rgba(255,255,255,0) 120px),
    radial-gradient(circle at 86% 72%, rgba(244,188,26,.12) 0, rgba(244,188,26,0) 180px),
    linear-gradient(135deg, #0b4a82 0%, #0b5d9f 56%, #083d6a 100%) !important;
  box-shadow:0 24px 48px rgba(8,58,102,.18) !important;
}

.nsrm-values-grid::before,
.nsrm-services-section::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.18;
}

.nsrm-services-section{
  position:relative !important;
  isolation:isolate;
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:46px 0 56px !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.10) 0, rgba(255,255,255,0) 180px),
    radial-gradient(circle at 82% 70%, rgba(244,188,26,.10) 0, rgba(244,188,26,0) 200px),
    linear-gradient(135deg, #0b4a82 0%, #0b5d9f 56%, #083d6a 100%) !important;
}

.nsrm-services-section .nsrm-section-heading,
.nsrm-services-section .nsrm-services-grid{
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

.nsrm-services-section .nsrm-section-heading h2{
  color:#fff !important;
  text-transform:none !important;
}

.nsrm-services-section .nsrm-section-heading__meta{ justify-content:center !important; }

.nsrm-services-section .nsrm-chip.is-gold{
  background:var(--nsrm158-gold) !important;
  color:var(--nsrm158-blue-dark) !important;
  box-shadow:0 10px 26px rgba(244,188,26,.24) !important;
  border:0 !important;
}

.nsrm-services-section .nsrm-service-card{
  background:rgba(255,255,255,.98) !important;
}

@media (max-width: 1199px){
  .nsrm-products-section .nsrm-slider-frame,
  .nsrm-category-section .nsrm-slider-frame{ padding-left:48px !important; padding-right:48px !important; }
}

@media (max-width: 767px){
  .nsrm-products-section .nsrm-slider-frame,
  .nsrm-category-section .nsrm-slider-frame{ padding-left:14px !important; padding-right:14px !important; }
  .nsrm-product-card__image-wrap,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap{ min-height:156px !important; }
  .nsrm-product-card__image-wrap img,
  .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image,
  .woocommerce ul.products li.product .nsrm-product-card__image-wrap img{ max-height:132px !important; }
  .nsrm-values-grid{ width:min(100vw - 24px, 1280px) !important; padding:18px !important; border-radius:24px !important; }
  .nsrm-services-section{ padding:34px 0 40px !important; }
  .nsrm-services-section .nsrm-section-heading,
  .nsrm-services-section .nsrm-services-grid{ padding-left:14px !important; padding-right:14px !important; }
}

.nsrm-products-section,
.nsrm-category-section,
.nsrm-value-props,
.nsrm-services-section,
.nsrm-contact-section,
.nsrm-product-description,
.related.products {
  content-visibility: auto;
  contain-intrinsic-size: 1px 900px;
}
.nsrm-products-grid,
.nsrm-category-grid {
  will-change: transform;
}
.nsrm-slider-shell img,
.nsrm-category-card__image,
.nsrm-product-card__image,
.nsrm-service-card__image img {
  backface-visibility: hidden;
}
.nsrm-product-card__image-wrap,
.nsrm-category-card,
.nsrm-service-card,
.nsrm-value-card {
  contain: layout paint;
}
@media (prefers-reduced-motion: reduce) {
  .nsrm-products-grid,
  .nsrm-category-grid,
  .nsrm-slide,
  [data-nsrm-reveal] {
    transition: none !important;
    animation: none !important;
  }
}
