.nn-product-benefits { margin: 4px 0 24px; }
.nn-product-benefits > p { margin: 0 0 16px; color: #c90000; font-size: 16px; line-height: 1.65; font-weight: 600; overflow-wrap: anywhere; }
body.single-product .nn-product-benefits > p { color: #c90000 !important; }
.nn-product-benefits .nn-benefit-line strong { font: inherit; color: inherit; }
.nn-product-benefits ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.nn-product-benefits li { max-width: 100%; padding: 8px 12px; border-radius: 6px; background: #ace8dc; color: #192c27; font-size: 13px; font-weight: 650; line-height: 1.45; overflow-wrap: anywhere; }
form.nn-offer-form { display: block; width: 100%; border: 0; }
.nn-offer-tiers { margin: 0; padding: 0; border: 0; min-width: 0; background: transparent; }
.nn-offer-tiers > legend { font-size: 16px; font-weight: 600; padding: 0; margin: 0 0 12px; background: transparent; }
.nn-offer-tier { border: 1px solid #d7dbd8; border-radius: 6px; margin-bottom: 8px; overflow: hidden; }
.nn-offer-tier:has(.nn-offer-choice > input:checked) { border-color: #19211d; background: #f5f7f5; }
.nn-offer-choice { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 18px; cursor: pointer; margin: 0; }
.nn-offer-choice input[type=radio] { width: 18px; height: 18px; margin: 0; accent-color: #19211d; }
.nn-offer-choice strong { font-weight: 600; font-size: 17px; line-height: 1.45; }
.nn-offer-choice small { font-size: 12px; font-weight: 400; }
.nn-offer-saving { display: block; margin-top: 4px; color: #48524c; }
.nn-offer-price { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nn-offer-price del { display: block; font-size: 12px; color: #59635c; margin-top: 4px; }
.nn-offer-options { display: none; grid-template-columns: 48px minmax(0, 1fr); gap: 10px 12px; align-items: center; padding: 0 18px 18px; }
.nn-offer-tier:has(.nn-offer-choice > input:checked) .nn-offer-options { display: grid; }
.nn-offer-options:empty { padding: 0; }
.nn-offer-options label { font-size: 13px; margin: 0; }
.nn-offer-options select { appearance: auto; display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 44px; border: 1px solid #a6aea8; border-radius: 4px; background: #fff; color: #19211d; font-size: 14px; padding: 8px 30px 8px 12px; box-shadow: none; }
.nn-offer-picker { min-width: 0; }
.nn-offer-mobile-ready .nn-offer-options { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.nn-offer-mobile-ready .nn-offer-options > label,
.nn-offer-mobile-ready .nn-offer-options select { display: none; }
.nn-offer-mobile-options { display: block; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.nn-offer-mobile-options legend { margin: 0 0 8px; padding: 0; font-size: 13px; font-weight: 600; background: transparent; }
.nn-offer-swatches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nn-offer-swatches label { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 44px; padding: 8px; border: 1px solid #a6aea8; border-radius: 4px; background: #fff; color: #19211d; font-size: 14px; line-height: 1.4; cursor: pointer; }
.nn-offer-swatches input { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; accent-color: #19211d; }
.nn-offer-swatches label:has(input:checked) { border-color: #19211d; background: #e5eee8; }
.nn-offer-swatches label:has(input:focus-visible) { outline: 2px solid #236345; outline-offset: 2px; }
.nn-offer-swatches label > span:last-child { overflow-wrap: anywhere; }
.nn-offer-color { flex: 0 0 16px; width: 16px; height: 16px; border: 1px solid #a6aea8; border-radius: 50%; }
.nn-offer-separated .nn-offer-picker + .nn-offer-picker { border-top: 1px solid #d7dbd8; padding-top: 16px; }
.nn-offer-attribute { min-width: 0; margin: 12px 0 0; padding: 0; border: 0; background: transparent; }
.nn-offer-mobile-options .nn-offer-attribute legend { font-size: 14px; font-weight: 500; }
.nn-attribute-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.nn-offer-options .nn-attribute-choices label { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; min-width: 44px; max-width: 100%; padding: 8px 12px; border: 1px solid #a6aea8; border-radius: 4px; background: #fff; color: #19211d; font-size: 14px; line-height: 1.35; cursor: pointer; overflow-wrap: anywhere; }
.nn-attribute-choices input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.nn-attribute-choices label:has(input:checked) { border-color: #19211d; box-shadow: inset 0 0 0 1px #19211d; }
.nn-attribute-choices label:has(input:focus-visible) { outline: 2px solid #236345; outline-offset: 3px; }
.nn-attribute-choices label:has(input:disabled) { opacity: .45; cursor: not-allowed; }
.nn-offer-options .nn-attribute-sizes label { flex-direction: column; flex: 1 0 76px; gap: 3px; padding: 8px 6px; font-weight: 600; }
.nn-attribute-sizes small { font-size: 11px; font-weight: 400; color: #48524c; }
.nn-size-guide-link { display: inline-block; margin-left: 16px; padding: 6px 0; text-decoration: underline; text-underline-offset: 3px; font-size: 12px; }
.nn-offer-dropdowns .nn-offer-mobile-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 10px; }
.nn-offer-dropdowns .nn-offer-attribute { margin: 0; }
.nn-offer-dropdowns .nn-offer-mobile-options > legend { margin-bottom: 10px; }
.nn-offer-dropdowns .nn-offer-attribute legend { min-height: 24px; margin-bottom: 6px; }
.nn-offer-dropdowns .nn-size-guide-link { padding: 0; margin-left: 8px; }
.nn-offer-mobile-ready .nn-offer-dropdown select { display: block; font-size: 16px; }
.nn-offer-dropdowns .nn-offer-tier .nn-offer-actions { padding: 0 18px 18px; margin-top: 0; }
.nn-source-product.nn-wifi-product .nn-product-benefits > p { font-weight: 400; }
.nn-source-product .nn-pdp .nn-pdp-price .price { color: #c90000; display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.nn-source-product .nn-pdp-price .price ins { order: -1; }
.nn-source-product .nn-pdp .nn-pdp-price { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.nn-source-product .nn-pdp .nn-pdp-price .nn-saving { display: inline-flex; width: fit-content; margin: 0; padding: 6px 10px; font-size: 14px; line-height: 1.4; background: #d42119; color: #fff; border-radius: 4px; }
.nn-source-product .nn-pdp-buybar .price strong { display: inline; }
.nn-source-product .nn-offer-tier:has(.nn-offer-choice > input:checked) { background: #fcf7f7; border-color: #c9221d; }
.nn-source-product .nn-offer-tier:has(.nn-offer-choice > input:checked) .nn-offer-price { color: #b81d17; }
.nn-source-product .nn-offer-form input[type=radio] { accent-color: #bd211b; }
.nn-source-product .nn-attribute-choices label:has(input:checked) { border-color: #b81d17; background: #b81d17; color: #fff; box-shadow: none; }
.nn-source-product .nn-attribute-choices label:has(input:checked) small { color: #fff; }
.nn-source-product form.nn-offer-form .nn-offer-buy { background: #c82119; border-color: #c82119; color: #fff; border-radius: 4px; }
.nn-source-product form.nn-offer-form .nn-offer-buy:hover { background: #a91b15; }
.nn-source-product form.nn-offer-form .nn-offer-cart { border-radius: 4px; }
.nn-source-details section > p { margin: 0; }
.nn-source-details [hidden] { display: none !important; }
.nn-source-tabs { display: flex; gap: 24px; border-bottom: 1px solid #d7dbd8; margin: 0 0 20px; }
.nn-source-tabs button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 14px 0; background: transparent; color: #48524c; font: inherit; font-weight: 600; cursor: pointer; }
.nn-source-tabs button[aria-selected=true] { border-bottom-color: #19211d; color: #19211d; }
.nn-source-tabs button:focus-visible { outline: 2px solid #236345; outline-offset: 3px; }
#nn-size-guide { scroll-margin-top: 110px; }
.nn-source-product .nn-pdp .nn-offer-single .nn-offer-tier { border: 0; border-radius: 0; }
.nn-offer-single .nn-offer-tier:has(.nn-offer-choice > input:checked) { background: transparent; }
.nn-offer-single .nn-offer-choice,
.nn-offer-single .nn-offer-mobile-options > legend,
.nn-offer-fixed .nn-offer-mobile-options > legend,
.nn-offer-fixed .nn-offer-picker ~ .nn-offer-picker { display: none; }
.nn-offer-single .nn-offer-options { padding: 0; }
.nn-offer-quantity { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; }
.nn-offer-quantity > label { margin: 0; font-size: 14px; font-weight: 500; }
.nn-offer-quantity > div { display: grid; grid-template-columns: 44px 64px 44px; border: 1px solid #a6aea8; border-radius: 4px; overflow: hidden; }
.nn-offer-quantity :is(button, input) { min-height: 44px; width: 100%; min-width: 0; padding: 0; margin: 0; border: 0; border-radius: 0; text-align: center; background: #fff; color: #19211d; font-size: 16px; }
.nn-offer-quantity input { appearance: textfield; -moz-appearance: textfield; }
.nn-offer-quantity input::-webkit-inner-spin-button { appearance: none; }
.nn-offer-quantity button { cursor: pointer; }
.nn-source-product .nn-offer-quantity button:disabled { background: #fff; color: #7b817e; cursor: not-allowed; }
.nn-source-product .nn-offer-quantity button:is(:hover, :focus):not(:disabled) { background: #f3f5f3; color: #19211d; }
.nn-offer-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 16px; }
form.nn-offer-form .nn-offer-actions .button { display: flex; justify-content: center; align-items: center; width: 100%; min-width: 0; min-height: 50px; margin: 0; padding: 12px; font-size: 14px; line-height: 1.3; white-space: normal; }
form.nn-offer-form .nn-offer-actions .button.nn-offer-cart { background: #fff; color: #19211d; border: 1px solid #19211d; }
form.nn-offer-form .nn-offer-actions .button.nn-offer-cart:hover { background: #edf2ee; }
.nn-offer-actions .button:disabled { opacity: .55; cursor: wait; }
.nn-offer-status { margin-top: 10px; font-size: 13px; line-height: 1.6; }
.nn-offer-status:empty { display: none; }
.nn-offer-status[data-error=true] { color: #ad231a; }
.nn-offer-status a { margin-left: 8px; text-decoration: underline; text-underline-offset: 3px; }
.nn-offer-form :is(input, select, button):focus-visible { outline: 2px solid #236345; outline-offset: 3px; }
.nn-imported-details { grid-column: 1 / -1; width: 100%; max-width: 750px; margin: 32px auto; min-width: 0; }
.nn-imported-details img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.nn-imported-details > p { margin: 0; }
.nn-editor-details { overflow-wrap: anywhere; }
.nn-editor-details > p { margin: 0 0 20px; }
.nn-editor-details :is(iframe, video, table) { max-width: 100%; }
.nn-editor-details :is(h2, h3) { margin: 28px 0 16px; font-size: 24px; line-height: 1.35; }
.nn-imported-details details { border-bottom: 1px solid #d7dbd8; padding: 18px 0; }
.nn-imported-details summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.nn-imported-details details p { font-size: 14px; line-height: 1.7; margin: 12px 0; }
.nn-offer-choice > span:not(.nn-offer-price) { min-width: 0; overflow-wrap: anywhere; }
.nn-product-reviews { margin: 48px 0 0; padding-top: 28px; border-top: 1px solid #d7dbd8; color: #19211d; }
.nn-product-reviews .woocommerce-Reviews-title { font-size: 24px; line-height: 1.35; margin: 0 0 24px; }
.nn-product-reviews #reviews #comments .commentlist { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); align-items: start; gap: 20px; margin: 0; padding: 0; list-style: none; }
.woocommerce .nn-product-reviews #reviews #comments .commentlist::before, .woocommerce .nn-product-reviews #reviews #comments .commentlist::after { display: none; }
.nn-product-reviews #reviews #comments .commentlist > .nn-review-card { min-width: 0; margin: 0; padding: 20px; border: 1px solid #d7dbd8; border-radius: 6px; overflow-wrap: anywhere; }
.nn-product-reviews .nn-review-meta .meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; font-size: 14px; color: #59635c; }
.nn-review-meta time { display: block; width: 100%; }
.nn-review-meta .woocommerce-review__dash { display: none; }
.nn-review-body { font-size: 16px; line-height: 1.65; }
.nn-review-body p { margin: 0 0 12px; }
.nn-review-body img { width: auto; max-width: 100%; height: auto; }
.nn-review-source { font-size: 12px; line-height: 1.5; color: #59635c; margin: 8px 0; }
.nn-review-photos { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.nn-review-photos img { display: block; width: 100px; height: 100px; object-fit: contain; border: 1px solid #d7dbd8; }
.nn-review-replies > summary { cursor: pointer; padding: 12px 0; min-height: 44px; font-size: 14px; }
.nn-review-collapsed { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.nn-review-rating { display: flex; }
.nn-review-rating .star-rating { float: none; color: #946300; font-size: 18px; }
.nn-product-reviews .nn-review-toggle { display: block; min-height: 44px; padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: #19211d; font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.nn-review-toggle:focus-visible { outline: 2px solid #236345; outline-offset: 3px; }
.nn-product-reviews #comments .children { margin: 16px 0 0; padding: 0 0 0 14px; border-left: 1px solid #a6aea8; list-style: none; }
.nn-product-reviews #comments .children li { padding: 0; margin: 0 0 16px; border: 0; }
.nn-product-reviews #review_form_wrapper { max-width: 680px; margin-top: 32px; }
.nn-product-reviews :is(input:not([type=checkbox]), select, textarea) { max-width: 100%; min-height: 44px; font-size: 16px; }
@media (max-width: 767px) {
  .nn-product-benefits { margin: 4px 0 20px; }
  .nn-product-benefits > p { font-size: 14px; line-height: 1.6; }
  .nn-product-benefits li { font-size: 12px; padding: 7px 10px; }
  .nn-offer-choice { padding: 16px 12px; gap: 9px; }
  .nn-offer-choice strong { font-size: 16px; }
  .nn-offer-options { padding: 0 12px 16px; }
  .nn-offer-dropdowns .nn-offer-tier .nn-offer-actions { padding: 0 12px 16px; }
  .nn-offer-dropdowns .nn-offer-mobile-options { grid-template-columns: minmax(0, 1fr); }
  .nn-offer-dropdowns .nn-offer-attribute legend { min-height: 0; }
  .nn-product-reviews #reviews #comments .commentlist { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .nn-product-reviews .woocommerce-Reviews-title { font-size: 20px; }
}
@media (max-width: 349px) {
  .nn-offer-choice { grid-template-columns: 16px minmax(0, 1fr) auto; gap: 8px; }
  .nn-offer-price strong { font-size: 15px; }
  .nn-offer-price strong small { font-size: 10px; }
}
.nn-offer-actions .button { border: 1px solid #19211d; border-radius: 0; background: #19211d; color: #fff; font-weight: 600; text-decoration: none; transition: background-color .18s ease; }
.nn-offer-actions .button:hover { background: #34493d; color: #fff; }
@media (prefers-reduced-motion: reduce) { .nn-offer-actions .button { transition: none; } }
