/* Nobanoo Product Experience 3 — app-like mobile, professional desktop. */

.nb-product-page {
	--nb-product-appbar-height: 64px;
	--nb-product-section-nav-height: 48px;
	--nb-product-cta-height: 76px;
	--nb-product-border: color-mix(in srgb, var(--nb-color-text, #3b3b31) 12%, transparent);
	--nb-product-muted: color-mix(in srgb, var(--nb-color-text, #3b3b31) 67%, transparent);
	--nb-product-card: color-mix(in srgb, #fff 94%, var(--nb-color-bg, #faf6f1));
}

.nb-product-appbar,
.nb-product-section-nav { display: none; }

.nb-product-main { padding-block: clamp(18px, 3vw, 48px) 112px; }
.nb-product-detail { display: grid; gap: clamp(28px, 5vw, 72px); min-width: 0; }
.nb-product-detail__top { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(380px, .86fr); gap: clamp(32px, 4vw, 72px); align-items: start; min-width: 0; }

/* Gallery */
.nb-product-gallery { min-width: 0; }
.nb-product-gallery__shell { position: relative; overflow: hidden; border: 1px solid var(--nb-product-border); border-radius: clamp(22px, 2.4vw, 34px); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--nb-color-bg, #faf6f1) 76%, #fff)); box-shadow: 0 22px 65px rgba(62, 45, 46, .08); }
.nb-product-gallery__viewport { display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; aspect-ratio: 1 / 1; }
.nb-product-gallery__viewport::-webkit-scrollbar { display: none; }
.nb-product-gallery__slide { position: relative; display: grid; flex: 0 0 100%; width: 100%; height: 100%; place-items: center; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.nb-product-gallery__main-image { display: block; width: 100%; height: 100%; object-fit: contain; padding: clamp(24px, 5vw, 74px); transform: scale(.985); transition: transform 240ms ease; }
.nb-product-gallery__slide.is-active .nb-product-gallery__main-image { transform: scale(1); }
.nb-product-gallery__slide--video iframe,
.nb-product-gallery__slide--video video { width: 100%; height: 100%; border: 0; object-fit: contain; }
.nb-product-gallery__floating-controls { position: absolute; z-index: 3; inset: 16px; display: flex; justify-content: space-between; align-items: flex-start; pointer-events: none; }
.nb-product-gallery__zoom,
.nb-product-gallery__counter { pointer-events: auto; border: 1px solid color-mix(in srgb, var(--nb-color-text, #3b3b31) 12%, transparent); background: rgba(255,255,255,.88); box-shadow: 0 8px 22px rgba(48,34,37,.1); backdrop-filter: blur(12px); }
.nb-product-gallery__zoom { display: grid; width: 46px; height: 46px; place-items: center; padding: 0; border-radius: 50%; color: var(--nb-color-text, #3b3b31); cursor: pointer; }
.nb-product-gallery__zoom svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.nb-product-gallery__counter { display: inline-flex; min-width: 58px; height: 38px; align-items: center; justify-content: center; gap: 5px; border-radius: 999px; font-size: 13px; direction: ltr; }
.nb-product-gallery__dots { display: none; }
.nb-product-gallery__thumbs { display: flex; gap: 12px; overflow-x: auto; padding-block: 14px 2px; scroll-snap-type: inline proximity; scrollbar-width: thin; }
.nb-product-gallery__thumb { flex: 0 0 82px; width: 82px; height: 82px; padding: 5px; border: 1px solid var(--nb-product-border); border-radius: 18px; background: #fff; cursor: pointer; scroll-snap-align: start; transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.nb-product-gallery__thumb:hover { transform: translateY(-2px); }
.nb-product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 13px; }
.nb-product-gallery__thumb.is-active { border-color: var(--nb-color-primary-dark, #a47a86); box-shadow: 0 8px 22px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 20%, transparent); }
.nb-product-gallery__thumb--video { display: grid; place-items: center; color: var(--nb-color-primary-dark, #a47a86); font-size: 24px; }
.nb-product-zoom { width: min(94vw, 1080px); max-width: none; padding: 54px 18px 18px; border: 0; border-radius: 26px; background: #fff; }
.nb-product-zoom::backdrop { background: rgba(20,17,18,.8); backdrop-filter: blur(6px); }
.nb-product-zoom > button { position: absolute; inset-block-start: 10px; inset-inline-end: 12px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--nb-color-bg, #faf6f1); font-size: 26px; cursor: pointer; }
.nb-product-zoom img { display: block; max-width: 100%; max-height: 82vh; margin: auto; object-fit: contain; }

/* Summary and purchase card */
.nb-product-summary { position: sticky; inset-block-start: 128px; display: grid; gap: 18px; min-width: 0; }
.nb-product-summary__identity { display: grid; gap: 10px; }
.nb-product-summary__eyebrow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nb-product-brand,
.nb-product-sale-badge { display: inline-flex; min-height: 30px; align-items: center; padding-inline: 12px; border-radius: 999px; font-size: 12px; font-weight: 800; text-decoration: none; }
.nb-product-brand { background: color-mix(in srgb, var(--nb-color-primary, #cfaa36) 15%, #fff); color: var(--nb-color-primary-dark, #a47a86); }
.nb-product-sale-badge { background: #fff0ef; color: #b23f45; }
.nb-product-summary h1 { margin: 0; font-size: clamp(1.65rem, 2.5vw, 2.55rem); line-height: 1.48; letter-spacing: -.025em; }
.nb-product-summary__meta { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; color: var(--nb-product-muted); font-size: 13px; }
.nb-product-rating { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.nb-product-rating .star-rating { margin: 0; }
.nb-product-sku-wrap b { color: var(--nb-color-text, #3b3b31); direction: ltr; unicode-bidi: isolate; }
.nb-product-price-card { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 18px 20px; border: 1px solid var(--nb-product-border); border-radius: 22px; background: linear-gradient(145deg, color-mix(in srgb, var(--nb-color-primary, #cfaa36) 8%, #fff), #fff); }
.nb-product-price-card small { display: block; margin-block-end: 5px; color: var(--nb-product-muted); font-size: 12px; }
.nb-product-price { font-size: clamp(1.3rem, 2vw, 1.8rem); font-weight: 900; line-height: 1.2; }
.nb-product-price del { margin-inline-end: 8px; color: var(--nb-product-muted); font-size: .68em; font-weight: 500; }
.nb-product-price ins { text-decoration: none; }
.nb-product-stock { font-size: 13px; }
.nb-product-stock .stock { margin: 0; font-weight: 800; }
.nb-product-short-description { color: var(--nb-product-muted); font-size: .96rem; line-height: 2; }
.nb-product-short-description > :first-child { margin-block-start: 0; }
.nb-product-short-description > :last-child { margin-block-end: 0; }
.nb-product-benefit-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nb-product-benefit-chips span { display: inline-flex; min-height: 34px; align-items: center; gap: 7px; padding-inline: 11px; border: 1px solid var(--nb-product-border); border-radius: 999px; background: #fff; font-size: 12px; font-weight: 700; }
.nb-product-benefit-chips i { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: color-mix(in srgb, #4c9a65 15%, #fff); color: #367a4b; font-style: normal; }
.nb-product-fit { display: grid; gap: 8px; padding: 15px 16px; border-radius: 18px; background: color-mix(in srgb, var(--nb-color-surface, #edacc8) 18%, #fff); }
.nb-product-fit > strong { font-size: 12px; }
.nb-product-fit > div { display: flex; flex-wrap: wrap; gap: 6px; }
.nb-product-fit span { padding: 5px 9px; border-radius: 999px; background: rgba(255,255,255,.72); font-size: 11px; }
.nb-product-purchase-card { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--nb-product-border); border-radius: 24px; background: var(--nb-product-card); box-shadow: 0 16px 42px rgba(66,45,48,.07); }
.nb-product-purchase-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nb-product-purchase-card__heading > div { display: grid; gap: 3px; }
.nb-product-purchase-card__heading small { color: var(--nb-product-muted); font-size: 11px; }
.nb-product-purchase-card__heading strong { font-size: 14px; }
.nb-product-purchase-card__heading > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: color-mix(in srgb, var(--nb-color-primary, #cfaa36) 16%, #fff); }
.nb-product-purchase-card__heading svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.nb-product-variation-trigger { display: none; width: 100%; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid var(--nb-product-border); border-radius: 17px; background: #fff; color: inherit; text-align: start; cursor: pointer; }
.nb-product-variation-trigger > span { display: grid; gap: 3px; }
.nb-product-variation-trigger small { color: var(--nb-product-muted); font-size: 11px; }
.nb-product-variation-trigger strong { font-size: 13px; }
.nb-product-variation-trigger i { font-size: 26px; font-style: normal; }
.nb-product-cart form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 0; }
.nb-product-cart form.cart .quantity { margin: 0; }
.nb-product-cart form.cart .qty { min-height: 48px; border-radius: 14px; }
.nb-product-cart form.cart .single_add_to_cart_button,
.nb-product-cart form.cart .nb-quick-buy { min-height: 48px; border-radius: 14px; }
.nb-product-cart form.cart .single_add_to_cart_button { flex: 1 1 180px; }
.nb-product-cart form.cart .nb-quick-buy { flex: 0 1 auto; }
.nb-product-cart .variations { width: 100%; margin: 0 0 10px; }
.nb-product-cart .variations th,
.nb-product-cart .variations td { display: block; padding: 0; text-align: start; }
.nb-product-cart .variations th { margin-block-end: 7px; font-size: 12px; }
.nb-product-cart .variations tr + tr th { margin-block-start: 14px; }
.nb-product-cart .reset_variations { display: inline-flex; margin-block-start: 8px; font-size: 12px; }
.nb-variation-select--enhanced { position: absolute!important; width: 1px!important; height: 1px!important; overflow: hidden!important; clip: rect(0 0 0 0)!important; white-space: nowrap!important; }
.nb-variation-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.nb-variation-swatch { min-height: 40px; padding: 8px 13px; border: 1px solid var(--nb-product-border); border-radius: 12px; background: #fff; color: inherit; font-size: 12px; cursor: pointer; }
.nb-variation-swatch.is-selected { border-color: var(--nb-color-primary-dark, #a47a86); background: color-mix(in srgb, var(--nb-color-primary, #cfaa36) 14%, #fff); box-shadow: inset 0 0 0 1px var(--nb-color-primary-dark, #a47a86); }
.nb-variation-swatch:disabled { opacity: .46; cursor: not-allowed; }
.nb-product-form-error { width: 100%; margin: 8px 0 0; padding: 9px 11px; border-radius: 12px; background: #fff0ef; color: #9d3037; font-size: 12px; }
.nb-product-action-row { display: flex; flex-wrap: wrap; gap: 8px; }
.nb-product-action { display: inline-flex; min-height: 42px; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid var(--nb-product-border); border-radius: 13px; background: #fff; color: inherit; font-size: 12px; cursor: pointer; }
.nb-product-action svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.nb-product-action[aria-pressed="true"] { border-color: var(--nb-color-primary-dark, #a47a86); background: color-mix(in srgb, var(--nb-color-primary, #cfaa36) 13%, #fff); }
.nb-product-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.nb-product-trust > div { display: flex; gap: 9px; align-items: flex-start; padding: 11px; border: 1px solid var(--nb-product-border); border-radius: 16px; background: #fff; }
.nb-product-trust i { display: grid; flex: 0 0 27px; width: 27px; height: 27px; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--nb-color-primary, #cfaa36) 14%, #fff); font-style: normal; }
.nb-product-trust span { display: grid; gap: 2px; }
.nb-product-trust strong { font-size: 10.5px; line-height: 1.6; }
.nb-product-trust small { color: var(--nb-product-muted); font-size: 9px; line-height: 1.6; }
.nb-product-sticky-cta { display: none; }

/* Details and recommendations */
.nb-product-details { display: grid; gap: 18px; scroll-margin-top: 120px; }
.nb-product-details__anchors { display: flex; gap: 8px; overflow-x: auto; padding-block-end: 4px; scrollbar-width: none; }
.nb-product-details__anchors::-webkit-scrollbar { display: none; }
.nb-product-details__anchors a { flex: 0 0 auto; min-height: 40px; padding: 9px 14px; border: 1px solid var(--nb-product-border); border-radius: 999px; background: #fff; color: inherit; font-size: 12px; font-weight: 700; text-decoration: none; }
.nb-product-accordions { display: grid; gap: 10px; }
.nb-product-accordion { overflow: hidden; border: 1px solid var(--nb-product-border); border-radius: 20px; background: #fff; }
.nb-product-accordion h2 { margin: 0; font-size: 1rem; }
.nb-product-accordion h2 button { display: flex; width: 100%; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border: 0; background: transparent; color: inherit; font: inherit; text-align: start; cursor: pointer; }
.nb-product-accordion h2 span { transition: transform 180ms ease; }
.nb-product-accordion.is-open h2 span { transform: rotate(45deg); }
.nb-product-accordion__panel { padding: 0 18px 20px; color: color-mix(in srgb, var(--nb-color-text, #3b3b31) 82%, transparent); line-height: 2; }
.nb-product-accordion__panel:focus { outline: none; }
.nb-product-accordion__panel table { width: 100%; border-collapse: collapse; }
.nb-product-accordion__panel th,
.nb-product-accordion__panel td { padding: 10px; border-block-end: 1px solid var(--nb-product-border); text-align: start; }
.nb-product-recommendations { display: grid; gap: 42px; }
.nb-product-recommendation { min-width: 0; }
.nb-product-rail { display: grid; grid-auto-columns: minmax(220px, 270px); grid-auto-flow: column; gap: 14px; overflow-x: auto; padding-block: 6px 14px; scroll-snap-type: inline proximity; scrollbar-width: thin; }
.nb-product-rail > * { scroll-snap-align: start; }

/* Variation bottom sheet */
.nb-product-sheet-backdrop { position: fixed; z-index: 10050; inset: 0; background: rgba(24,20,22,.48); backdrop-filter: blur(5px); opacity: 0; transition: opacity 180ms ease; }
.nb-product-sheet-backdrop.is-visible { opacity: 1; }
.nb-product-option-sheet { position: fixed; z-index: 10060; inset-inline: 0; inset-block-end: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto; max-height: min(86dvh, 760px); border: 0; border-radius: 26px 26px 0 0; background: #fff; box-shadow: 0 -24px 60px rgba(27,19,22,.22); transform: translateY(105%); transition: transform 220ms cubic-bezier(.2,.8,.2,1); }
.nb-product-option-sheet[hidden] { display: none; }
.nb-product-option-sheet.is-open { transform: translateY(0); }
.nb-product-option-sheet__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 18px 14px; border-block-end: 1px solid var(--nb-product-border); }
.nb-product-option-sheet__header > div { display: grid; gap: 3px; }
.nb-product-option-sheet__header small { color: var(--nb-product-muted); font-size: 11px; }
.nb-product-option-sheet__header h2 { margin: 0; font-size: 16px; }
.nb-product-option-sheet__close { display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 50%; background: var(--nb-color-bg, #faf6f1); color: inherit; font-size: 25px; cursor: pointer; }
.nb-product-option-sheet__body { overflow-y: auto; padding: 18px; overscroll-behavior: contain; }
.nb-product-option-sheet__footer { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-block-start: 1px solid var(--nb-product-border); background: rgba(255,255,255,.96); }
.nb-product-option-sheet__footer .nb-button { width: 100%; height: 50px; min-height: 50px; max-height: 50px; padding-block: 0; box-sizing: border-box; }
body.nb-product-sheet-open { overflow: hidden; }

@media (max-width: 899px) {
	body.nb-product-app-mode { padding-block-start: calc(var(--nb-product-appbar-height) + var(--nb-product-section-nav-height)); }
	body.nb-product-app-mode .nb-site-header,
	body.nb-product-app-mode > .nb-product-breadcrumbs { display: none!important; }
	body.nb-product-app-mode .woocommerce-breadcrumb { display: none; }
	body.nb-product-app-mode .nb-site-footer { display: block; margin-block-start: 22px; }
	body.nb-product-app-mode .nb-bottom-nav { display: grid; }

	.nb-product-appbar { position: fixed; z-index: 1000; inset-block-start: 0; inset-inline: 0; display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 8px; align-items: center; min-height: calc(var(--nb-product-appbar-height) + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 12px 0; border-block-end: 1px solid var(--nb-product-border); background: rgba(255,255,255,.92); backdrop-filter: blur(18px); }
	.nb-product-appbar__button { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--nb-product-border); border-radius: 14px; background: rgba(255,255,255,.82); color: inherit; cursor: pointer; }
	.nb-product-appbar__button svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
	.nb-product-appbar__title { display: grid; min-width: 0; gap: 1px; }
	.nb-product-appbar__title small { color: var(--nb-product-muted); font-size: 9px; }
	.nb-product-appbar__title strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
	.nb-product-appbar__actions { display: flex; gap: 5px; }
	.nb-product-appbar__actions .nb-product-appbar__button { width: 40px; height: 40px; }
	.nb-product-appbar__button[aria-pressed="true"] { border-color: var(--nb-color-primary-dark, #a47a86); background: color-mix(in srgb, var(--nb-color-primary, #cfaa36) 18%, #fff); }

	.nb-product-section-nav { position: fixed; z-index: 990; inset-block-start: calc(var(--nb-product-appbar-height) + env(safe-area-inset-top)); inset-inline: 0; display: flex; height: var(--nb-product-section-nav-height); gap: 6px; overflow-x: auto; align-items: center; padding-inline: 12px; border-block-end: 1px solid var(--nb-product-border); background: rgba(250,246,241,.94); backdrop-filter: blur(14px); scrollbar-width: none; }
	.nb-product-section-nav::-webkit-scrollbar { display: none; }
	.nb-product-section-nav a { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; color: var(--nb-product-muted); font-size: 11px; font-weight: 800; text-decoration: none; }
	.nb-product-section-nav a.is-active { background: #fff; color: var(--nb-color-text, #3b3b31); box-shadow: 0 4px 14px rgba(51,36,40,.08); }

	.nb-product-main { width: 100%; max-width: none; padding: 0 0 calc(var(--nb-product-cta-height) + var(--nb-bottom-nav-height) + (env(safe-area-inset-bottom) * 2) + 34px); }
	.nb-product-detail { gap: 28px; }
	.nb-product-detail__top { display: block; }
	.nb-product-gallery { scroll-margin-top: calc(var(--nb-product-appbar-height) + var(--nb-product-section-nav-height) + 8px); }
	.nb-product-gallery__shell { border-width: 0 0 1px; border-radius: 0 0 28px 28px; box-shadow: none; }
	.nb-product-gallery__viewport { aspect-ratio: 1 / 1.02; }
	.nb-product-gallery__main-image { padding: 22px 18px 34px; }
	.nb-product-gallery__floating-controls { inset: 12px; }
	.nb-product-gallery__zoom { width: 42px; height: 42px; }
	.nb-product-gallery__counter { min-width: 52px; height: 34px; font-size: 12px; }
	.nb-product-gallery__dots { display: flex; max-width: 160px; justify-content: center; gap: 5px; margin: -20px auto 0; position: relative; z-index: 4; }
	.nb-product-gallery__dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--nb-color-text, #3b3b31) 25%, transparent); transition: width 170ms ease, background 170ms ease; }
	.nb-product-gallery__dot.is-active { width: 20px; background: var(--nb-color-primary-dark, #a47a86); }
	.nb-product-gallery__thumbs { display: none; }

	.nb-product-summary { position: static; gap: 16px; padding: 24px 16px 0; scroll-margin-top: calc(var(--nb-product-appbar-height) + var(--nb-product-section-nav-height) + 8px); }
	.nb-product-summary h1 { font-size: clamp(1.35rem, 6vw, 1.75rem); line-height: 1.55; }
	.nb-product-summary__meta { font-size: 11px; }
	.nb-product-price-card { padding: 15px 16px; border-radius: 19px; }
	.nb-product-price { font-size: 1.35rem; }
	.nb-product-short-description { font-size: .9rem; line-height: 1.9; }
	.nb-product-benefit-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
	.nb-product-benefit-chips::-webkit-scrollbar { display: none; }
	.nb-product-benefit-chips span { flex: 0 0 auto; }
	.nb-product-fit { border-radius: 16px; }
	.nb-product-purchase-card { padding: 15px; border-radius: 21px; }
	.nb-product-variation-trigger { display: flex; }
	.nb-product-action-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
	.nb-product-action { justify-content: center; min-width: 0; padding-inline: 7px; }
	.nb-product-trust { grid-template-columns: 1fr; }
	.nb-product-trust > div { align-items: center; }
	.nb-product-trust strong { font-size: 11px; }
	.nb-product-trust small { font-size: 9.5px; }

	.nb-product-details,
	.nb-product-recommendations { margin-inline: 16px; }
	.nb-product-details { gap: 12px; scroll-margin-top: calc(var(--nb-product-appbar-height) + var(--nb-product-section-nav-height) + 10px); }
	.nb-product-details__anchors { margin-inline: -16px; padding-inline: 16px; }
	.nb-product-accordion { border-radius: 18px; }
	.nb-product-accordion h2 button { min-height: 58px; padding: 13px 15px; font-size: 13px; }
	.nb-product-accordion__panel { padding: 0 15px 17px; font-size: 13px; line-height: 2; }
	.nb-product-recommendations { gap: 32px; }
	.nb-product-rail { grid-auto-columns: minmax(190px, 74vw); margin-inline: -16px; padding-inline: 16px; }

}

@media (min-width: 900px) and (max-width: 1120px) {
	.nb-product-detail__top { grid-template-columns: minmax(0,1fr) minmax(340px,.8fr); gap: 30px; }
	.nb-product-summary { inset-block-start: 104px; }
	.nb-product-trust { grid-template-columns: 1fr; }
}

@media (min-width: 900px) {
	.nb-product-option-sheet,
	.nb-product-sheet-backdrop { display: none!important; }
}

@media (prefers-reduced-motion: reduce) {
	.nb-product-gallery__main-image,
	.nb-product-gallery__dot,
	.nb-product-option-sheet,
	.nb-product-sheet-backdrop,
	.nb-product-accordion h2 span { transition: none!important; }
}

/* Nobanoo Commerce Experience 5.0 — clearer tabs, reliable purchase feedback. */
.nb-product-section-nav a,
.nb-product-details__anchors a { position: relative; isolation: isolate; }
.nb-product-details__heading { display: grid; gap: 5px; margin-block-end: 2px; }
.nb-product-details__heading p { margin: 0; color: var(--nb-color-primary-dark, #a47a86); font-size: .76rem; font-weight: 900; letter-spacing: .08em; }
.nb-product-details__heading h2 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.nb-product-details__anchors {
	position: sticky;
	z-index: 15;
	inset-block-start: 92px;
	gap: 9px;
	padding: 10px;
	border: 1px solid var(--nb-product-border);
	border-radius: 20px;
	background: rgba(250,246,241,.94);
	box-shadow: 0 12px 30px rgba(58,43,46,.07);
	backdrop-filter: blur(15px);
}
.nb-product-details__anchors a {
	min-height: 44px;
	align-items: center;
	padding: 10px 15px;
	border-color: transparent;
	background: rgba(255,255,255,.72);
	font-size: .82rem;
	font-weight: 850;
}
.nb-product-details__anchors a:hover,
.nb-product-details__anchors a.is-active,
.nb-product-details__anchors a[aria-selected="true"] {
	border-color: color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 28%, transparent);
	background: linear-gradient(135deg, color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 24%, #fff), #fff);
	color: var(--nb-color-text, #3b3b31);
	box-shadow: 0 8px 18px rgba(72,47,55,.1);
}
.nb-product-purchase-card {
	border-color: color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 18%, transparent);
	background: linear-gradient(155deg, #fff, color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 8%, #fff));
	box-shadow: 0 18px 52px rgba(72,47,55,.11);
}
.nb-product-cart form.cart .single_add_to_cart_button {
	position: relative;
	min-height: 54px;
	padding-inline: 22px;
	border: 0;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--nb-color-primary-dark, #a47a86), color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 78%, #3b3b31));
	color: #fff;
	font-family: inherit;
	font-size: .92rem;
	font-weight: 900;
	line-height: 1.35;
	box-shadow: 0 12px 28px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 28%, transparent);
	transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}
.nb-product-cart form.cart .single_add_to_cart_button:hover:hover { box-shadow: 0 17px 38px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 34%, transparent); transform: translateY(-2px); }
.nb-product-cart form.cart .single_add_to_cart_button.is-loading.is-loading { color: transparent!important; pointer-events: none; }
.nb-product-cart form.cart .single_add_to_cart_button.is-loading::after.is-loading::after {
	position: absolute;
	inset: 50% auto auto 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid rgba(255,255,255,.4);
	border-block-start-color: #fff;
	border-radius: 50%;
	content: "";
	animation: nb-product-spin .65s linear infinite;
}
.nb-product-cart form.cart .quantity .qty { min-width: 72px; text-align: center; font-weight: 800; }
.nb-product-added-notice {
	position: fixed;
	z-index: 1230;
	inset-inline: 24px;
	inset-block-end: 24px;
	display: grid;
	grid-template-columns: 36px minmax(0,1fr) auto 30px;
	max-width: 720px;
	align-items: center;
	gap: 9px;
	margin-inline: auto;
	padding: 9px 10px;
	border: 1px solid color-mix(in srgb, #4b9162 25%, transparent);
	border-radius: 16px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 22px 65px rgba(32,45,37,.2);
	backdrop-filter: blur(18px);
	animation: nb-product-notice-in 260ms cubic-bezier(.2,.8,.2,1) both;
}
.nb-product-added-notice[hidden] { display: none!important; }
.nb-product-added-notice__icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: linear-gradient(145deg,#5ca875,#3f8558); color: #fff; font-size: 1.35rem; font-weight: 900; box-shadow: 0 10px 22px rgba(63,133,88,.24); }
.nb-product-added-notice__copy { display: grid; min-width: 0; gap: 3px; }
.nb-product-added-notice__copy strong { color: #285a39; font-size: .84rem; }
.nb-product-added-notice__copy span { color: var(--nb-product-muted); font-size: .7rem; line-height: 1.5; }
.nb-product-added-notice__actions { display: flex; gap: 6px; }
.nb-product-added-notice__actions .nb-button { min-height: 34px; padding: 5px 9px; border-radius: 9px; font-size: .7rem; }
.nb-product-added-notice__close { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--nb-color-bg, #faf6f1); color: inherit; font-size: 1.25rem; cursor: pointer; }
.nb-product-recommendation {
	scroll-margin-top: 132px;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid var(--nb-product-border);
	border-radius: 26px;
	background: linear-gradient(150deg, rgba(255,255,255,.96), color-mix(in srgb, var(--nb-color-surface, #e8dac8) 20%, #fff));
	box-shadow: 0 14px 38px rgba(58,43,46,.06);
}
#nb-product-complementary { border-color: color-mix(in srgb, var(--nb-color-accent, #d4af37) 28%, transparent); }
@keyframes nb-product-spin { to { transform: rotate(360deg); } }
@keyframes nb-product-notice-in { from { opacity: 0; transform: translateY(18px) scale(.98); } }

@media (max-width: 899px) {
	.nb-product-page { --nb-product-section-nav-height: 64px; }
	.nb-product-section-nav {
		height: var(--nb-product-section-nav-height);
		gap: 8px;
		padding: 8px 12px;
		background: rgba(250,246,241,.97);
	}
	.nb-product-section-nav a {
		display: grid;
		grid-template-columns: 26px auto auto;
		min-height: 46px;
		align-items: center;
		gap: 6px;
		padding: 6px 11px;
		border: 1px solid var(--nb-product-border);
		border-radius: 15px;
		background: #fff;
		font-size: .74rem;
		box-shadow: 0 5px 14px rgba(58,43,46,.05);
	}
	.nb-product-section-nav a span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 9px; background: color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 17%, #fff); font-size: .95rem; }
	.nb-product-section-nav a b { font-size: .73rem; white-space: nowrap; }
	.nb-product-section-nav a small { min-width: 20px; padding: 2px 5px; border-radius: 999px; background: var(--nb-color-bg, #faf6f1); font-size: .62rem; text-align: center; }
	.nb-product-section-nav a.is-active { border-color: var(--nb-color-primary-dark, #a47a86); background: color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 18%, #fff); box-shadow: 0 8px 20px rgba(72,47,55,.12); }
	.nb-product-details__anchors { position: static; margin-inline: -16px; padding-inline: 16px; border-inline: 0; border-radius: 0; box-shadow: none; }
	.nb-product-details__anchors a { min-height: 43px; font-size: .75rem; }
	.nb-product-purchase-card { padding: 16px; border-radius: 22px; }
	.nb-product-cart form.cart { display: grid; grid-template-columns: 78px minmax(0,1fr); }
	.nb-product-cart form.cart .variations,
	.nb-product-cart form.cart .single_variation_wrap,
	.nb-product-cart form.cart .woocommerce-variation-add-to-cart { grid-column: 1/-1; }
	.nb-product-cart form.cart .single_add_to_cart_button { min-height: 54px; font-size: .86rem; }
	.nb-product-added-notice {
		inset-inline: 8px;
		grid-template-columns: 34px minmax(0,1fr) auto 28px;
		gap: 8px;
		padding: 8px 9px;
		border-radius: 15px;
	}
	.nb-product-added-notice__icon { width: 34px; height: 34px; border-radius: 10px; }
	.nb-product-added-notice__actions { display: flex; }
	.nb-product-added-notice__actions .nb-button { min-height: 32px; padding-inline: 8px; }
	.nb-product-added-notice__close { grid-column: 4; grid-row: 1; }
	.nb-product-recommendation { padding: 16px; border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.nb-product-added-notice { animation: none; }
}

/* Nobanoo 2.2.8 — stable variation, quantity and purchase-state foundation. */
.nb-product-option-sheet__intro {
	display: grid;
	gap: 5px;
	margin-block-end: 18px;
	padding: 14px 15px;
	border: 1px solid color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 24%, transparent);
	border-radius: 18px;
	background: color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 10%, #fff);
}
.nb-product-option-sheet__intro strong { font-size: .92rem; }
.nb-product-option-sheet__intro span { color: var(--nb-product-muted); font-size: .78rem; line-height: 1.8; }
.nb-product-option-sheet__header-actions { display: flex; align-items: center; gap: 8px; }
.nb-product-option-sheet__reset {
	min-height: 38px;
	padding-inline: 11px;
	border: 1px solid var(--nb-product-border);
	border-radius: 11px;
	background: #fff;
	color: var(--nb-color-primary-dark, #a47a86);
	font: inherit;
	font-size: .72rem;
	font-weight: 850;
	cursor: pointer;
}
.nb-product-option-sheet__reset[hidden] { display: none; }
.nb-product-option-groups { display: grid; gap: 22px; }
.nb-product-option-group { display: grid; gap: 11px; padding: 2px; border-radius: 17px; }
.nb-product-option-group.has-error { padding: 11px; background: #fff3f2; box-shadow: inset 0 0 0 1px rgba(184,55,64,.18); }
.nb-product-option-group h3 { margin: 0; color: var(--nb-color-text, #3b3b31); font-size: .88rem; }
.nb-product-option-group.has-selection h3::after { margin-inline-start: 7px; color: #438158; content: "✓"; }
.nb-product-option-group__choices { display: flex; flex-wrap: wrap; gap: 9px; }
.nb-product-option-chip {
	position: relative;
	min-height: 46px;
	padding: 9px 15px;
	border: 1px solid var(--nb-product-border);
	border-radius: 15px;
	background: #fff;
	color: var(--nb-color-text, #3b3b31);
	font: inherit;
	font-size: .82rem;
	font-weight: 820;
	cursor: pointer;
	transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.nb-product-option-chip:active:not(:disabled) { transform: scale(.98); }
.nb-product-option-chip:focus-visible { outline: 3px solid color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 44%, transparent); outline-offset: 2px; }
.nb-product-option-chip.is-selected {
	padding-inline-end: 36px;
	border-color: var(--nb-color-primary-dark, #a47a86);
	background: color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 19%, #fff);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 16%, transparent);
}
.nb-product-option-chip.is-selected::after {
	position: absolute;
	inset-inline-end: 10px;
	inset-block-start: 50%;
	display: grid;
	width: 19px;
	height: 19px;
	place-items: center;
	border-radius: 50%;
	background: var(--nb-color-primary-dark, #a47a86);
	color: #fff;
	font-size: 11px;
	content: "✓";
	transform: translateY(-50%);
}
.nb-product-option-chip:disabled { opacity: .46; cursor: not-allowed; }
.nb-product-option-sheet__selection { display: grid; min-width: 0; gap: 2px; }
.nb-product-option-sheet__selection span { overflow: hidden; color: var(--nb-product-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.nb-product-option-sheet__selection strong { overflow: hidden; font-size: .9rem; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 899px) {
	.nb-product-page {
		--nb-product-dock-gap: 6px;
		--nb-product-dock-height: 116px;
		--nb-product-cta-height: var(--nb-product-dock-height);
	}

	.nb-product-desktop-actions { display: none !important; }
	body.nb-product-sticky-ready .nb-product-desktop-purchase {
		position: absolute !important;
		inset-inline-start: -10000px !important;
		inline-size: 1px !important;
		block-size: 1px !important;
		overflow: hidden !important;
		clip-path: inset(50%) !important;
		white-space: nowrap !important;
	}

	body.nb-product-app-mode .nb-bottom-nav--product {
		position: fixed !important;
		z-index: 1210 !important;
		inset-inline: 0 !important;
		inset-block-end: 0 !important;
		display: grid !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
	body.nb-product-app-mode .nb-site-footer {
		display: block !important;
		visibility: visible !important;
		margin-block-start: 26px;
		padding-block-end: calc(var(--nb-product-dock-height) + var(--nb-bottom-nav-height, 66px) + env(safe-area-inset-bottom) + 36px);
	}
	body.nb-product-app-mode .nb-product-main {
		padding-block-end: calc(var(--nb-product-dock-height) + var(--nb-bottom-nav-height, 66px) + env(safe-area-inset-bottom) + 36px);
	}

	body.nb-product-sticky-ready .nb-product-sticky-cta {
		position: fixed;
		z-index: 1200;
		left: 50%;
		bottom: calc(var(--nb-bottom-nav-height, 66px) + env(safe-area-inset-bottom) + var(--nb-product-dock-gap));
		display: grid;
		width: min(calc(100% - 16px), 640px);
		min-width: 0;
		gap: 6px;
		padding: 6px;
		border: 1px solid color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 22%, transparent);
		border-radius: 19px;
		background: rgba(255,255,255,.97);
		box-shadow: 0 -12px 42px rgba(48,34,39,.18), 0 10px 28px rgba(48,34,39,.1);
		backdrop-filter: blur(24px) saturate(145%);
		-webkit-backdrop-filter: blur(24px) saturate(145%);
		transform: translateX(-50%);
	}

	.nb-product-sticky-cta__controls,
	.nb-product-sticky-cta__checkout {
		display: grid;
		min-width: 0;
		align-items: stretch;
		gap: 6px;
	}
	.nb-product-sticky-cta__controls { grid-template-columns: minmax(0,1fr) 116px; }
	.nb-product-sticky-cta__checkout { grid-template-columns: minmax(116px,.82fr) minmax(154px,1.18fr); }
	.nb-product-sticky-cta.is-sold-individually .nb-product-sticky-cta__controls { grid-template-columns: minmax(0,1fr); }

	.nb-product-sticky-cta__model {
		display: grid;
		grid-template-columns: 32px minmax(0,1fr) 14px;
		min-width: 0;
		min-height: 48px;
		align-items: center;
		gap: 6px;
		padding: 5px 8px;
		border: 1px solid color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 18%, var(--nb-product-border));
		border-radius: 14px;
		background: linear-gradient(145deg, #fff 10%, color-mix(in srgb, var(--nb-color-bg, #faf6f1) 62%, #fff));
		color: var(--nb-color-text, #3b3b31);
		font: inherit;
		text-align: start;
		box-shadow: 0 6px 18px rgba(52,39,43,.055);
		cursor: pointer;
	}
	.nb-product-sticky-cta__model--simple { cursor: default; }
	.nb-product-sticky-cta__model:not(.nb-product-sticky-cta__model--simple):active { transform: scale(.985); }
	.nb-product-sticky-cta__model:focus-visible { outline: 3px solid color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 42%, transparent); outline-offset: 1px; }
	.nb-product-sticky-cta__model-icon {
		display: grid;
		width: 32px;
		height: 32px;
		place-items: center;
		border-radius: 10px;
		background: color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 18%, #fff);
		color: var(--nb-color-primary-dark, #a47a86);
		box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 10%, transparent);
	}
	.nb-product-sticky-cta__model-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
	.nb-product-sticky-cta__model-copy { display: grid; min-width: 0; gap: 0; }
	.nb-product-sticky-cta__model small { color: var(--nb-product-muted); font-size: 9px; font-weight: 760; line-height: 1.25; }
	.nb-product-sticky-cta__model strong { overflow: hidden; font-size: 11px; font-weight: 920; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
	.nb-product-sticky-cta__model i { color: var(--nb-product-muted); font-size: 17px; font-style: normal; }
	.nb-product-sticky-cta.has-selection .nb-product-sticky-cta__model { border-color: color-mix(in srgb, #4c9562 35%, var(--nb-product-border)); background: linear-gradient(145deg,#fff,color-mix(in srgb,#dff1e4 46%,#fff)); }

	.nb-product-sticky-cta__quantity-wrap { display: block; min-width: 0; align-self: stretch; }
	.nb-product-sticky-cta__quantity-wrap[hidden],
	.nb-product-sticky-cta__quantity-wrap.is-hidden { display: none !important; }
	.nb-product-sticky-cta__quantity-wrap > small { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); white-space: nowrap; }
	.nb-product-sticky-cta__quantity {
		display: grid;
		grid-template-columns: 38px 40px 38px;
		width: 116px;
		height: 48px;
		align-items: stretch;
		overflow: hidden;
		border: 1px solid color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 20%, var(--nb-product-border));
		border-radius: 14px;
		background: #fff;
		box-shadow: 0 6px 18px rgba(52,39,43,.065);
		direction: ltr;
		transition: opacity 150ms ease, filter 150ms ease;
	}
	.nb-product-sticky-cta__quantity-wrap.is-pending .nb-product-sticky-cta__quantity { opacity: .55; filter: grayscale(.25); }
	.nb-product-sticky-cta__quantity button {
		display: grid;
		width: 38px;
		height: 46px;
		place-items: center;
		padding: 0;
		border: 0;
		border-radius: 0;
		font: inherit;
		font-size: 20px;
		font-weight: 900;
		line-height: 1;
		box-shadow: none;
		cursor: pointer;
	}
	.nb-product-sticky-cta__quantity [data-nb-sticky-qty-minus] { background: color-mix(in srgb, var(--nb-color-surface, #e8dac8) 44%, #fff); color: var(--nb-color-text, #3b3b31); }
	.nb-product-sticky-cta__quantity [data-nb-sticky-qty-plus] { background: linear-gradient(145deg, var(--nb-color-primary, #cfa3a6), var(--nb-color-primary-dark, #a47a86)); color: #fff; }
	.nb-product-sticky-cta__quantity button:active:not(:disabled) { filter: brightness(.94); transform: scale(.95); }
	.nb-product-sticky-cta__quantity button:focus-visible { position: relative; z-index: 2; outline: 3px solid color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 45%, transparent); outline-offset: -3px; }
	.nb-product-sticky-cta__quantity button:disabled { opacity: .34; cursor: not-allowed; }
	.nb-product-sticky-cta__quantity input {
		width: 40px;
		height: 46px;
		padding: 0 2px;
		border: 0;
		border-inline: 1px solid var(--nb-product-border);
		border-radius: 0;
		background: #fff;
		color: var(--nb-color-text, #3b3b31);
		font: inherit;
		font-size: 13px;
		font-weight: 950;
		font-variant-numeric: tabular-nums;
		line-height: 1;
		text-align: center;
		-moz-appearance: textfield;
	}
	.nb-product-sticky-cta__quantity input::-webkit-outer-spin-button,
	.nb-product-sticky-cta__quantity input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
	.nb-product-sticky-cta__quantity input:focus { position: relative; z-index: 2; outline: 3px solid color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 42%, transparent); outline-offset: -3px; }

	.nb-product-sticky-cta__price {
		display: grid;
		grid-template-rows: 11px minmax(0,1fr);
		min-width: 0;
		height: 50px;
		min-height: 50px;
		max-height: 50px;
		align-content: center;
		overflow: hidden;
		gap: 1px;
		padding: 5px 8px;
		border: 1px solid color-mix(in srgb, var(--nb-color-accent, #d4af37) 24%, var(--nb-product-border));
		border-radius: 14px;
		background: linear-gradient(145deg, color-mix(in srgb, var(--nb-color-accent, #d4af37) 9%, #fff), #fff);
		box-shadow: 0 6px 18px rgba(52,39,43,.05);
		box-sizing: border-box;
	}
	.nb-product-sticky-cta__price > small { overflow: hidden; color: var(--nb-product-muted); font-size: 8.5px; font-weight: 760; line-height: 11px; text-overflow: ellipsis; white-space: nowrap; }
	.nb-product-sticky-cta__price > span { display: flex; min-width: 0; align-items: center; overflow: hidden; color: var(--nb-color-text, #3b3b31); font-size: clamp(9.6px, 2.55vw, 12px); font-weight: 950; line-height: 1; text-overflow: clip; white-space: nowrap; }
	.nb-product-sticky-cta__price .woocommerce-Price-amount,
	.nb-product-sticky-cta__price bdi { display: inline-flex; min-width: 0; align-items: baseline; gap: 2px; white-space: nowrap; }
	.nb-product-sticky-cta__price .woocommerce-Price-currencySymbol { flex: 0 0 auto; font-size: .72em; font-weight: 850; white-space: nowrap; }
	.nb-product-sticky-cta__price del { display: none; }
	.nb-product-sticky-cta__price ins { display: inline-flex; min-width: 0; text-decoration: none; white-space: nowrap; }

	.nb-product-sticky-cta__add {
		position: relative;
		display: grid;
		grid-template-columns: 32px minmax(0,1fr);
		width: 100%;
		min-width: 0;
		height: 50px;
		min-height: 50px;
		max-height: 50px;
		align-items: center;
		box-sizing: border-box;
		gap: 7px;
		padding: 5px 9px;
		border: 0;
		border-radius: 14px;
		background: linear-gradient(135deg, var(--nb-color-primary-dark, #a47a86), color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 72%, #3b3b31));
		color: #fff;
		font: inherit;
		box-shadow: 0 13px 28px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 32%, transparent);
		cursor: pointer;
		transition: transform 150ms ease, filter 150ms ease, box-shadow 150ms ease, background 150ms ease;
	}
	.nb-product-sticky-cta__add[data-state="select"] { background: linear-gradient(135deg, var(--nb-color-primary, #cfa3a6), var(--nb-color-primary-dark, #a47a86)); }
	.nb-product-sticky-cta__add[data-state="success"] { background: linear-gradient(135deg,#4f9a67,#35794e); }
	.nb-product-sticky-cta__add[data-state="unavailable"] { background: linear-gradient(135deg,#8d8588,#696366); }
	.nb-product-sticky-cta__add:not(:disabled):active { transform: translateY(1px) scale(.988); filter: brightness(.97); box-shadow: 0 8px 18px color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 25%, transparent); }
	.nb-product-sticky-cta__add:focus-visible { outline: 3px solid color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 48%, transparent); outline-offset: 2px; }
	.nb-product-sticky-cta__add:disabled { opacity: .58; box-shadow: none; cursor: not-allowed; }
	.nb-product-sticky-cta__add-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: rgba(255,255,255,.16); }
	.nb-product-sticky-cta__add-icon > span { display: none; }
	.nb-product-sticky-cta__add[data-state="select"] [data-nb-add-icon="select"],
	.nb-product-sticky-cta__add[data-state="add"] [data-nb-add-icon="add"],
	.nb-product-sticky-cta__add[data-state="adding"] [data-nb-add-icon="add"],
	.nb-product-sticky-cta__add[data-state="unavailable"] [data-nb-add-icon="add"],
	.nb-product-sticky-cta__add[data-state="success"] [data-nb-add-icon="success"] { display: grid; }
	.nb-product-sticky-cta__add-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
	.nb-product-sticky-cta__add-copy { display: grid; min-width: 0; gap: 0; text-align: start; }
	.nb-product-sticky-cta__add-copy strong { overflow: hidden; font-size: 11.5px; font-weight: 950; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
	.nb-product-sticky-cta__add-copy small { display: none; }
	.nb-product-sticky-cta__add-copy small[hidden] { display: none; }
	.nb-product-sticky-cta__add.is-loading { pointer-events: none; }
	.nb-product-sticky-cta__add.is-loading .nb-product-sticky-cta__add-icon { position: relative; }
	.nb-product-sticky-cta__add.is-loading .nb-product-sticky-cta__add-icon > span { display: none; }
	.nb-product-sticky-cta__add.is-loading .nb-product-sticky-cta__add-icon::after {
		width: 20px;
		height: 20px;
		border: 2px solid rgba(255,255,255,.42);
		border-block-start-color: #fff;
		border-radius: 50%;
		content: "";
		animation: nb-product-spin .65s linear infinite;
	}

	.nb-product-sticky-cta__status {
		grid-column: 1 / -1;
		margin: 0;
		padding: 7px 10px;
		border: 1px solid color-mix(in srgb, #c84c57 18%, transparent);
		border-radius: 12px;
		background: #fff2f1;
		color: #9d3037;
		font-size: 10px;
		font-weight: 800;
		line-height: 1.55;
	}
	.nb-product-sticky-cta__status[hidden] { display: none; }

	.nb-product-added-notice { z-index: 1230; inset-block-end: calc(var(--nb-bottom-nav-height, 68px) + var(--nb-product-dock-height, 116px) + env(safe-area-inset-bottom) + var(--nb-product-dock-gap, 6px) + var(--nb-product-dock-gap, 6px)); }
	.nb-product-page .nb-sheet-backdrop { z-index: 1400; }
	.nb-product-page .nb-cart-panel { z-index: 1410; }
	.nb-product-sheet-backdrop { z-index: 1290; }
	.nb-product-option-sheet { z-index: 1300; max-height: min(84dvh, 740px); border-radius: 28px 28px 0 0; }
	.nb-product-option-sheet__header { padding: 17px 16px 13px; }
	.nb-product-option-sheet__body { padding: 16px 18px 22px; overflow: auto; }
	.nb-product-option-sheet__footer {
		display: grid;
		grid-template-columns: minmax(0,1fr) minmax(142px,.72fr);
		align-items: center;
		gap: 10px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}
}

@media (max-width: 359px) {
	body.nb-product-sticky-ready .nb-product-sticky-cta { width: calc(100% - 10px); gap: 5px; padding: 5px; border-radius: 17px; }
	.nb-product-sticky-cta__controls { grid-template-columns: minmax(0,1fr) 112px; gap: 5px; }
	.nb-product-sticky-cta__checkout { grid-template-columns: 112px minmax(0,1fr); gap: 5px; }
	.nb-product-sticky-cta__quantity { grid-template-columns: 36px 40px 36px; width: 112px; }
	.nb-product-sticky-cta__quantity button { width: 36px; }
	.nb-product-sticky-cta__quantity input { width: 40px; }
	.nb-product-sticky-cta__model { grid-template-columns: 30px minmax(0,1fr) 12px; gap: 5px; padding-inline: 7px; }
	.nb-product-sticky-cta__model-icon { width: 30px; height: 30px; }
	.nb-product-sticky-cta__model strong { font-size: 10.5px; }
	.nb-product-sticky-cta__price { padding-inline: 7px; }
	.nb-product-sticky-cta__price > span { font-size: 9.6px; }
	.nb-product-sticky-cta__add { grid-template-columns: 30px minmax(0,1fr); gap: 6px; padding-inline: 8px; }
	.nb-product-sticky-cta__add-icon { width: 30px; height: 30px; }
	.nb-product-sticky-cta__add-copy strong { font-size: 11px; }
	.nb-product-sticky-cta__add-copy small { display: none; }
	.nb-product-option-sheet__footer { grid-template-columns: 1fr; }
}


@media (max-width: 359px) {
	.nb-product-added-notice__copy span { display: none; }
	.nb-product-added-notice__actions .nb-button { padding-inline: 7px; font-size: .66rem; }
}
@media (prefers-reduced-motion: reduce) {
	.nb-product-sticky-cta__add,
	.nb-product-sticky-cta__model,
	.nb-product-sticky-cta__quantity,
	.nb-product-option-chip { transition: none !important; }
}


/* Phase 3: visual options, invalid combinations and deterministic purchase states. */
.nb-variation-swatch,
.nb-product-option-chip { display: inline-flex; align-items: center; justify-content: center; gap: 9px; }
.nb-product-option-visual { position: relative; display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--nb-color-text, #3b3b31) 16%, transparent); border-radius: 10px; background: #fff; }
.nb-product-option-visual.is-color::before { width: 20px; height: 20px; border: 1px solid rgba(0,0,0,.1); border-radius: 7px; background: var(--nb-option-color, transparent); box-shadow: inset 0 0 0 1px rgba(255,255,255,.34); content: ""; }
.nb-product-option-visual.is-image img { width: 100%; height: 100%; object-fit: cover; }
.nb-product-option-label { min-width: 0; line-height: 1.45; }
.nb-variation-swatch.is-unavailable,
.nb-product-option-chip.is-unavailable { border-style: dashed; background: color-mix(in srgb, #8c8588 7%, #fff); color: color-mix(in srgb, var(--nb-color-text, #3b3b31) 52%, transparent); }
.nb-variation-swatch.is-unavailable::after,
.nb-product-option-chip.is-unavailable::before { position: absolute; inset: 50% 8px auto; height: 1px; background: currentColor; content: ""; opacity: .44; transform: rotate(-8deg); }
.nb-variation-swatch { position: relative; }
.nb-product-option-group__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nb-product-option-group__head > span { color: var(--nb-product-muted); font-size: .69rem; font-weight: 720; line-height: 1.5; text-align: end; }
.nb-product-option-group.has-selection .nb-product-option-group__head > span { color: #438158; }
.nb-product-option-sheet__selection small { display: block; overflow: hidden; margin-block-start: 2px; color: var(--nb-product-muted); font-size: .66rem; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.nb-product-option-sheet__selection small[data-state="add"] { color: #39744d; }
.nb-product-option-sheet__selection small[data-state="invalid"],
.nb-product-option-sheet__selection small[data-state="unavailable"] { color: #a23741; }
.nb-product-option-sheet__selection small[data-state="checking"] { color: var(--nb-color-primary-dark, #a47a86); }
.nb-product-sticky-cta__add[data-state="invalid"] { background: linear-gradient(135deg,#b06b72,#855258); }
.nb-product-sticky-cta__add[data-state="checking"] { background: linear-gradient(135deg,#9a8790,#74636b); }
.nb-product-sticky-cta__add[data-state="invalid"] [data-nb-add-icon="select"],
.nb-product-sticky-cta__add[data-state="unavailable"] [data-nb-add-icon="select"] { display: grid; }
.nb-product-sticky-cta__add[data-state="invalid"] [data-nb-add-icon="add"],
.nb-product-sticky-cta__add[data-state="unavailable"] [data-nb-add-icon="add"] { display: none; }
.nb-product-sticky-cta__add[data-state="checking"] .nb-product-sticky-cta__add-icon { position: relative; }
.nb-product-sticky-cta__add[data-state="checking"] .nb-product-sticky-cta__add-icon > span { display: none; }
.nb-product-sticky-cta__add[data-state="checking"] .nb-product-sticky-cta__add-icon::after { width: 20px; height: 20px; border: 2px solid rgba(255,255,255,.42); border-block-start-color: #fff; border-radius: 50%; content: ""; animation: nb-product-spin .65s linear infinite; }
.nb-product-sticky-cta.has-invalid-selection .nb-product-sticky-cta__model { border-color: color-mix(in srgb,#b64c56 35%,var(--nb-product-border)); background: linear-gradient(145deg,#fff,#fff2f1); }
@media (max-width: 899px) {
  .nb-product-option-chip { min-height: 50px; }
  .nb-product-option-chip:has(.nb-product-option-visual) { padding: 7px 12px; }
}


/* Phase 4: deterministic quantity and add-to-cart feedback. */
.nb-product-sticky-cta__status[data-state="info"] {
	border-color: color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 22%, transparent);
	background: color-mix(in srgb, var(--nb-color-primary, #cfa3a6) 10%, #fff);
	color: color-mix(in srgb, var(--nb-color-primary-dark, #a47a86) 82%, #2f2730);
}
.nb-product-sticky-cta__status[data-state="warning"] {
	border-color: color-mix(in srgb, #d29a30 28%, transparent);
	background: #fff8e9;
	color: #855f17;
}
.nb-product-sticky-cta__quantity input:invalid {
	background: #fff6f4;
	color: #9d3037;
}
.nb-product-sticky-cta__quantity-wrap[aria-disabled="true"] .nb-product-sticky-cta__quantity {
	box-shadow: none;
}


/* 2.3.4 RC3 — exact compact action geometry and balanced success notice spacing. */
@media (max-width: 899px) {
  .nb-product-sticky-cta__add,
  .nb-product-sticky-cta__add[data-state="select"],
  .nb-product-sticky-cta__add[data-state="checking"],
  .nb-product-sticky-cta__add[data-state="invalid"],
  .nb-product-sticky-cta__add[data-state="unavailable"],
  .nb-product-sticky-cta__add[data-state="add"],
  .nb-product-sticky-cta__add[data-state="adding"],
  .nb-product-sticky-cta__add[data-state="success"] {
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    padding-block: 0;
    box-sizing: border-box;
    align-self: stretch;
  }
  .nb-product-option-sheet__footer [data-nb-product-selection-apply] {
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    padding-block: 0;
    box-sizing: border-box;
  }
}

/* 2.8.2 — viewport-level dock: direct body child, independent from page wrappers. */
@media (max-width:899px){
	body.nb-product-page > .nb-product-sticky-cta{
		position:fixed!important;
		z-index:1200!important;
		inset-block-start:auto!important;
		inset-block-end:calc(var(--nb-bottom-nav-height,66px) + env(safe-area-inset-bottom,0px) + var(--nb-product-dock-gap,6px))!important;
		inset-inline:8px!important;
		display:grid!important;
		width:auto!important;
		max-width:624px!important;
		min-width:0!important;
		margin-inline:auto!important;
		transform:none!important;
		translate:none!important;
		contain:none!important;
		filter:none!important;
		perspective:none!important;
		box-sizing:border-box!important;
		isolation:isolate;
	}
	body.nb-product-page .nb-product-desktop-purchase{
		position:absolute!important;
		inset-inline-start:-10000px!important;
		inline-size:1px!important;
		block-size:1px!important;
		overflow:hidden!important;
		clip-path:inset(50%)!important;
		white-space:nowrap!important;
	}
}
@media (min-width:900px){
	body.nb-product-page > .nb-product-sticky-cta{display:none!important;}
}

/* RC75: category-aware structured product specifications. */
.nb-product-specification-card {
	border: 1px solid var(--nb-border, #e6e8ec);
	border-radius: var(--nb-radius-lg, 20px);
	background: var(--nb-surface, #fff);
	overflow: hidden;
}
.nb-product-specification-card__profile {
	margin: 0;
	padding: 14px 18px;
	font-weight: 800;
	background: color-mix(in srgb, var(--nb-primary, #2155d9) 7%, #fff);
	border-bottom: 1px solid var(--nb-border, #e6e8ec);
}
.nb-product-specification-grid { margin: 0; }
.nb-product-specification-row {
	display: grid;
	grid-template-columns: minmax(140px, .38fr) minmax(0, 1fr);
	gap: 18px;
	padding: 13px 18px;
	border-bottom: 1px solid var(--nb-border, #eef0f3);
}
.nb-product-specification-row:last-child { border-bottom: 0; }
.nb-product-specification-row dt { font-weight: 700; color: var(--nb-text-muted, #5e6673); }
.nb-product-specification-row dd { margin: 0; color: var(--nb-text, #17191d); line-height: 1.8; }
@media (max-width: 640px) {
	.nb-product-specification-row { grid-template-columns: 1fr; gap: 4px; padding: 12px 14px; }
}
